The UNIX Time-Sharing System Mosharaf Chowdhury EECS 582 – W1611/11/16.

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.
EEE 435 Principles of Operating Systems Operating System Concepts (Modern Operating Systems 1.5)
Chap 2 System Structures.
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.
Operating Systems - Introduction S H Srinivasan
6/24/2015B.RamamurthyPage 1 File System B. Ramamurthy.
JMS 1 CSE 350, Spring 2001 The Unix Time-sharing System Chuck Davin Software Design & Engineering CSE 350 Spring 2001.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
G Robert Grimm New York University Protection and the Control of Information Sharing in Multics.
7/15/2015B.RamamurthyPage 1 File System B. Ramamurthy.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
UNIX OS By: Desmond Dagg Alannah Storm Mullins Carl Kavanagh Gareth Dunne Behzad Sanehi.
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.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
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
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: Phone:
LIS508 background of GNU/Linux
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
Operating Systems of The Future ( and Plan 9 ) Shilad Sen – April 26 th, 2007.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
1 Pertemuan 3 Konsep Sistem Operasi Matakuliah: T0316/sistem Operasi Tahun: 2005 Versi/Revisi: 5.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Operating System Part II: Introduction to the Unix Operating System (The Evolution of Unix)
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
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
CSE 5343/7343UNIX Case Study1 CSE 5343/7343 Fall 2006 Case Studies UNIX History/Processes.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
UNIX History - joint venture between MIT and Bell Labs (originally called Multics) – Ken Thompson (AT&T) created an operating system to run Space.
UNIX Unit 1- Architecture of Unix - By Pratima.
The Mach System Silberschatz et al Presented By Anjana Venkat.
Basic UNIX Concepts. Why We Need an Operating System (OS) OS interacts with hardware and manages programs. A safe environment for programs to run is required.
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.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Chapter 1 Introduction  What is an operating system  History of operating systems  The operating system zoo  Computer hardware review  Operating system.
Lecture 02 File and File system. Topics Describe the layout of a Linux file system Display and set paths Describe the most important files, including.
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.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Operating System Structure Lecture: - Operating System Concepts Lecturer: - Pooja Sharma Computer Science Department, Punjabi University, Patiala.
Paper Discussions Karthik Dantu Steve Ko.
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Andy Wang COP 5611 Advanced Operating Systems
CASE STUDY 1: Linux and Android
Introduction to Operating System (OS)
KERNEL ARCHITECTURE.
The UNIX Time-Sharing System
OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S
Chapter 2: System Structures
File System B. Ramamurthy B.Ramamurthy 11/27/2018.
UNIX System Protection
Chapter 2: Operating-System Structures
Introduction to Operating Systems
Chapter 2: Operating-System Structures
Introduction and History
The UNIX Time Sharing System
Presentation transcript:

The UNIX Time-Sharing System Mosharaf Chowdhury EECS 582 – W1611/11/16

Time Sharing As opposed to batch processing Submit jobs to queues to be processed one at a time Non-interactive Divide a shared resource between multiple programs and users to lower the cost of computing John McCarthy wrote a memorandum in 1959 Early examples include MIT CTSS (Compatible Time-Sharing System) Berkeley Timesharing System Dartmouth Time-Sharing System (DTSS) 1/11/16EECS 582 – W162

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 /11/16EECS 582 – W163

UNIX Started by Ken Thompson and Dennis Ritchie in /11/16EECS 582 – W164 “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”

UNIX First version on DEC PDP-7 and PDP-9 (circa ) 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 1/11/16EECS 582 – W165

PDP-11/40 1/11/16EECS 582 – W bit word (8-bit byte) 144K bytes core memory 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 pg

Simplicity Simple abstractions Everything is a file Simple file system design Hierarchical for programming simplicity Simple connectors Pipes that look like files Simple maintenance Self-maintained 1/11/16EECS 582 – W167 “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”

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 1/11/16EECS 582 – W168 “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”

Key Concepts Names and namespaces 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 1/11/16EECS 582 – W169

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

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

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 1/11/16EECS 582 – W1612

No Locks 1/11/16EECS 582 – W1613 “We take the view that locks are neither necessary nor sufficient, in our environment, to prevent interference between users of the same file. They are unnecessary because we are not faced with large, single-file data bases maintained by independent processes. They are insufficient because locks in the ordinary sense, whereby one user is pre- vented from writing on a file which another user is reading, cannot prevent confusion when, for example, both users are editing a file with an editor which makes a copy of the file being edited.” - DR & KT, “The UNIX Time-Sharing System”

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 read FFS 1/11/16EECS 582 – W1614

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 1/11/16EECS 582 – W1615

Processes and the Kernel Process Separate virtual address space Only one thread! Kernel Mediator for accessing shared resources and kernel services 1/11/16EECS 582 – W1616 P1P2P3 Kernel Interactions via system calls and signals/interrupts

Pipes This is the ‘|’ when writing shell commands Mechanism for inter-process communication Using file descriptor Again files! Allows to build large workflows by connecting separate programs We do the same today 1/11/16EECS 582 – W1617

Worse is Better & End-to-End Arguments 1.Simplicity 2.Ease of Use and Maintenance 3.Consistency Across Interfaces 4.Completeness of Design 5.Correctness of Specification and Implementation 6.Placement of Functionality 1/11/16EECS 582 – W1618

Next Class… System R 1/11/16EECS 582 – W1619