Global Namin-g in Distributed systems
|
|
- Loren Perkins
- 5 years ago
- Views:
Transcription
1 Global Namin-g in Distributed systems Ronald Curtis and Larry wittie State University of New York at Stony Brook This Unix-based global naming system, developed for debugging distributed programs, provides concise notation for accessing networks, tasks, modules, data, and files. BugNet1 is a debugging system for distributed applications software. Although developed for Modula-22 programs and written in that language, BugNet techniques apply to other languages. In particular, its uniform naming mechanism can be used for many languages under many distributed operating systems. One goal of our research has been to ease the task of porting the debugging system by making the naming scheme independent of the notation of any single operating system or language. Although originally intended for use within a distributed system debugging tool, the notation can provide global naming from programs. A consistent, portable mechanism for naming allows a single, user-level name space interface to exist on multiple independent systems or on systems that support multiple languages. BugNet is part of the Micros3'4 project. Micros is a distributed operating system to control large network computers consisting of thousands of processing nodes, each of which has direct access to at least two of a plexus of buses. The current configuration includes LSI-1 1 and M68000 nodes, each connected to two Ethernets. Vax nodes will soon be added to the network. Unix-based approach File names in Unix. The naming mechanism developed for distributed systems is based on file specifications in Unix. 5 The Unix system provides a hierarchical directory structure with files at the tree leaves and a syntax that allows references to all items in the tree. A directory can include other directories and files, for example, paper in the sample structure given in Figure 1. A special directory, called root, at the top of the tree structure has a nil name; an initial slash (/) refers to this directory. At any time, the user is in a current, or working, directory from which he can refer to local items directly. When a user logs into a Unix system, the initial working directory is the default, or home, directory. The user can refer to this directory with a tilde (-); others would use the tilde plus the user's ID (- ID). A slash can be concatenated after any directory name; it is required when other names follow. The user can refer to other items by giving path names. A full path name starts at the root and lists all directories down to the desired item- /uh/micros/curtis/paper/conf/ Demo, for example. A list of directories separated by slashes is used to access items below the current directory. For example, the file Demo can be referenced from the home directory curtis by paper/conf/demo, from the paper directory by conf/ Demo, and from the conf directory as Demo. Partial names can start at a user's home directory. For example, -curtis/paper/conf/demo can be used from any account, but -/paper/ conf/demo can be used only from the curtis account. Unix provides a mechanism (../) for accessing levels above the current directory. If the current directory is /uh/micros/curtis/paper/letters, the Demo file can be accessed by using../conf/demo. Multiple../s can be /84/0700/0076$ IEEE
2 concatenated to access items at higher levels. Unix provides a simple notation to access items at the current level, at the system level, at the user's home level, at lower levels, and at higher levels. Naming in distributed systems. In traditional languages, naming is weak for nonlocal items. Block structured languages make it difficult to develop a code unit that can access global task data from any location in a large system. The problem arises because an item of data with the same name might exist in an enclosing unit, effectively barring access to a more global item. One goal of this research is to provide a single, unified mechanism for accessing local, nearby, and global items. Distributed systems complicate matters by adding network and task-level names. Names appear at many levels in distributed systems, but serve three basic functions. First, names are required for access to parts of the control structure, such as routines in the operating system or procedures within a distributed program. Statements within a single code component might need access to one another. Second, names are required for access to elements of the data structures of a distributed application. Since accesses to shared data are common in distributed programs, a simple mechanism should be available to carry them out. Third, names are required to access systems in external networks. Related research. A similar uniform notation is being developed for naming in Basix,6 a Unix-based language. Basix is being developed for the Newcastle Connection,7 a hierarchical connection of Unix systems. It will be an object-oriented interactive language with a programming support environment. Basix has a concise notation for local objects (.), parameters ($), previous level (..), and the directory of a program (/). Compared with Basix, BugNet notation provides greater ease in naming at multiple levels in a distributed system. Unlike Basix, BugNet local names do not require a prefix symbol. Since parameters are treated as local names, they require no special notation. The BugNet notation allows access to multiple context levels: network, task, module, data, and file. There is a concise notation for three special contexts at each level. Another BugNet goal is to provide a notation that can be applied to many languages running under many different operating systems. Compared with Basix, BugNet notation provides greater ease in naming multiple levels in a distributed system. BugNet naming mechanism Naming is hierarchical in many distributed systems. There is always a top system level. Many system levels can be above the top user level, and the user can have many lower levels. A variation on the Unix file name convention for naming entities can be used within distributed systems. Within this variation, there is always a local context for any computation. It is standard to refer to items local to the current context by names alone. A slash denotes the highest possible bin/ uh/ Figure 1. A Unix directory structure. vlsi/ micros/ curtis/calendar debugger/ mod2/ paper/ HEADER WORD letters/ thesis/ conf/ Demo RTOS July
3 Table 1. Structural isomorphisms in distributed systems. ROOT HOME GROUP OF TYPE NAME ELEMENT ELEMENT ELEMENTS ELEMENT SYMBOL NETWORK HIGHEST LOCAL NETWORK SYSTEM n NETWORK NETWORK SYSTEM SHELL PROCESS t MODULE PROCESS PROCESS MODULE PROCEDURE m FILE ROOT HOME FILES f DATA SYSTEM SHELL DATA d Table 2. Structural isomorphism between tasks and Unix files. SYSTEM SHELL PROCESS ROOT HOME FILE Table 3. Structural isomorphism between modules and Unix files. PROCESS ROOT PROCESS HOME MODULE PROCEDURE FILE 78 entity of a complex name, or "name path." A tilde refers to the user's default level. The../ notation provides access to levels above the current context. Parameters for BugNet commands have different types, such as task and data. Normally, names and the special context symbols (-, /, and..) are interpreted in the context of the parameter type. If names and context symbols are to be used at other levels in composite path names, the items must be prefixed by a type indicator. For example, the name [t]/ refers to the top system task. Individual type indicators are explained below and are summarized in Table 1. A type prefix is often needed to clarify root and home contexts, since they are available for several types and component levels. However, an explicit type indicator is not needed for unique names within a known context, since local name searches are performed. Naming for control structures We assume a distributed operating system supports task groups. A task group consists of multiple tasks, which might run on separate processors. A task consists of multiple modules running on the same processor. Under this system, the user should not have to specify physical connections among processors. Within the system, control structures can be referenced on the task or module level. Task level. Debugging in a distributed system requires a global naming mechanism for access to the tasks and processes. Table 2 gives the naming correspondence between Unix files and task structures. The root maps to the operating system task; the home directory maps to the highest-level task for the user. An operating system consists of a task that provides many subtasks, such as file and communication servers. The operating system can start tasks that interact with user terminals or execute user programs. The shell task that interprets commands to start user programs corresponds to the home directory. The user or the program can start subsidiary tasks, which finally resolve into processes at the leaves of the task control tree. Under this scheme, a task is accessed by its name or by [t] followed by its name. The name with the prefix [t]/ refers to a task created by the operating system task. For example, the system task filer is named [t]/filer. A nested task is named by prefixing the names of its ancestors, which are separated by slashes. For example, a task open in the system filer task is named [ti/filer/open. Any task has a full path name, starting from the nil named system task I. The user's shell task is accessed as [t]. Task groups decended from it can be accessed by prefixing the name with [ti-/. For example, if task donow is created by the user, it can be
4 referenced within any task descended from the user's shell as [t]-/donow. A task can refer to its parent task as [t]../. The notation can refer to sibling tasks under the same parent. Tasks defined on even earlier levels are accessed by repeating the../ portion. The task notation allows references to system tasks (/), nearby tasks (../) and shell tasks (-/). Module level. For naming purposes, any program unit that allows only one locus of execution at a time is a module. We assume that program units have unique names, which can be composites. For example, there might be several started instances of a Modula-2 process. The composite name for each instance would consist of the process type name plus an index. A module can be a process, a procedure, or a scoping unit such as a module in Modula-2. As Table 3 shows, module names also form a hierarchy. For modules, the containing process corresponds to both the root and home for files. Specifying a procedure in another task requires concatenating task and module notations. For example, the procedure dowork-in the process supervisor, in the task now, spawned by an independent user task donow, started from the user shell task group for account test-can be accessed by [t] -test/donow/now/im]supervisor/dowork, a path name that starts at the shell task. If supervisor is a unique name in now, the module indicator can be eliminated, giving [t] -test/donow/now/supervisor/dowork. Naming for data structures and files There are two reference levels for data structures within a system. Users can access data items by their location in a task tree or in a module. In both cases, the name is created by concatenating [d] and the data name to the name of a task or module. Most data references are to local data, data in an enclosing unit, or to global data. Local data can be accessed directly. Except for a final entry that maps data to files, the structural isomorphism for naming data items is the same as that for naming tasks (shown in Table 3). The mechanism for referring to data in a task is similar to that for referring to a task-a list of task names separated by slashes. The only difference is that the data type indicator, [d], is used before the data name, which ends the sequence. The abbreviations for root and home tasks are still used. For example, if the highest-level system task provides a data item numberofusers, it can be referenced as [t]/[d] numberofusers. Since the task hierarchy forms the upper part of the data hierarchy, [d]/numberofusers is equivalent. The mechanism for naming files is identical to that of Unix. Similarly, It]-! allows tasks to access data in the shell task that creates them. For example, if a shell task has a data item answerfound, all descendents of the shell task can refer to the data as [t]-/[d]answerfound. Similarly, [t]../[d] can be used by a group of subtasks to refer to data in the task directly above them. References to data within modules are similar. One can refer to data contained in an enclosing module by using [m]../ before the local name. For example, a variable xflag in an enclosing procedure would be referenced by [m]../[d]xflag. Data global to the process can be referenced by using [m]-/. For example, reference for the global flag devicebusy would be [m]-/devicebusy. The module using the data need not know the name of the enclosing process. This notation aids the development of module libraries. A procedure can access the data item busyflag in process devo under shell task temp by [t] -temp/[m] devo/[d]busyflag. Since good style dictates that the same name not be used for separate task, process, and data items, the shorter name [t] -temp/devo/busyflag-is usually adequate. The mechanism for naming files is identical to that provided by Unix. The file type indicator [f] allows construction of composite names involving files. For example, [t]test/ [f]demo provides access to the file demo in the current working directory of the task test. Naming for network structure Today, many systems are parts of networks. The BugNet notation can be extended to indicate networks by means of the symbol [n]. A network nl is accessed from any system connected to it as [n]nl. The notation is similar to that of the Xerox Clearinghouse,8 an agent for supporting distributed naming on networks. Systems connected to only one external network can access it as In]-/. In general, network interconnections form a graph instead of a tree. By starting at [n]-/, a connection path to another network can be given. For example, assuming the interconnections in Table 4, a system within nl can access node n3 by [n]-/n2/n3, [n]-/n4/n3, [n]nl/n2/ n3, or [n]nl/n4/n3. In hierarchical networks, [n]/ refers to the highest-level network. The notation developed for tasks and modules can be concatenated to the network notation for interactions among systems. For example, the open task of the filer server on network nl can be accessed from n3 as [n]n3/n2/nl/it]/filer/open. Table 4. Network interconnections. nl n2 n3 n4 nl YES YES NO YES n2 YES YES YES YES n3 NO YES YES YES n4 YES YES YES YES July
5 Extensions Our notation allows any code unit to name any data or code item in the system. An operating system should not provide this freedom universally, though a system debugger needs such flexibility. However, a debugger operating on behalf of a specific user should be limited to accessing items in the name space of that user. Protection mechanism. We are investigating a protection mechanism based on the Unix method of read, write, and execute permissions for files. It will allow assignment of access privileges at any level in the network-task-module-data tree. Naming mechanism. We are also studying several extensions to the naming mechanism. Some path names might become too long. The BugNet debugger allows the user interactively to change the current context, thus shortening names. The command is similar to the Unix change directory (cd) command. In many instances, however, it is impossible to find a context in which several important entities in different task groups all have short names. An abbreviation method is needed. The notation should also be able to specify individual statements within control structures, to allow debugging changes to force transfers of control. Names for statements can be qualified by the names of the routines and loops in which they are embedded during execution. The../ notation can provide a single mechanism for leaving routines and loops, without requiring GOTOS or labels. Exception-handling routines can use this mechanism to access items available only in the original exception context. Acknowledgments This work has been supported by National Aeronautics and Space Administration grant NAG-1-249, Army Research Office contract DAAG K-0103, an external research grant from Digital Equipment Corporation, and National Science Foundation equipment grants MCS and MCS References 1. R. Curtis and L. Wittie, "BugNet: A Debugging System for Parallel Programming Environments," Proc. IEEE Third Int'l Conf. Distributed Computer Systems, Oct. 1982, pp N. Wirth, Programming in Modula-2, 2nd edition, Springer-Verlag, New York, L. Wittie and A. van Tilborg, "Micros, A Distributed Operating System for Micronet, A Reconfigurable Network Computer," IEEE Trans. Computers, Vol. C-29, No. 12, Dec. 1980, pp L. Wittie and A. van Tilborg, "Operating Systems for the Micronet Network Computer," IEEE Micro, Vol. 3, No. 2, Apr. 1983, pp Ronald S. Curtis is working toward a PhD in the Computer Science Department of the State University of New York at Stony Brook. His research interests include distributed debugging, distributed programming languages, and software development support environments. From 1979 to 1983, Curtis was chairman of the Computer Science Department at Canisius College, Buffalo, NY. Curtis received the BA degree in mathematics from Keene State College in 1972 and a MSc degree in mathematics from the University of New Hampshire in He is a member of the IEEE and the Computer Society, ACM, and Kappa Delta Pi. 5. D. Ritchie and K. Thompson, "The Unix Time-Sharing System," Comm. ACM, Vol. 17, No. 7, July 1974, pp I. Lima et al., "Decentralized Control Flow Based on Unix," Symp. Programming Language Issues Software Systems, SigPlan Notices, Vol. 18, No. 6, June 1983, pp D. Brownbridge et al., "The Newcastle Connection or Unixes of the World Unite!" Software-Practice & Experience, Vol. 12, No. 12, Dec. 1982, pp D. Oppen and Y. Dalal, The Clearinghouse: A Decentralized Agent for Locating Named Objects in a Distributed Environment, Xerox technical report OPD-T8103, Palo Alto, Calif., Larry D. Wittie is an associate professor in the Computer Science Department of the State University of New York at Stony Brook and previously taught at Purdue and at SUNY/Buffalo. He is interested in the organization of large distributed systems, including portable operating systems and debugging systems for network computers. Wittie received his PhD degree in computer science from the University of Wisconsin at Madison in He is a member of IEEE, ACM, the Society for Neuroscience, and Sigma Xi. The authors' address is Computer Science Department, SUNY at Stony Brook, Stony Brook, NY
Breakpoints and Halting in Distributed Programs
1 Breakpoints and Halting in Distributed Programs Barton P. Miller Jong-Deok Choi Computer Sciences Department University of Wisconsin-Madison 1210 W. Dayton Street Madison, Wisconsin 53706 Abstract Interactive
More informationA portable Modula-2 operating system: SAM2S
A portable Modula-2 operating system: SAM2S by LARRY D. WITIIE and ARIEL J. FRANK State University of New York at Stony Brook Stony Brook, New York ABSTRACT The Stand-Alone Modula-2 System (SAM2S) is a
More informationChapter Two. Lesson A. Objectives. Exploring the UNIX File System and File Security. Understanding Files and Directories
Chapter Two Exploring the UNIX File System and File Security Lesson A Understanding Files and Directories 2 Objectives Discuss and explain the UNIX file system Define a UNIX file system partition Use the
More informationCSE 214 Computer Science II Introduction to Tree
CSE 214 Computer Science II Introduction to Tree Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu http://www3.cs.stonybrook.edu/~cse214/sec02/ Tree Tree is a non-linear
More informationWhen Java technology burst onto the Internet scene in 1995,
MOBILE CODE SECURITY SECURE JAVA CLASS LOADING The class loading mechanism, LI GONG Sun Microsystems central to Java, plays a key role in JDK 1.2 by enabling When Java technology burst onto the Internet
More informationStack effect calculus with typed wildcards, polymorphism and inheritance. Abstract
Stack effect calculus with typed wildcards, polymorphism and inheritance Jaanus Pöial University of Tartu, Estonia Abstract In early 1990s author introduced a formal stack effect calculus for verification
More informationECMA-119. Volume and File Structure of CDROM for Information Interchange. 3 rd Edition / December Reference number ECMA-123:2009
ECMA-119 3 rd Edition / December 2017 Volume and File Structure of CDROM for Information Interchange Reference number ECMA-123:2009 Ecma International 2009 COPYRIGHT PROTECTED DOCUMENT Ecma International
More informationHigh Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore
High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore Module No # 09 Lecture No # 40 This is lecture forty of the course on
More informationSpeed-up of Parallel Processing of Divisible Loads on k-dimensional Meshes and Tori
The Computer Journal, 46(6, c British Computer Society 2003; all rights reserved Speed-up of Parallel Processing of Divisible Loads on k-dimensional Meshes Tori KEQIN LI Department of Computer Science,
More informationUtilizing a Common Language as a Generative Software Reuse Tool
Utilizing a Common Language as a Generative Software Reuse Tool Chris Henry and Stanislaw Jarzabek Department of Computer Science School of Computing, National University of Singapore 3 Science Drive,
More informationExperiment no 4 Study of Class Diagram in Rational Rose
Experiment no 4 Study of Class Diagram in Rational Rose Objective-: To studyclass Diagram in Rational Rose. References-: www.developer.com The Unified Modeling Language User Guide by Grady Booch Mastering
More informationImproving the Granularity of Access Control for Windows 2000
Improving the Granularity of Access Control for Windows 2000 MICHAEL M. SWIFT and ANNE HOPKINS University of Washington and PETER BRUNDRETT, CLIFF VAN DYKE, PRAERIT GARG, SHANNON CHAN, MARIO GOERTZEL,
More informationAPPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.
APPLICATION LAYER : DNS, HTTP, E-mail, SMTP, Telnet, FTP, Security-PGP-SSH. To identify an entity, the Internet used the IP address, which uniquely identifies the connection of a host to the Internet.
More information5/8/2012. Creating and Changing Directories Chapter 7
Creating and Changing Directories Chapter 7 Types of files File systems concepts Using directories to create order. Managing files in directories. Using pathnames to manage files in directories. Managing
More informationOntological Modeling: Part 2
Ontological Modeling: Part 2 Terry Halpin LogicBlox This is the second in a series of articles on ontology-based approaches to modeling. The main focus is on popular ontology languages proposed for the
More informationLanguage-Based Information- Flow Security
Language-Based Information- Flow Security Andrei Sabelfeld Andrew C. Myers Presented by Shiyi Wei About the paper Literature review Information flow security Static program analysis to enforce information-flow
More informationIntroduction to Network Operating Systems
File Systems In a general purpose operating system the local file system provides A naming convention A mechanism for allocating hard disk space to files An method for identifying and retrieving files,
More information(Refer Slide Time: 01:12)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #22 PERL Part II We continue with our discussion on the Perl
More informationWriting Report Techniques
1. Paper Size and Format: The project report must be printed on A4 paper and students are required to follow these bullet points for printing style: 12-point font size text. 1.5 space line text. Page margins:
More informationA state-based 3-way batch merge algorithm for models serialized in XMI
A state-based 3-way batch merge algorithm for models serialized in XMI Aron Lidé Supervisor: Lars Bendix Department of Computer Science Faculty of Engineering Lund University November 2011 Abstract With
More informationCOMP 110/401 WINDOWS COMMAND INTERPRETER. Instructor: Prasun Dewan (FB 150,
COMP 110/401 WINDOWS COMMAND INTERPRETER Instructor: Prasun Dewan (FB 150, dewan@unc.edu) WINDOWS COMMAND INTERPRETER 2 COMMAND INTERPRETER? Interprets Command Lines Provides alternative to (OS and Application)
More informationSoftware Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>
Software Requirements Specification for Version 1.0 approved Prepared by Copyright 2002 by Karl E. Wiegers. Permission is granted to use, modify, and distribute
More informationScheme Tutorial. Introduction. The Structure of Scheme Programs. Syntax
Scheme Tutorial Introduction Scheme is an imperative language with a functional core. The functional core is based on the lambda calculus. In this chapter only the functional core and some simple I/O is
More informationA Novel Statistical Distortion Model Based on Mixed Laplacian and Uniform Distribution of Mpeg-4 FGS
A Novel Statistical Distortion Model Based on Mixed Laplacian and Uniform Distribution of Mpeg-4 FGS Xie Li and Wenjun Zhang Institute of Image Communication and Information Processing, Shanghai Jiaotong
More informationPerl and R Scripting for Biologists
Perl and R Scripting for Biologists Lukas Mueller PLBR 4092 Course overview Linux basics (today) Linux advanced (Aure, next week) Why Linux? Free open source operating system based on UNIX specifications
More informationAUTO GENERATION OF CODE AND TABLE TOOL
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 4, April 2015,
More informationSystems Programming. The Unix/Linux Operating System
Systems Programming The Unix/Linux Operating System 1 What is UNIX? A modern computer operating system Operating system: a program that acts as an intermediary between a user of the computer and the computer
More informationModule 10: Unix Primer
Module 10: Unix Primer From UNICS To Unix: A brief history: - Early on, in the 1960s and 1970s, every major computer manufacturer supplied operating system as a proprietary software. Such OSs were written
More informationIs It Possible to Use One Name for Many Sites?
Is It Possible to Use One Name for Many Sites?, d 10330 LaddaPr@Studentchulaacth Phone: (662)2185144 Fax: (662)2552287 Abstract Names play an important role in all computer systems to resolve the objects
More informationGMI-Cmd.exe Reference Manual GMI Command Utility General Management Interface Foundation
GMI-Cmd.exe Reference Manual GMI Command Utility General Management Interface Foundation http://www.gmi-foundation.org Program Description The "GMI-Cmd.exe" program is a standard part of the GMI program
More informationClassic Systems: Unix and THE. Presented by Hakim Weatherspoon
Classic Systems: Unix and THE Presented by Hakim Weatherspoon The UNIX Time-Sharing System Dennis Ritchie and Ken Thompson Background of authors at Bell Labs Both won Turing Awards in 1983 Dennis Ritchie
More informationOverview of the UNIX File System
Overview of the UNIX File System Navigating and Viewing Directories Adapted from Practical Unix and Programming Hunter College Copyright 2006 Stewart Weiss The UNIX file system The most distinguishing
More informationImplementing Sequential Consistency In Cache-Based Systems
To appear in the Proceedings of the 1990 International Conference on Parallel Processing Implementing Sequential Consistency In Cache-Based Systems Sarita V. Adve Mark D. Hill Computer Sciences Department
More informationMaxware, Pirsenteret D. Zigmond WebTV Networks, Inc. R. Petke UUNET Technologies November 1999
Network Working Group Request for Comments: 2718 Category: Informational L. Masinter Xerox Corporation H. Alvestrand Maxware, Pirsenteret D. Zigmond WebTV Networks, Inc. R. Petke UUNET Technologies November
More information2.2 Syntax Definition
42 CHAPTER 2. A SIMPLE SYNTAX-DIRECTED TRANSLATOR sequence of "three-address" instructions; a more complete example appears in Fig. 2.2. This form of intermediate code takes its name from instructions
More informationThe Per-Process View of Naming and Remote Execution
The Per-Process View of Naming and Remote Execution Sanjay Radia*and Jan Pachlt Software Portability Laboratory Dept. of Computer Science, University of Waterloo Abstract This paper focuses on naming issues
More informationVolume and File Structure of CDROM for Information Interchange
Standard ECMA-119 2 nd Edition - December 1987 Reprinted September 1998 Standardizing Information and Communication Systems Volume and File Structure of CDROM for Information Interchange Phone: +41 22
More informationFlight Systems are Cyber-Physical Systems
Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November
More informationDesign and Implementation of an Efficient Algorithm Using Data Structures: A Recipe for the Structured Process Called Top Down Programming
Design and Implementation of an Efficient Algorithm Using Data Structures: A Recipe for the Structured Process Called Top Down Programming Doi:10.5901/jesr.2013.v3n9p17 Abstract Chukwudi Igbe Elei Florence.O
More informationOn Modeling Top-Down VLSI Design
On Modeling Top-Down VLSI Design Bernd Schürmann Joachim Altmeyer Martin Schütze University of Kaiserslautern D-67653 Kaiserslautern, Germany Abstract We present an improved data model that reflects the
More informationTECH 4272 Operating Systems
TECH 4272 Lecture 3 2 Todd S. Canaday Adjunct Professor Herff College of Engineering sudo sudo is a program for Unix like computer operating systems that allows users to run programs with the security
More informationTrees. Carlos Moreno uwaterloo.ca EIT https://ece.uwaterloo.ca/~cmoreno/ece250
Carlos Moreno cmoreno @ uwaterloo.ca EIT-4103 https://ece.uwaterloo.ca/~cmoreno/ece250 Standard reminder to set phones to silent/vibrate mode, please! Announcements Part of assignment 3 posted additional
More informationUNIX Kernel. UNIX History
UNIX History UNIX Kernel 1965-1969 Bell Labs participates in the Multics project. 1969 Ken Thomson develops the first UNIX version in assembly for an DEC PDP-7 1973 Dennis Ritchie helps to rewrite UNIX
More informationITERATIVE MULTI-LEVEL MODELLING - A METHODOLOGY FOR COMPUTER SYSTEM DESIGN. F. W. Zurcher B. Randell
ITERATIVE MULTI-LEVEL MODELLING - A METHODOLOGY FOR COMPUTER SYSTEM DESIGN F. W. Zurcher B. Randell Thomas J. Watson Research Center Yorktown Heights, New York Abstract: The paper presents a method of
More informationISO/IEC INTERNATIONAL STANDARD
INTERNATIONAL STANDARD ISO/IEC 9594-8 Sixth edition 2008-12-15 Information technology Open Systems Interconnection The Directory: Publickey and attribute certificate frameworks Technologies de l'information
More informationIntroduction to Unix: Fundamental Commands
Introduction to Unix: Fundamental Commands Ricky Patterson UVA Library Based on slides from Turgut Yilmaz Istanbul Teknik University 1 What We Will Learn The fundamental commands of the Unix operating
More informationHistory. Terminology. Opening a Terminal. Introduction to the Unix command line GNOME
Introduction to the Unix command line History Many contemporary computer operating systems, like Microsoft Windows and Mac OS X, offer primarily (but not exclusively) graphical user interfaces. The user
More informationADVANTA group.cz Strana 1 ze 24
ADVANTA 2.0 System documentation How to configure the system Advanta Part 1. Quick Start Initial Set- up Document Version 1.2. (System version 2.2.2.h) Advanta allows companies using project management
More informationSEM / YEAR : VI / III CS2352 PRINCIPLES OF COMPLIERS DESIGN UNIT I - LEXICAL ANALYSIS PART - A
SEM / YEAR : VI / III CS2352 PRINCIPLES OF COMPLIERS DESIGN UNIT I - LEXICAL ANALYSIS PART - A 1. What is a compiler? (A.U Nov/Dec 2007) A compiler is a program that reads a program written in one language
More informationBlock diagram overview of PASM.
ANALYSIS OF THE PASM CONTROL SYSTEM MEMORY HIERARCHY David Lee Tuomenoksa Howard Jay Siegel Purdue University School of Electrical Engineering West Lafayette, IN 47907 Abstract - Many proposed large-scale
More informationChapter-3. Introduction to Unix: Fundamental Commands
Chapter-3 Introduction to Unix: Fundamental Commands What You Will Learn The fundamental commands of the Unix operating system. Everything told for Unix here is applicable to the Linux operating system
More informationWhat is this? How do UVMs work?
An introduction to UVMs What is this? UVM support is a unique Xenomai feature, which allows running a nearly complete realtime system embodied into a single multi threaded Linux process in user space,
More informationA Synchronization Algorithm for Distributed Systems
A Synchronization Algorithm for Distributed Systems Tai-Kuo Woo Department of Computer Science Jacksonville University Jacksonville, FL 32211 Kenneth Block Department of Computer and Information Science
More informationDS-5 ARM. Using Eclipse. Version Copyright ARM. All rights reserved. ARM DUI 0480L (ID100912)
ARM DS-5 Version 5.12 Using Eclipse Copyright 2010-2012 ARM. All rights reserved. ARM DUI 0480L () ARM DS-5 Using Eclipse Copyright 2010-2012 ARM. All rights reserved. Release Information The following
More informationOverview of the UNIX File System. Navigating and Viewing Directories
Overview of the UNIX File System Navigating and Viewing Directories Copyright 2006 Stewart Weiss The UNIX file system The most distinguishing characteristic of the UNIX file system is the nature of its
More informationChapter 4. Internet Applications
Chapter 4 Internet Application Protocols 1 Internet Applications! Domain Name System! Electronic mail! Remote login! File transfer! World Wide Web! All use client-server model 2 Names! Internet communication
More informationHP X.25 for OpenVMS Security Guide
HP X.25 for OpenVMS Security Guide Order Number: AA Q2P2C TE July 2005 This manual explains how to set up, manage, and monitor X.25 Security to protect your X.25 system from unauthorized incoming calls
More informationIntegrated Routing and Query Processing in Wireless Sensor Networks
Integrated Routing and Query Processing in Wireless Sensor Networks T.Krishnakumar Lecturer, Nandha Engineering College, Erode krishnakumarbtech@gmail.com ABSTRACT Wireless Sensor Networks are considered
More informationA FAST AND EFFICIENT HARDWARE TECHNIQUE FOR MEMORY ALLOCATION
A FAST AND EFFICIENT HARDWARE TECHNIQUE FOR MEMORY ALLOCATION Fethullah Karabiber 1 Ahmet Sertbaş 1 Hasan Cam 2 1 Computer Engineering Department Engineering Faculty, Istanbul University 34320, Avcilar,
More informationA High Performance Bus Communication Architecture through Bus Splitting
A High Performance Communication Architecture through Splitting Ruibing Lu and Cheng-Kok Koh School of Electrical and Computer Engineering Purdue University,West Lafayette, IN, 797, USA {lur, chengkok}@ecn.purdue.edu
More informationChapter 2 Operating-System Structures
This chapter will discuss the following concepts: 2.1 Operating System Services 2.2 User Operating System Interface 2.3 System Calls 2.4 System Programs 2.5 Operating System Design and Implementation 2.6
More informationService Oriented Architectures (ENCS 691K Chapter 2)
Service Oriented Architectures (ENCS 691K Chapter 2) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ The Key Technologies on Which Cloud
More informationSpecification of Content-Dependent Security Policies
Specification of Content-Dependent Security Policies David L. Spooner Mathematical Sciences Department Rensselaer Polytechnic Institute Troy, NY 12181 Abstract: The protection of information from unauthorized
More informationCOMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY
AFRL-IF-RS-TR-2002-61 Final Technical Report April 2002 COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY Kestrel Institute Sponsored by Defense Advanced Research Projects Agency DARPA Order
More informationDOS ELEMENTS. Abstract:
DOS ELEMENTS Smita Srivastava 1, Shweta Kurda 2, Priya Dubey 3 Information Technology Dronacharya College of Engineering, Gurgaon Abstract: This paper evaluates several hardware platforms and operating
More informationTo Ponder. Which one wins? .draft div.warning li { }.draft div #main li {!important; } div #main ul li { }.draft.warning ul li { }
To Ponder Which one wins?.draft div.warning li { }.draft div #main li {!important; } div #main ul li { }.draft.warning ul li { } CSS Cont'd: Cascading Style Sheets Computer Science and Engineering College
More informationSpecifying Precise Use Cases with Use Case Charts
Specifying Precise Use Cases with Use Case Charts Jon Whittle Dept of Information & Software Engineering George Mason University 4400 University Drive Fairfax, VA 22030 jwhittle@ise.gmu.edu Abstract. Use
More informationInformatics 1: Data & Analysis
T O Y H Informatics 1: Data & Analysis Lecture 11: Navigating XML using XPath Ian Stark School of Informatics The University of Edinburgh Tuesday 26 February 2013 Semester 2 Week 6 E H U N I V E R S I
More informationInheritance Metrics: What do they Measure?
Inheritance Metrics: What do they Measure? G. Sri Krishna and Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology Bombay Mumbai, 400 076, India Email:{srikrishna,rkj}@cse.iitb.ac.in
More informationSearching for Events. Event Searches. The following topics describe how to search for events within a workflow:
The following topics describe how to search for events within a workflow: Event Searches, page 1 Query Overrides Via the Shell, page 9 Event Searches The Firepower System generates information that is
More informationUnderstanding Design Annotation. Contents
Understanding Design Annotation Contents Annotation defined Annotation in Altium Designer Which Annotation Tool? Schematic Level Annotation Order of Processing Schematic Sheets to Annotate Annotation Scope
More informationXML databases. Jan Chomicki. University at Buffalo. Jan Chomicki (University at Buffalo) XML databases 1 / 9
XML databases Jan Chomicki University at Buffalo Jan Chomicki (University at Buffalo) XML databases 1 / 9 Outline 1 XML data model 2 XPath 3 XQuery Jan Chomicki (University at Buffalo) XML databases 2
More informationOnline algorithms for clustering problems
University of Szeged Department of Computer Algorithms and Artificial Intelligence Online algorithms for clustering problems Summary of the Ph.D. thesis by Gabriella Divéki Supervisor Dr. Csanád Imreh
More informationTeamcenter 11.1 Systems Engineering and Requirements Management
SIEMENS Teamcenter 11.1 Systems Engineering and Requirements Management Systems Architect/ Requirements Management Project Administrator's Manual REQ00002 U REQ00002 U Project Administrator's Manual 3
More informationExtracting the Range of cps from Affine Typing
Extracting the Range of cps from Affine Typing Extended Abstract Josh Berdine, Peter W. O Hearn Queen Mary, University of London {berdine, ohearn}@dcs.qmul.ac.uk Hayo Thielecke The University of Birmingham
More informationChapter 12. File Management
Operating System Chapter 12. File Management Lynn Choi School of Electrical Engineering Files In most applications, files are key elements For most systems except some real-time systems, files are used
More informationRecycle Bin. Overview. Recycling Files
Recycle Bin Overview The Recycle Bin is a tool inside OU Campus that allows users to "recycle" files on the staging server as opposed to permanently deleting them. This is helpful, as it reduces the damage
More informationIntroduction to Cygwin Operating Environment
Introduction to Cygwin Operating Environment ICT 106 Fundamentals of Computer Systems Eric Li ICT106_Pract_week 1 1 What s Cygwin? Emulates Unix/Linux environment on a Windows Operating System; A collection
More informationRequest for Comments: 304 NIC: 9077 February 17, 1972 Categories: D3, D4, D7 Obsoletes: none Updates: none
Network Working Group D. B. McKay Request for Comments: 304 IBM NIC: 9077 February 17, 1972 Categories: D3, D4, D7 Obsoletes: none Updates: none Introduction A Data Management System Proposal for the ARPA
More informationUPDATING MULTIDIMENSIONAL XML DOCUMENTS 1)
UPDATING MULTIDIMENSIONAL XML DOCUMENTS ) Nikolaos Fousteris, Manolis Gergatsoulis, Yannis Stavrakas Department of Archive and Library Science, Ionian University, Ioannou Theotoki 72, 4900 Corfu, Greece.
More informationAUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM
AUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM B.HARIKRISHNA 1, DR.S.RAVI 2 1 Sathyabama Univeristy, Chennai, India 2 Department of Electronics Engineering, Dr. M. G. R. Univeristy, Chennai,
More informationDynamism and Detection
1 Dynamism and Detection c h a p t e r ch01 Page 1 Wednesday, June 23, 1999 2:52 PM IN THIS CHAPTER Project I: Generating Platform-Specific Content Project II: Printing Copyright Information and Last-Modified
More informationEL2310 Scientific Programming
Lecture 6: Introduction to C (pronobis@kth.se) Overview Overview Lecture 6: Introduction to C Roots of C Getting started with C Closer look at Hello World Programming Environment Schedule Last time (and
More informationISO/IEC INTERNATIONAL STANDARD
INTERNATIONAL STANDARD ISO/IEC 9594-8 Fifth edition 2005-12-15 Information technology Open Systems Interconnection The Directory: Publickey and attribute certificate frameworks Technologies de l'information
More informationIdentifying Layout Classes for Mathematical Symbols Using Layout Context
Rochester Institute of Technology RIT Scholar Works Articles 2009 Identifying Layout Classes for Mathematical Symbols Using Layout Context Ling Ouyang Rochester Institute of Technology Richard Zanibbi
More informationA Short Summary of Javali
A Short Summary of Javali October 15, 2015 1 Introduction Javali is a simple language based on ideas found in languages like C++ or Java. Its purpose is to serve as the source language for a simple compiler
More informationDesign of a Real-Time Trader for Mobile Objects in Open Distributed Environments
Design of a Real-Time for Mobile Objects in Open Distributed Environments Song-yi Yi, Heonshik Shin Department of Computer Engineering Seoul National University Seoul 151-742, Korea fyis, shinhsg@ce2.snu.ac.kr
More informationIntroducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence
Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Ratko Orlandic Department of Computer Science and Applied Math Illinois Institute of Technology
More informationEmbedding Large Complete Binary Trees in Hypercubes with Load Balancing
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING 35, 104 109 (1996) ARTICLE NO. 0073 Embedding Large Complete Binary Trees in Hypercubes with Load Balancing KEMAL EFE Center for Advanced Computer Studies,
More informationConstrained Types and their Expressiveness
Constrained Types and their Expressiveness JENS PALSBERG Massachusetts Institute of Technology and SCOTT SMITH Johns Hopkins University A constrained type consists of both a standard type and a constraint
More informationProgramming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 04 Programs with IO and Loop We will now discuss the module 2,
More informationthe main limitations of the work is that wiring increases with 1. INTRODUCTION
Design of Low Power Speculative Han-Carlson Adder S.Sangeetha II ME - VLSI Design, Akshaya College of Engineering and Technology, Coimbatore sangeethasoctober@gmail.com S.Kamatchi Assistant Professor,
More informationA Survey Paper on Grid Information Systems
B 534 DISTRIBUTED SYSTEMS A Survey Paper on Grid Information Systems Anand Hegde 800 North Smith Road Bloomington Indiana 47408 aghegde@indiana.edu ABSTRACT Grid computing combines computers from various
More informationAn Efficient List-Ranking Algorithm on a Reconfigurable Mesh with Shift Switching
IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.6, June 2007 209 An Efficient List-Ranking Algorithm on a Reconfigurable Mesh with Shift Switching Young-Hak Kim Kumoh National
More information(MCQZ-CS604 Operating Systems)
command to resume the execution of a suspended job in the foreground fg (Page 68) bg jobs kill commands in Linux is used to copy file is cp (Page 30) mv mkdir The process id returned to the child process
More informationCSC 553 Operating Systems
CSC 553 Operating Systems Lecture 12 - File Management Files Data collections created by users The File System is one of the most important parts of the OS to a user Desirable properties of files: Long-term
More informationA New Approach to the Dynamic Maintenance of Maximal Points in a Plane*
Discrete Comput Geom 5:365-374 (1990) 1990 Springer-Verlag New York~Inc.~ A New Approach to the Dynamic Maintenance of Maximal Points in a Plane* Greg N. Frederickson and Susan Rodger Department of Computer
More informationHP DECset for OpenVMS Guide to the Code Management System
HP DECset for OpenVMS Guide to the Code Management System Order Number: AA KL03H TE July 2005 This manual describes the concepts, commands, and features of the Code Management System (CMS). Revision/Update
More informationExample of a Parallel Algorithm
-1- Part II Example of a Parallel Algorithm Sieve of Eratosthenes -2- -3- -4- -5- -6- -7- MIMD Advantages Suitable for general-purpose application. Higher flexibility. With the correct hardware and software
More informationOptimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of C
Optimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of California, San Diego CA 92093{0114, USA Abstract. We
More information