The UNIX Time-Sharing System

Slides:



Advertisements
Similar presentations
OPERATING SYSTEMS Lecturer: Szabolcs Mikulas Office: B38B
Advertisements

Slide 2-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 2 Using the Operating System 2.
Classic Systems: Unix and THE Presented by Hakim Weatherspoon.
Chapter 6 Security Kernels.
Enrique Blanco García © 2004 Introduction to the UNIX environment Enrique Blanco Cover from the book Modern operating systems. A. Tanenbaum.
1 UNIX 1 History of UNIX 2 Overview of UNIX 3 Processes in UNIX 4 Memory management in UNIX 5 The UNIX file system 6 Input/output in UNIX.
Phones OFF Please Operating System Introduction Parminder Singh Kang Home:
Operating Systems - Introduction S H Srinivasan
JMS 1 CSE 350, Spring 2001 The Unix Time-sharing System Chuck Davin Software Design & Engineering CSE 350 Spring 2001.
1 What is an operating system? CSC330Patricia Van Hise.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Operating Systems ECE344 A brief history of OS Ding Yuan ECE Dept., University of Toronto
1 Lecture 2 Introduction, OS History n objective of an operating system n OS history u no OS u batch system u multiprogramming u multitasking.
 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.
Operating System It is the interface between user (application programs) and hardware. It is a program that controls the execution of application programs.
CSC 322 Operating Systems Concepts Lecture - 4: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Threads, Thread management & Resource Management.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
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.
Chapter 1 Introduction 1.1 What is an operating system
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
File Systems (1). Readings r Reading: Disks, disk scheduling (3.7 of textbook; “How Stuff Works”) r Reading: File System Implementation ( of textbook)
1 Pertemuan 3 Konsep Sistem Operasi Matakuliah: T0316/sistem Operasi Tahun: 2005 Versi/Revisi: 5.
Operating System Part II: Introduction to the Unix Operating System (The Evolution of Unix)
Chapter 1: Introduction and History  Where does the operating system fit in a computing system?  What does the operating system achieve?  What are the.
History of UNIX a short version CSCI 333 August 31, 2011.
Just Enough Unix, Chapter 1
UNIX System Protection. Unix History Developed by Dennis Ritchie and Ken Thompson at AT&T Bell Labs Adapted some ideas from the Multics project in 1969.
1 Operating Systems: Principles and Practice Cpr E 308.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
UNIX and Shell Programming
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Chapter 3.7 Segmentation. Memory allocation as a concept ● This presentation is about memory management specifically about memory segmentation and paging.
Threads, Thread management & Resource Management.
Chapter 9: Networking with Unix and Linux. Objectives: Describe the origins and history of the UNIX operating system Identify similarities and differences.
It consists of two parts: collection of files – stores related data directory structure – organizes & provides information Some file systems may have.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
The UNIX Time-Sharing System Mosharaf Chowdhury EECS 582 – W1611/11/16.
Operating Systems.
Chapter 1 Introduction  What is an operating system  History of operating systems  The operating system zoo  Computer hardware review  Operating system.
What is an operating system? Tool to make programmer's job easy Resource allocator – Must be fair; not partial to any process – Must discriminate between.
Lab #1: UNIX crash course Introduction: History of Operating Systems Lesson #1: Navigating directories Lesson #2: Creating and editing files with emacs.
UDel CISC361 Study Operating System principles - processes, threads - scheduling - mutual exclusion - synchronization - deadlocks - memory management -
Paper Discussions Karthik Dantu Steve Ko.
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Advanced Operating Systems (CS 202)
The Mach System Sri Ramkrishna.
Andy Wang COP 5611 Advanced Operating Systems
CASE STUDY 1: Linux and Android
Introduction to Operating System (OS)
TYPES OFF OPERATING SYSTEM
Operating Systems and Systems Programming
John Carelli, Instructor Kutztown University
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Chapter 2: System Structures
File System B. Ramamurthy B.Ramamurthy 11/27/2018.
UNIX System Protection
Operating Systems Case Study
CSCE 313 – Introduction to UNIx process
Department of School of Computing and Engineering
Files Management – The interfacing
Introduction to Operating Systems
Operating Systems: History
Outline Operating System Organization Operating System Examples
What is an Operating System? A historical Perspective
Operating System Introduction
Introduction and History
Chapter 5 File Systems -Compiled for MCA, PU
The UNIX Time Sharing System
Presentation transcript:

The UNIX Time-Sharing System Mosharaf Chowdhury 9/12/16 EECS 582 – F16

A Memorandum “This memorandum is based on the assumption that MIT will be given a transistorized IBM 709 about July l960. I want to propose an operating system for it that will substantially reduce the time required to get a problem solved on the machine. Any guess as to how much of a reduction would be achieved is just a guess, but a factor of five seems conservative. …” “The proposal requires a complete revision in the way the machine is used, …” “… I think the proposal points to the way all computers will be operated in the future, and we have a chance to pioneer a big step forward in the way computers are used. …” “…The ideas expressed in the following sections are not especially new, but they have formerly been considered impractical with the computers previously available. …” 9/12/16 EECS 582 – F16

A Memorandum on Time Sharing Divide a shared resource between multiple programs and users John McCarthy wrote the memorandum in 1959 As opposed to batch processing Submit jobs to queues to be processed one at a time Non-interactive Early examples of time-sharing OSes include MIT CTSS (Compatible Time-Sharing System) Berkeley Timesharing System Dartmouth Time-Sharing System (DTSS) Most of the OSes were machine-specific. 9/12/16 EECS 582 – F16

Multics Multiplexed Information and Computing Service Started in 1964 at MIT; led by Fernando Corbató w/ GE and Bell Labs Time-sharing operating system Developed initially for GE-645 mainframe, a 36-bit machine w/ support for virtual memory Hierarchical file system Protection ring-based security Access Control Lists (ACL) … Bell Labs pulled out in 1969 Honeywell maintained it until 2000 9/12/16 EECS 582 – F16

UNIX Started by Ken Thompson and Dennis Ritchie in 1969 “UNIX was never a ‘‘project;’’ it was not designed to meet any specific need except that felt by its major author, Ken Thompson, and soon after its origin by the author of this paper, for a pleasant environment in which to write and use programs.” - Dennis Ritchie, “The UNIX Time-sharing System – A Retrospective” 9/12/16 EECS 582 – F16

UNIX First version on DEC PDP-7 and PDP-9 (circa 1969-70) Second version on unprotected DEC PDP-11/20 Third version w/ multiprogramming on PDP-11/40, 45 etc. Described in today’s paper February, 1971: PDP-11 Unix first operational PDP = Programmed Data Processor 16-bit precursor to 32-bit VAX (Virtual Address eXtension) 9/12/16 EECS 582 – F16

PDP-11/40 16-bit word (8-bit byte) 144K bytes core memory Storage UNIX took 42K bytes Minimal system 50K bytes Storage 1M byte fixed-head disk 4X 2.5M byte moving-head disk cartridge 1X 40M byte moving-head disk pack 14 variable speed communication interfaces Many other attached devices http://www.catb.org/esr/writings/taoup/html/graphics/kd14.jpg 9/12/16 EECS 582 – F16

Simplicity Simple abstractions Simple file system design Everything is a file Simple file system design Hierarchical for programming simplicity Simple connectors Pipes that look like files Simple maintenance Self-maintained “It is hoped, however, the users of UNIX will find that the most important characteristics of the system are its simplicity, elegance, and ease of use.” - DR & KT, “The UNIX Time-Sharing System” 9/12/16 EECS 582 – F16

Influences Berkeley Timesharing System Process forks Multics I/O system calls Multics and TENEX Shell and related CTSS “…in essence a modern implementation of MIT’s CTSS system…” – D. Ritchie “The success of UNIX lies not so much in new inventions but rather in the full exploitation of a carefully selected set of fertile ideas, and especially in showing that they can be keys to the implementation of a small yet powerful operating system.” - DR & KT, “The UNIX Time-Sharing System” 9/12/16 EECS 582 – F16

Key Concepts Names and namespaces Process management User interface Directories, paths, and links Root, home, and current directory Rooted tree and mounting sub-trees on leaves Special files and access control Process management System calls, address space, signals/interrupts User interface Shell, I/O redirection, and pipes 9/12/16 EECS 582 – F16

Hierarchical Namespace Easy to traverse Easy to modify/add/delete Access control is simpler Hierarchical as well Can be arbitrarily increased Mount new drives! 9/12/16 EECS 582 – F16

Everything is a File Regular files Special files Directories Devices Networks Directories Same as files, except when not Keeps track of pointers to files, not actual content Simplifies linking! 9/12/16 EECS 582 – F16

I/O Calls Inspired by Multics Primary functions open, close, read, write, seek Interface that has passed the test of time: haven’t effectively changed yet! BSD socket API is similar open, close, send, recv 9/12/16 EECS 582 – F16

File System Implementation Thompson and Ritchie took special pride in their design of the file system My opinion from the reading Given the long-term impact, I think it’s justified! We’ll skip the details, and wait for next week when we discuss file systems 9/12/16 EECS 582 – F16

Execution Image is an execution environment Container is the current parallel Process is the execution of the image Program text is write-protected and shared between all running processes of the same program Created using fork Inspired by Berkeley Timesharing System 9/12/16 EECS 582 – F16

Processes and the Kernel Separate virtual address space Only one thread! Kernel Mediator for accessing shared resources and kernel services P1 P2 P3 Kernel Interactions via system calls and signals/interrupts 9/12/16 EECS 582 – F16

Worse is Better Simplicity Ease of Use and Maintenance Consistency Across Interfaces Completeness of Design Correctness of Specification and Implementation Placement of Functionality 9/12/16 EECS 582 – F16

Next Class… System R 9/12/16 EECS 582 – F16