Operating Systems History & Approaches. Computer Systems Laboratory Sungkyunkwan University

Similar documents
Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Operating Systems

INTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung

Introduction to Operating Systems. Jo, Heeseung

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

Virtual Memory, Processes, and Sharing in MULTICS

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

CS 550 Operating Systems Spring Operating Systems Overview

Operating Systems. I. Introduction. Eurecom

OS concepts and structure. q OS components & interconnects q Structuring OSs q Next time: Processes

Logistics. 1: Welcome and Overview. Topics. What is an operating system? Benefits of Operating Systems (1) Hardware Resources

Overview of Unix / Linux operating systems

EEE 435 Principles of Operating Systems

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Classic Systems: Unix and THE. Presented by Hakim Weatherspoon

ELEC 377 Operating Systems. Week 1 Class 2

A Comparison of Two Distributed Systems: Amoeba & Sprite. By: Fred Douglis, John K. Ousterhout, M. Frans Kaashock, Andrew Tanenbaum Dec.

Computer System Overview

Chapter 14 Operating Systems

Chapter 14 Operating Systems

History of Modern Computing Section 3

Operating Systems Overview. Chapter 2

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?

Kernel Types Simple OS Examples System Calls. Operating Systems. Autumn CS4023

Operating Systems. Antônio Augusto Fröhlich LISHA/UFSC. December 20, 2008

CSC 453 Operating Systems

SMD149 - Operating Systems

Roland Parviainen Phone: Office:? Web:

1: Welcome and Overview COM S 414. Last Modified: 9/2/ :04:21 PM

Practical Computing-II. Programming in the Linux Environment. 0. An Introduction. B.W.Gore. March 20, 2015

Topics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.

Operating System Structure

CSC 453 Operating Systems

Principles of Operating Systems CS 446/646

Operating System Kernels

Computer Fundamentals : Pradeep K. Sinha& Priti Sinha

Operating Systems. Pablo Prieto Torralbo. 1. Introduction DEPARTMENT OF COMPUTER ENGINEERING

Computer Science 4500 Operating Systems. Welcome! In This Module. Module 1 Introduction, Overview and History

Unix/Linux: History and Philosophy

Operating System Architecture. CS3026 Operating Systems Lecture 03

Introduction to Linux

Contents. * All rights reserved, Tei-Wei Kuo, National Taiwan University, 2003.

Roadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - II OS Structures. University at Buffalo. OS Design and Implementation

OS Design Approaches. Roadmap. System Calls. Tevfik Koşar. Operating System Design and Implementation. CSE 421/521 - Operating Systems Fall 2013

Operating System Structure

CSCI 2132 Software Development. Lecture 2: Introduction to UNIX and Unix-like Operating Systems

Operating System Overview. Chapter 2

Microkernel Construction. Introduction. Michael Hohmuth. Lars Reuther. TU Dresden Operating Systems Group

CNT 4603, Spring 2009: Introduction

Computer. Operating Systems Introduction to Operating System (OS)

OS - Introduction Ezio Bartocci Institute for Computer Engineering

CSE-205: Unix and Shell Programming Unit I The UNIX Operating system

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System

Operating System Overview. Operating System

CS 167: Operating Systems. Operating Systems In Depth I 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Linux for Beginners. Windows users should download putty or bitvise:

OPERATING SYSTEMS: Lesson 1: Introduction to Operating Systems

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure

Operating Systems Overview. Chapter 2

CS 153 Design of Operating Systems

Introduction to Operating System. Dr. Aarti Singh Professor MMICT&BM MMU

CSC Operating Systems Spring Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. January 17 th, 2007.

Announcements. Operating System Structure. Roadmap. Operating System Structure. Multitasking Example. Tevfik Ko!ar

OS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation

Brief Linux Presentation. July 10th, 2006 Elan Borenstein

What are some common categories of system calls? What are common ways of structuring an OS? What are the principles behind OS design and

Operating System. Operating Systems Structure Chapter 2. Services Provided by the OS. Evolution of an Operating System

Introduction to OS (cs1550)

Basics of system administration on a Unix system

CNT 5605, Fall 2009: Introduction

CONTENTS. Computer-System Structures

Introduction. CS3026 Operating Systems Lecture 01

Chapter 2: Operating-System Structures

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

HIGH PERFORMANCE COMPUTING: MODELS, METHODS, & MEANS OPERATING SYSTEMS 1

Chapter 2 Operating-System Structures

Unix API Books. Linux Kernel Books. Assignments and Exams. Grading for CSC 256. Operating Systems 8/31/2018. CSC 256/456 Fall

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

Operating Systems CS3502 Spring 2018

Operating System. Operating System Overview. Structure of a Computer System. Structure of a Computer System. Structure of a Computer System

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

History And Modern Uses Of The Unix Operating System (including embedded devices and mobile phones).

Four Components of a Computer System

Chapter 2. Operating-System Structures

Processor : Intel Pentium D3.0 GigaHtz

CS370 Operating Systems

CSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.

Advanced Operating Systems. COMP9242 Introduction

Announcements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009

Staff. Advanced Operating Systems. Why are you here? What can you expect?

Uni Hamburg Mainframe Summit 2010 z/os The Mainframe Operating. Part 4 z/os Overview

UNIX Kernel. UNIX History

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

Computer Systems Laboratory Sungkyunkwan University

The modularity requirement

Microkernel Construction

Overview: Concurrent Architectures - Unix: Forks and Pipes

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Transcription:

Operating Systems History & Approaches Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

Pre-Multics Era (1) OS/360 A batch processing OS developed by IBM for System/360 mainframe computers (announced in 1964). A family of three control programs. The single task PCP (Primary Control Program) processed jobs sequentially. MFT (Multiprogramming li i with iha Fixed number of Tasks) added d multitasking, but only allowed a fixed number of concurrent tasks. MVF (Multiprogramming with a Variable number of Tasks) allowed varying numbers of tasks. OS/360 introduced IBM s batch-scripting language JCL (Job Control Language). g OS/360 was amongst the earliest OS to make direct access storage devices (DASD) a prerequisite for its operation. Evolution: MFT OS/VS1, MVT OS/VS2 MVS 2

Pre-Multics Era (2) CTSS (Compatible Time-Sharing System) Developed by MIT in 1961 for the IBM 709. One of the first time-sharing operating systems Compatible with the standard batch processing OS, the Fortran Monitor System (FMS). FMS in background, and programs compiled for FMS batch in foreground time-sharing environment Using virtual machines The system with the first computerized text formatting utility and inter-user electronic mail. A facility called RUNCOM for CTSS took a collection of commands contained in a file and executed ecuted them. This is the direct ancestor of the Unix shell script. 3

Multics (1) Multics Multiplexed Information and Computing Service A time-shared, multi-processor mainframe computing utility Originally started by MIT, GE, and Bell Labs for GE- 645, a 36-bit system, in 1965. Bell Labs quit in 1969 and built Unix. GE s computer business, including Multics, was taken over by Honeywell in 1970. Last system shutdown on 10/31/2000. / http://www.multicians.org 4

Multics (2) Multics innovations Hierarchical file system. File / directory / path name / working directory Access Control Lists (ACLs). Long names on entries. Multiple l names on entries. Symbolic links. Storage quotas. Removable devices. The backup procedures. Lots of developments in management of virtual memory including segmentation and paging. 5

Multics (3) Multics innovations (cont d) Separating the command shell from the OS kernel. Dynamic linking. Implementation of an OS in a high level language (PL/1) Management of shared memory. Mapping of logical disk volumes onto physical volumes. Many developments in the area of secure computer systems. Multics was rated B2 by the NCSC in 1985. A subsequent system (based on the Multics experience) built by Honeywell was the first computer system ever rated A1. 6

Multics (4) Multics innovations (cont d) Multics Relational Data Store (MRDS) in 1976. The first commercial relational DBMS. The MRDS query language was similar to early SQL. Concurrent access to a database by multiple processes was supported. The database could be backed up in its entirety. Spreadsheets were developed on the Multics platform. Multics supports BCPL, BASIC, APL, FORTRAN, LISP, C, COBOL, ALGOL 68, and Pascal. Many optimizations for the LISP language through work on the Multics MACLISP compiler. 7

Unix (1) When BTL (Bell Telephone Laboratories) withdrew from the Multics project, they needed to rewrite an operating system in order to play space war on another smaller machine (a DEC PDP-7 with 4K memory for user programs). The result was a system which a punning colleague called UNICS (UNiplexed Information and Computing Services) an emasculated Multics ; no one recalls whose idea the change to UNIX was. -- Peter H. Salus, A Quarter Century of Unix, Addision-Wesley, 1994. It was the summer of '69. In fact, my wife went on vacation to my family's place in California... I allocated a week each to the operating system, the shell, the editor, and the assembler to reproduce itself, and during the month she was gone, it was totally rewritten in a form that looked like an operating system, with tools that were sort of known, you know, assembler, editor, and shell... Yeh, essentially one person for a month. -- Ken Thompson 8

Unix (2) Unix Features Hierarchical file systems Special files: uniform I/O, naming, and protection. Removable file systems via mount/umount t i-node Process control fork(), exec(), wait(), exit() Pipes for inter-process communication Shells Standard I/O and I/O redirection Filters Command separators Shell scripts Signals 9

Unix (3) 10

Multics vs. Unix (1) Timing Multics: 1965 2000 The system was made available for general use in 1969. Unix: 1969 Present Fourth Edition (1973): rewritten in C. Sixth Edition (1975): available outside of Bell Labs. Design approach Multics: Top-down Clear goals drive design and primitives. Unix: Bottom-up Primitives define functionality (No predefined goals), while retaining simplicity and elegance. 11

Multics vs. Unix (2) Development Multics: Well-organized: MIT Project MAC: Design is key strength. Bell Labs: Online update capabilities, robustness, scalability GE/Honeywell: Defense contractor, hardware. 3000-page program module specification BEFORE coding. An unanticipated phase of design iterations was necessary due to gross discrepancies i between actual and expected performance.»design, build, evaluate, design, build, evaluate, $6M / year for five years. 150 Man-Years for design and system programming, another 50 Man-Years for improvements. 12

Multics vs. Unix (3) Development (cont d) Unix: Two Man-Years. Build/design i mixed at same time. Target users Multics: military, government agencies, NSA, Unix: Universities, research institutions, Protection Multics: Protection rings Unix: All or nothing (superuser model) 13

Multics vs. Unix (4) Resource utilization Multics: Memory: 256KWords/box (1 word = 36 bits) Paging device (Drum): 4MWords Disk: 136MB Unix: Old, unused PDP-7 Occupies 42KBytes on PDP-11/45 with 144KBytes of memory. PDP-11 has a 1MB disk used for file system storage and swapping. 14

Multics vs. Unix (5) Resource management Multics: Multiprocessor support from start. Transparent multi-level memory model: memory drum disk True memory-mapped mapped world view. Unix: Simple 3 segment view. Partial memory mapped model later. 15

Multics vs. Unix (6) Summary Multics: Too complicated, too costly hardware. Second system effect (by Fred Brooks, The Mythical Man-Month)» System one was successful (CTSS)» System two aims to correct all flaws from #1» Almost always fails. Unix: Low cost hardware University adoption Simplicity, elegance, and ease of use. 16

Operating System Structure (1) Monolithic The Big Mess - a single large software system. Local procedure calls are used to communicate among different components. API Advantages: performance Disadvantages: Monolithic Kernel Difficult to maintain and upgrade because of the interdependencies d i Hardware in the code. Operating system code runs at supervisor level in the same memory space so that any component of the system could corrupt data being used by other components. Unixware, Solaris, AIX, HP-UX, Linux, etc. 17

Operating System Structure (2) Layered A hierarchy of layers, each one constructed upon the one below it. The layered approach is modular; simplifies the extension and maintenance of the code base. THE (Dijkstra, 1968): 6 layers 18

Operating System Structure (3) Layered (cont d) Multics: 8 rings of protection The inner ones are more privileged than the outer ones. (The supervisor runs in ring 0) Calling a procedure in an inner ring requires a system call, where the parameters are carefully checked for validity. The ring mechanism is present at run time and enforced by the hardware.» The hardware made it possible to designate individual procedures (memory segments, actually) as protected against reading, writing, or executing. The ring mechanism can easily be extended to structure user subsystems. 19

Operating System Structure (4) Microkernel Move as much functionality as possible from the kernel into user space. Communication takes place between user modules using message passing. A request for an operating system service from an application is processed by the microkernel and forwarded to the appropriate server. The server handles the request est and passes the results back to the kernel, which forwards them to the calling application. i Client process Memory Server File Server Terminal Server Microkernel 20

Operating System Structure (5) Microkernel (cont d) The Mach kernel only includes: Thread scheduling Message passing Virtual memory Device driver code Microkernels Mach (CMU) OSF/1, NeXTSTEP, IBM OS/2, MkLinux, GNU Hurd, Microsoft Windows NT/XP, Mac OS X Chorus (INRIA, Chorus) Amoeba (Andrew Tanenbaum @ Vrije Univ.) QNX L3/L4 (GMD, Jochen Liedtke @U Univ. Karlsruhe) 21

Operating System Structure (6) Microkernel: Benefits Extensibility, Reliability, Simplicity, Maintainability, Flexibility Modular structure (easy to add services) Easing system design, implementation, and maintenance Failure isolation, enhancing debuggability and validation (small microkernel can be rigorously tested.) Coexistence of different APIs, file systems, and OS personalities. Portability Changes needed to port the system to a new processor is done in the microkernel not in the other services. Distributed system support Transparent access to network services, aiding and encouraging distribution. Object-oriented operating system Components are objects with clearly defined interfaces that can be interconnected to form software. 22

Operating System Structure (7) Linux Monolithic kernel + (layered) kernel modules System Calls Kernel extensions Monolithic Linux Kernel Device driver modules (cf.) Monolithic kernels vs. Microkernels: A debate between Linus Torvalds and Andrew Tanenbaum (1992) http://www.oreilly.com/catalog/opensources/book/appa.html 23

Operating System Structure (8) Microsoft Windows NT/2000/XP Modified microkernels or hybrid kernels Keep some codes in kernel space to run them more quickly. 24

Operating System Structure (9) Mac OS X 25