MULTICS Introduction and Overview of the Multics Operating System.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Multics. Charles Ahern Scott Roffman. Topics What is Multics? Brief History Notable Features of Multics Influence on Other Systems Review Sources.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Maninder Kaur OPERATING SYSTEM Maninder Kaur 11 Oct 2010.
Chap 2 System Structures.
Operating System Structure
Operating-System Structures
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
CS 345 Computer System Overview
Thirty Years Later: Lessons from the Multics Security Evaluation Paul A. Karger & Roger R. Schell Presented by: Sulaiman Alkhezi.
Lecture 1: History of Operating System
1: Operating Systems Overview
OPERATING SYSTEM OVERVIEW
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
A. Frank - P. Weisberg Operating Systems Evolution of Operating Systems.
PRASHANTHI NARAYAN NETTEM.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Chapter 3 Software Two major types of software
The Origin of the VM/370 Time-sharing system Presented by Niranjan Soundararajan.
Systems Software Operating Systems.
TECHWARZ. (Multiplexed Information and Computing Service)  Multics was an extremely influential early time-sharing operating system.  Goal: Develop.
CS102 Introduction to Computer Programming
Computer System Architectures Computer System Software
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Input/OUTPUT [I/O Module structure].
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
◦ What is an Operating System? What is an Operating System? ◦ Operating System Objectives Operating System Objectives ◦ Services Provided by the Operating.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
Introduction to z/OS Basics © 2006 IBM Corporation Chapter 7: Batch processing and the Job Entry Subsystem (JES) Batch processing and JES.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Copyright © Curt Hill Operating Systems An Introductory Overview.
Operating Systems.
2.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition System Programs (p73) System programs provide a convenient environment.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Applied Operating System Concepts
2. OPERATING SYSTEM 2.1 Operating System Function
Multics.
Introduction to Operating System (OS)
Chapter 1: Introduction
CSCI/CMPE 3334 Systems Programming
Computer Science I CSC 135.
Operating System Concepts
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Outline Chapter 2 (cont) OS Design OS structure
Introduction to Computer Programming
System calls….. C-program->POSIX call
Operating System Concepts
CSE 542: Operating Systems
Presentation transcript:

MULTICS Introduction and Overview of the Multics Operating System

MULTICS Multics (Multiplexed Information and Computing Service) is a mainframe timesharing operating system begun in 1965 and used until The system was started as a joint project by MIT Project MAC, Bell Telephone Laboratories, and GE. Prof. F. J. Corbato of MIT led the project.

MULTICS Bell Labs withdrew from the development effort in 1969, and later GE sold its computer business to Honeywell, which continued Multics development and offered Multics as a commercial product.

MULTICS Multics began as a research project and was an important influence on operating system development. The system became a commercial product sold by Honeywell to education, government and industry. Multics was a comprehensive, general-purpose programming system. The initial Multics system was implemented on the GE 645 computer.

MULTICS Multics ran on a special expensive CPU hardware that provided a segmented, paged, ring-structured virtual memory. The system was a symmetric multiprocessor with shared physical and virtual memory. most of the programming of the system was done in the PL/I language.

MULTICS NINE GOALS PROPOSED FOR THE NEW OPERATING SYSTEM 1. Convenient remote terminal access as the normal mode of system usage. 2. A view of continuous operation analogous to that of the electric power and telephone companies. 3. A wide range of capacity to allow growth or contraction without either system or user reorganization. 4. An internal file system so reliable that users trust their only copy of programs and data to be stored in it. 5. Sufficient control of access to allow selective sharing of information. 6. The ability to structure hierarchically both the logical storage of information as well as the administration of the system. 7. The capability of serving large and small users without inefficiency to either. 8. The ability to support different programming environments and human interfaces within a single system. 9 The flexibility and generality of system organization required for evolution through successive waves of technological improvements and the inevitable growth of user expectations.

MULTICS NOTABLE FEATURES OF MULTICS 1. Segmented Memory 2. Virtual Memory 3. High-Level Language Implementation 4. Shared Memory Multiprocessor 5. Multi-Language Support 6. Relational Database 7. Security 8. On-line Reconfiguration 9 Software Engineering

MULTICS Segmented Memory The Multics memory architecture divides memory into segments. Each segment is 1MB long, and has a zero address. Each segment has addresses from 0 to 256K words (1 MB). The file system is integrated with the memory access system so that programs access files by making memory references. Multics was the first operating system to introduce a true hierarchical storage system, in which a directory could contain other directories.

MULTICS Virtual Memory Multics uses paged memory in the manner pioneered by the Atlas system. Addresses generated by the CPU are translated by hardware from a virtual address to a real address. A hierarchical three-level scheme, using main storage, paging device, and disk, provides transparent access to the virtual memory.

MULTICS High-Level Language Implementation Multics was written in the PL/I language, which was, in 1965, a new proposal by IBM. Programming Language #1 was invented by George Radin of IBM in Combining scientific features from FORTRON, business features like records from COBOL, and block structuring from Algol, PL/I’s future looked rosy in 1965 when the team chose it for the Multics system. Only a small part of the operating system was implemented in assembly language. Writing an OS in a high-level language was a radical idea at the time.

MULTICS Shared Memory Multiprocessor The Multics hardware architecture supports multiple CPU’s sharing the same physical memory. All processors are equivalent.

MULTICS Multi-Language Support In addition to PL/I, Multics supports BCPL, BASIC, APL, FORTRAN, LISP, C, COBOL, ALGOL 68 and Pascal. Routines in these languages can call each other.

MULTICS Relational Database Multics provided the first commercial relational database product, the Multics Relational Data Store (MRDS), in MRDS provided a command-level interface for defining databases and views (called data sub-models), and a call-level interface for queries and data manipulation.

MULTICS Security Multics was designed to be secure from the beginning. In the 1980s, the system was awarded the B2 security rating by the US government NCSC, the first (and for years only) system to get a B2 rating.

MULTICS On-line Reconfiguration As part of the computer utility orientation, Multics was designed to be able to run 7 days a week, 24 hours a day. CPUs, memory, I/O controllers, and disk drives can be added to and removed from the system configuration while the system is running.

MULTICS Software Engineering The process of system programming for Multics showed how unique properties of the process lead to unique properties of the operating system, such as ease of use, ease of maintenance, and high reliability. High-level language, design and code review, structured programming, modularization and layering were all employed extensively to manage the complexity of the system, which was one of the largest software development efforts of its day.

MULTICS Design Features of the Hardware The Multics system objectives required equipment features that were not present in any existing computer. Consequently it was necessary to develop for the Multics system the GE 645 computer. The GE 635 computer was selected for modification to the GE 645 inasmuch as it already satisfied many of the crucial requirements

MULTICS Design Features of the Hardware The communication pattern is particularly straight forward since there are no physical paths between the processors and the input/output equipment; rather all communication is done by means of "mailboxes" in the memory modules and by corresponding interrupts. Furthermore, major modules of the system communicate on an asynchronous basis; thus, any single module can be upgraded without any changes to the other modules. This latter property is useful in that one of the ways in which system capacity (and cost) may be regulated is by changing either the speed or number of memory modules.

MULTICS Design Features of the Hardware All central processors (CPU) and Generalized Input/Output Controllers (GIOC) have communication paths with each of the memory modules. When necessary for maintenance or test purposes, the system can be partitioned into two independent systems. The remote terminals can dial either of the two GIOC through the private branch exchange

MULTICS Design Features of the Hardware

MULTICS Design Features of the Hardware This system is organized into program segments or regions, each of which contains an ordered sequence of words with a conventional linear address. These segments, which can vary in length during execution, are paged at the discretion of the supervisor program with either 64 or 1,024 word pages. This dual page size allows the supervisor program to use more effective strategies in the handling of multiple users.

MULTICS Design Features of the Software An important aspect of the software is the subroutine and linkage conventions, which are associated with the use of the segment and paging hardware.

MULTICS Design Features of the Software The following features are incorporated. 1. Any segment has to know another segment only by symbolic name. Inter- segment binding occurs dynamically as needed during program execution. Inter-segment binding is automatic (i.e., not explicitly programmed by the user) and the mechanism operates at high efficiency after the first binding occurs. 2. Similarly, a segment is able to reference symbolically a location within another segment. This reference binds dynamically and automatically; after binding occurs the first time, program execution is at full speed. 3. It is straightforward for procedures to be pure procedures, capable of being shared by several users. 4. Similarly, it is straightforward to write recursive procedures (i.e., subroutines capable of calling on themselves either directly or indirectly by a circular chain of calls). 5. The general conventions are such that the call, save, and return macros used to link one independently compiled procedure to another do not depend on whether or not the two procedures are in the same segment. 6. Each user is provided with a private software "stack" for temporary storage within each subroutine. Of course, any user can choose to ignore this storage mechanism, but it is available and does not have to be added as an afterthought by a subsystem designer.

MULTICS Design Features of the Software Further features, which should ultimately appear in the system, are: 1. The ability to have one process spawn other processes which run asynchronously on several processors (thus improving the real-time response of the overall process); 2. The ability for databases to be shared among simultaneously operating programs. In addition the system will include all the major features of the present Project MAC system such as inter-console messages and macro- commands. The latter allow users to concatenate sequences of console-issued commands as short programs thereby forming more elaborate commands, which can be used with a single name and parameter call. 3. Another feature of the system is that it will include batch-processing facilities as a subset. In particular, users will start processes which may have n terminals attached, with n= 1 for individual man-machine interaction, and n= 0 for running an absentee-user program, the latter case corresponding to batch processing.

MULTICS Design Considerations in the File System The file system is a key part of a time-sharing or multiplexed system. It is a memory system, which gives the users and the supervisor alike the illusion of maintaining a private set of segments or files of information for an indefinite period of time. This retention is handled by automatic mechanisms operated by the supervisor and is independent of the complex of secondary storage devices of different capacity and access.

MULTICS Design Considerations in the File System Of considerable concern is the issue of privacy. Experience has shown that privacy and security are sensitive issues in a multi-user system where terminals are anonymously remote. For this reason, each user's files can be arranged to be completely private to him. In addition, a user may arrange to allow others to access his files selectively on a linking basis. The linking mechanism permits control over the degree of access one allows

MULTICS Design Considerations in the File System The file system allows files to be simultaneously read but automatically interlocks file writing. The file system is designed with the presumption that there will be mishaps, so that an automatic file backup mechanism is provided. The backup procedures must be prepared for contingencies ranging from a dropped bit on a magnetic tape to a fire in the computer room.

MULTICS Design Considerations in the File System The general backup mechanism is provided by the system rather than the individual user, for the more reliable the system becomes, the more the user is unable to justify the overhead (or bother) of trying to arrange for the unlikely contingency of a mishap. Thus an individual user needs insurance, and, in fact, this is what is provided.

MULTICS Design Considerations in the Communication and Input/Output Equipment A design feature of the system is that users can view most input/output devices uniformly. Thus a program can read from either a terminal or a disk file, or output can be sent either to a file or to a punch, a typewriter, or a printer. In particular, the user of the system does not have to rewrite his program to change these assignments from day to day or from use to use. The symmetric use of equipment is, of course, highly desirable and makes for greater simplicity and flexibility.

MULTICS Design Considerations in the Communication and Input/Output Equipment For those users who wish to have remotely located satellite substations capable of punching and reading cards and line printing, there are a variety of options available. Because the design of the General Input/Output Controller is relatively flexible, it is possible to use the GE 115, the Univac 1004, or virtually any other similar sub computer as a terminal, provided one is prepared to implement the necessary interface program modules within a Multics system.

MULTICS Multics Installations & A Brief History of Events 1. Air Force Data Services Center 2. General Motors 3. Ford 4. Industrial Nucleonics 5. University of SW Louisiana 6. French University System 7. US Air Force In 1980s saw a very large number of Multics sales in France & Europe. Multics received the B2 rating from the NCSC in August 1985, the culmination of a long effort.

MULTICS Multics Installations & A Brief History of Events In the mid-80s, Multics customers tried to pressure Honeywell to produce a faster Multics machine. The 8/70M was a generation behind competitors' hardware and Honeywell had no announced plans to produce new Multics processors. Many of the existing customers defected when the found that the operating system was not supported by the company.

MULTICS Multics Installations & A Brief History of Events A HLSUA Task Force was formed in April 1986 to look at migration from Multics to the DPS 6 Plus, following a presentation by Gene Manno at HLSUA. Members were Vince Scarafino (Ford), Bob Kansa (EDS), Paul Amaranth (Oakland University), Norm Powroz (Canadian DND), and Norm Barnecut (University of Calgary). By 1987, Honeywell had backed away from supporting key elements of Multics function on the DPS 6 Plus.

MULTICS Multics Installations & A Brief History of Events Multics development was canceled by Honeywell in July (This was Honeywell’s sixth attempt to cancel the system. The decision was made in November 1984 by Gene Manno, and announced the following July.) In 1985, Multics was the only profitable product in the Office Marketing Systems Division

MULTICS Multics Installations & A Brief History of Events The last Multics system running, the Canadian Department of National Defense Multics site in Halifax, Nova Scotia, Canada, shut down October 31, 2000 at 17:08 hours. This system was modified to be Y2K compliant and was the main production system until Sept/00.

MULTICS Conclusion Sadly, Multics was not commercially successful but the Multics "utility" is where today's Internet is now headed. Multics was replaced by another time-sharing system, the name of which made fun of Multics -- Unix. So, yes, the "x" in Linux is from Multics.