Global Namin-g in Distributed systems

Size: px
Start display at page:

Download "Global Namin-g in Distributed systems"

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

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 information

A portable Modula-2 operating system: SAM2S

A 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 information

Chapter Two. Lesson A. Objectives. Exploring the UNIX File System and File Security. Understanding Files and Directories

Chapter 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 information

CSE 214 Computer Science II Introduction to Tree

CSE 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 information

When Java technology burst onto the Internet scene in 1995,

When 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 information

Stack effect calculus with typed wildcards, polymorphism and inheritance. Abstract

Stack 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 information

ECMA-119. Volume and File Structure of CDROM for Information Interchange. 3 rd Edition / December Reference number ECMA-123:2009

ECMA-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 information

High 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 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 information

Speed-up of Parallel Processing of Divisible Loads on k-dimensional Meshes and Tori

Speed-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 information

Utilizing a Common Language as a Generative Software Reuse Tool

Utilizing 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 information

Experiment no 4 Study of Class Diagram in Rational Rose

Experiment 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 information

Improving the Granularity of Access Control for Windows 2000

Improving 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 information

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

APPLICATION 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 information

5/8/2012. Creating and Changing Directories Chapter 7

5/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 information

Ontological Modeling: Part 2

Ontological 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 information

Language-Based Information- Flow Security

Language-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 information

Introduction to Network Operating Systems

Introduction 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)

(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 information

Writing Report Techniques

Writing 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 information

A 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 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 information

COMP 110/401 WINDOWS COMMAND INTERPRETER. Instructor: Prasun Dewan (FB 150,

COMP 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 information

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>

Software 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 information

Scheme Tutorial. Introduction. The Structure of Scheme Programs. Syntax

Scheme 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 information

A 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 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 information

Perl and R Scripting for Biologists

Perl 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 information

AUTO GENERATION OF CODE AND TABLE TOOL

AUTO 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 information

Systems Programming. The Unix/Linux Operating System

Systems 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 information

Module 10: Unix Primer

Module 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 information

Is It Possible to Use One Name for Many Sites?

Is 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 information

GMI-Cmd.exe Reference Manual GMI Command Utility General Management Interface Foundation

GMI-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 information

Classic Systems: Unix and THE. Presented by Hakim Weatherspoon

Classic 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 information

Overview of the UNIX File System

Overview 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 information

Implementing Sequential Consistency In Cache-Based Systems

Implementing 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 information

Maxware, Pirsenteret D. Zigmond WebTV Networks, Inc. R. Petke UUNET Technologies November 1999

Maxware, 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 information

2.2 Syntax Definition

2.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 information

The Per-Process View of Naming and Remote Execution

The 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 information

Volume and File Structure of CDROM for Information Interchange

Volume 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 information

Flight Systems are Cyber-Physical Systems

Flight 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 information

Design 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 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 information

On Modeling Top-Down VLSI Design

On 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 information

TECH 4272 Operating Systems

TECH 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 information

Trees. Carlos Moreno uwaterloo.ca EIT https://ece.uwaterloo.ca/~cmoreno/ece250

Trees. 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 information

UNIX Kernel. UNIX History

UNIX 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 information

ITERATIVE 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 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 information

ISO/IEC INTERNATIONAL STANDARD

ISO/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 information

Introduction to Unix: Fundamental Commands

Introduction 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 information

History. Terminology. Opening a Terminal. Introduction to the Unix command line GNOME

History. 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 information

ADVANTA group.cz Strana 1 ze 24

ADVANTA 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 information

SEM / 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 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 information

Block diagram overview of PASM.

Block 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 information

Chapter-3. Introduction to Unix: Fundamental Commands

Chapter-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 information

What is this? How do UVMs work?

What 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 information

A Synchronization Algorithm for Distributed Systems

A 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 information

DS-5 ARM. Using Eclipse. Version Copyright ARM. All rights reserved. ARM DUI 0480L (ID100912)

DS-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 information

Overview of the UNIX File System. Navigating and Viewing Directories

Overview 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 information

Chapter 4. Internet Applications

Chapter 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 information

HP X.25 for OpenVMS Security Guide

HP 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 information

Integrated Routing and Query Processing in Wireless Sensor Networks

Integrated 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 information

A FAST AND EFFICIENT HARDWARE TECHNIQUE FOR MEMORY ALLOCATION

A 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 information

A High Performance Bus Communication Architecture through Bus Splitting

A 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 information

Chapter 2 Operating-System Structures

Chapter 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 information

Service Oriented Architectures (ENCS 691K Chapter 2)

Service 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 information

Specification of Content-Dependent Security Policies

Specification 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 information

COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY

COMPOSABILITY, 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 information

DOS ELEMENTS. Abstract:

DOS 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 information

To 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 { } 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 information

Specifying Precise Use Cases with Use Case Charts

Specifying 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 information

Informatics 1: Data & Analysis

Informatics 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 information

Inheritance Metrics: What do they Measure?

Inheritance 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 information

Searching for Events. Event Searches. The following topics describe how to search for events within a workflow:

Searching 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 information

Understanding Design Annotation. Contents

Understanding 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 information

XML 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 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 information

Online algorithms for clustering problems

Online 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 information

Teamcenter 11.1 Systems Engineering and Requirements Management

Teamcenter 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 information

Extracting the Range of cps from Affine Typing

Extracting 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 information

Chapter 12. File Management

Chapter 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 information

Recycle Bin. Overview. Recycling Files

Recycle 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 information

Introduction to Cygwin Operating Environment

Introduction 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 information

Request for Comments: 304 NIC: 9077 February 17, 1972 Categories: D3, D4, D7 Obsoletes: none Updates: none

Request 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 information

UPDATING MULTIDIMENSIONAL XML DOCUMENTS 1)

UPDATING 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 information

AUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM

AUTONOMOUS 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 information

Dynamism and Detection

Dynamism 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 information

EL2310 Scientific Programming

EL2310 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 information

ISO/IEC INTERNATIONAL STANDARD

ISO/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 information

Identifying Layout Classes for Mathematical Symbols Using Layout Context

Identifying 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 information

A Short Summary of Javali

A 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 information

Design of a Real-Time Trader for Mobile Objects in Open Distributed Environments

Design 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 information

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence

Introducing 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 information

Embedding Large Complete Binary Trees in Hypercubes with Load Balancing

Embedding 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 information

Constrained Types and their Expressiveness

Constrained 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 information

Programming 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 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 information

the main limitations of the work is that wiring increases with 1. INTRODUCTION

the 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 information

A Survey Paper on Grid Information Systems

A 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 information

An Efficient List-Ranking Algorithm on a Reconfigurable Mesh with Shift Switching

An 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)

(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 information

CSC 553 Operating Systems

CSC 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 information

A New Approach to the Dynamic Maintenance of Maximal Points in a Plane*

A 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 information

HP DECset for OpenVMS Guide to the Code Management System

HP 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 information

Example of a Parallel Algorithm

Example 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 information

Optimum 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 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