JMS 1 CSE 350, Spring 2001 The Unix Time-sharing System Chuck Davin Software Design & Engineering CSE 350 Spring 2001.

Slides:



Advertisements
Similar presentations
Classic Systems: Unix and THE Presented by Hakim Weatherspoon.
Advertisements

EEE 435 Principles of Operating Systems Operating System Concepts (Modern Operating Systems 1.5)
Enrique Blanco García © 2004 Introduction to the UNIX environment Enrique Blanco Cover from the book Modern operating systems. A. Tanenbaum.
Classic Systems: Unix and THE Presented by Hakim Weatherspoon.
CSE350 Software Design and Engineering University of Pennsylvania Professor Jonathan M. Smith Office: 254 Moore GRW, Phone:
Course Overview Introduction Computer System Structures
Unix Systems Administration 1Y. K. Chang Reasons for UNIX’s success 4 Written in high level language –easy to read, understand, change, and move to other.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
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.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Introduction to Kernel
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
Operating Systems - Introduction S H Srinivasan
1 File Management in Representative Operating Systems.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
Common System Components
Silberschatz, Galvin and Gagne  Operating System Concepts Common OS Components Process Management Memory Management File Management I/O System.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
1 I/O Management in Representative Operating Systems.
1 What is an operating system? CSC330Patricia Van Hise.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
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.
Classic Systems: Unix and THE Presented by Hakim Weatherspoon.
 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.
UNIX and Shell Programming (06CS36)
LINUX System : Lecture 2 OS and UNIX summary Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement.
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,
ITEC 502 컴퓨터 시스템 및 실습 Chapter 8-2: I/O Management (Review) Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
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
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
LINUX System : Lecture 7 Bong-Soo Sohn Lecture notes acknowledgement : The design of UNIX Operating System.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
UNIX and Shell Programming
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 Unit 1- Architecture of Unix - By Pratima.
Linux File system Implementations
UNIX & Windows NT Name: Jing Bai ID: Date:8/28/00.
CSC414 “Introduction to UNIX/ Linux” Lecture 2. Schedule 1. Introduction to Unix/ Linux 2. Kernel Structure and Device Drivers. 3. System and Storage.
Operating Systems, Spring 2003 Local File Systems in UNIX Ittai Abraham Zinovi Rabinovich (recitation)
Copyright © Curt Hill Operating Systems An Introductory Overview.
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.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
Operating Systems.
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
I/O Software CS 537 – Introduction to Operating Systems.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
CEG 2400 FALL 2012 Linux/UNIX Network Operating Systems.
WHY AN OPERATING SYSTEM (OS) OS interacts with hardware and manages programs. Programs not expected to know which hardware they will run on. Must be possible.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
CT101: Computing Systems Introduction to Operating Systems.
Introduction to Operating Systems Concepts
CASE STUDY 1: Linux and Android
The UNIX Time-Sharing System (1974)
The UNIX Time-Sharing System
Advanced UNIX progamming
Operating Systems Lecture 1.
Introduction to Operating Systems
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System.
Operating Systems CS451 Spring 1998
Outline Operating System Organization Operating System Examples
Operating Systems Structure
Chapter 1: Introduction CSS503 Systems Programming
The UNIX Time Sharing System
Presentation transcript:

JMS 1 CSE 350, Spring 2001 The Unix Time-sharing System Chuck Davin Software Design & Engineering CSE 350 Spring 2001

JMS 2 CSE 350, Spring 2001 The Unix Time-sharing System D. M. Ritchie and K. Thompson. The Unix time-sharing system. BSTJ, 57:6 (July-August, 1978), K. Thompson. Unix implementation. BSTJ, 57:6 (July-August, 1978),

JMS 3 CSE 350, Spring 2001 Features A hierarchical filesystem incorporating demountable volumes Compatible file, device, interprocess communication The ability to initiate asynchronous processes System command language selectable on a per-user basis Over 100 subsystems including a dozen languages High degree of portability

JMS 4 CSE 350, Spring 2001 Unix History First version (ca ) on DEC PDP-7 and PDP-9. Second version on unprotected DEC PDP- 11/20. Third version with multiprogramming on PDP- 11/34, 40, 45, 60, 70. Fourth version on DEC PDP-11/70 and Interdata 8/32. February, 1971: PDP-11 Unix first operational. Familiar epoch: midnight, January 1, 1970.

JMS 5 CSE 350, Spring 2001 Economics of the 1970s Hardware cost: $40,000 Software cost: two man-years Cost recovery for disk space

JMS 6 CSE 350, Spring 2001 PDP-11/70 Platform 16-bit word (8-bit byte) 768 KBytes core memory System kernel 90 KBytes Minimal system 96 Kbytes Two 200 MByte moving-head disks 20 variable speed (300 to 1200 baud) communication interfaces 12 communication lines (9600 baud) Synchronous interfaces (2400 and 4800 baud) for inter- machine file transfer Nine-track tape, line printer, phototypesetter Voice synthesizer, digital switching network, chess machine

JMS 7 CSE 350, Spring 2001 A Unix System in 1978 User population: 125 Maximum simultaneous users: 33 Directories: 1630 Files: Disk blocks (512-byte) used: 301,700 Daily command invocations: Daily (non-idle) CPU hours: 9.6 Daily connect hours: 230

JMS 8 CSE 350, Spring 2001 The C Programming Language System re-coded in C in summer, /3 bigger than assembler language version

JMS 9 CSE 350, Spring 2001 Observation "The most important role of the system is to provide a file system." (Page 1907)

JMS 10 CSE 350, Spring 2001 Filesystem Properties Internal file structure controlled by application programs Internal file structure not imposed by system Hierarchy Directories as files "." and ".." convention Links Restrictions on namespace topology Mountable volumes

JMS 11 CSE 350, Spring 2001 File Types Ordinary Directory Special –Character –Block

JMS 12 CSE 350, Spring 2001 Filesystem Representation i-Number i-List i-Node

JMS 13 CSE 350, Spring 2001 File Properties Owner user-id Owner group-id Protection bits Physical disk (or tape) address of contents Size Time of creation Time of last use Time of last modification Number of links File type

JMS 14 CSE 350, Spring 2001 File Protection User (owner) read, write, execute Group read, write, execute Others read, write, execute Set-user-id --drwxwrxrwx "Execute" permission on directories

JMS 15 CSE 350, Spring 2001 Filesystem API filep = open (name, flag) filep = create (name) n = read (filep, buffer, count) n = write (filep, buffer, count) location = lseek (filep, offset, base)

JMS 16 CSE 350, Spring 2001 File Space Management Blocks 0 through 9 indicated in i-Node Blocks 10 through 137 indicated indirectly Blocks 138 through indicated doubly indirectly Blocks and higher indicated triply indirectly Performance Techniques: caching and read- ahead

JMS 17 CSE 350, Spring 2001 Special File Naming Example Name: /dev/foo Major Device Number: selects driver code Minor Device Number: selects device instance within class

JMS 18 CSE 350, Spring 2001 File System Data Structure

JMS 19 CSE 350, Spring 2001 Process Management API processid = fork () execute (file, arg1,..., argN) processid = wait (& status) exit (status) filep = pipe () Traps, Signals Minimalist, integrated process synchronization

JMS 20 CSE 350, Spring 2001 Process Control Data Structure

JMS 21 CSE 350, Spring 2001 The Shell and Reusability Redirection Stdin, stdout, stderr Pipes and filters Argument parsing and globbing Multitasking Basic control structures

JMS 22 CSE 350, Spring 2001 Perspective "The success of the Unix system is largely due to the fact that it was not designed to meet any predefined objectives.“ (Page 1926) Motivation: dissatisfaction with existing facilities.

JMS 23 CSE 350, Spring 2001 Retrospective Design Considerations Easy to write, test, run programs –Interactive use Constraints on size Self-maintenance –Available source code

JMS 24 CSE 350, Spring 2001 Easy Programming Device-independent file abstraction No "access methods" Few system constraints on program

JMS 25 CSE 350, Spring 2001 Influences fork () from GENIE time-sharing system I/O API from Multics Shell concept from Multics Implementing "system" code as user primitives from Multics

JMS 26 CSE 350, Spring 2001 Unix Implementation 10,000 lines of C code 1,000 lines of assembler code –800 lines not possible in C –200 lines for efficiency

JMS 27 CSE 350, Spring 2001 Observation "Throughout, simplicity has been substituted for efficiency." (Page 1932)

JMS 28 CSE 350, Spring 2001 Observation "The UNIX kernel is an I/O multiplexer more than a complete operating system. This is as it should be." (Page 1945)

JMS 29 CSE 350, Spring 2001 Unsupported Features File access methods File disposition File formats File maximum size Spooling Command language Logical records Physical records Logical file names Multiple character sets Operator and operator console Login and logout