Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tuesday, June 06, 2006 I hear and I forget, I see and I remember, I do and I understand. -Chinese Proverb.

Similar presentations


Presentation on theme: "Tuesday, June 06, 2006 I hear and I forget, I see and I remember, I do and I understand. -Chinese Proverb."— Presentation transcript:

1 Tuesday, June 06, 2006 I hear and I forget, I see and I remember, I do and I understand. -Chinese Proverb

2 Today §Course Overview §Why a course on operating systems? §What is an operating system?

3 §Course URL http://suraj.lums.edu.pk/~cs381m05 §Folder on indus \\indus\Common\cs381m05 §Website – Check Regularly: Course announcements, Slides, Resources, Policies … §Course Outline CS 381 : Operating Systems

4 §Several programming exercises will be given throughout the course. The purpose of these exercises will be to give students practice in using the UNIX system calls, library functions, and algorithms. §The development environment will be C on UNIX. CS 381 : Operating Systems

5 Assumptions §Unix shell commands §gcc, gdb, makefile §Text editor emacs, vi §C programming

6 Pre-requisites  Computer Organization & Assembly Language (CS 223)  Load registers, interrupts, DMA …  Data Structures

7 What is an OS? §Software between applications and reality: l Abstracts the underlying hardware. l Gives illusion of changing finite into (almost) infinite. l Provides protection (from malicious or buggy programs). compiler editor browser OS hardware spreadsheet Makes reality pretty!

8 Components of a simple personal computer?

9 Components of a simple personal computer Monitor Bus

10 Efficiency. Convenience, ease of use. Optimize utilization E.g. mainframes: expensive Fairness Operating System: Manages all the devices Provides users simpler interface to the hardware

11 Intermediary between a user of a computer and the computer hardware.

12 Monitor Bus Extended Machine : Simpler Interface Disk (Mechanical and Electrical components) Disk I/O?

13 Monitor Bus Extended Machine : Simpler Interface Disk I/O Instructions for loading device registers Motor On/Off, Speed, Movement of disk arm, sectors/tracks … Different for different devices!

14 Hide Complexity §E.g. File interface.

15 OS as Resource Manager Orderly and controlled access, l Resolve conflicts §Prevent illegal accesses §Device I/O (Maintain queues) l E.g. Printers §Sharing Resources l CPU (Time multiplexing) l Memory (Space multiplexing)

16 OS: Extended example of a complex system Deal with complexity. Millions of lines of code.

17 §Hardware and Operating Systems have influenced each other.

18 Charles Babbage (1792-1871) l First analytical Engine l Purely mechanical

19 Vacuum Tubes (1945-55) l Calculating Engines l Entire rooms l Tens of thousands of Vacuum Tubes (problems of burn outs) l Wiring up plug boards! Seen a vacuum tube?

20 Vacuum Tubes (1945-55) l Calculating Engines l Entire rooms l Tens of thousands of Vacuum Tubes (problems of burn outs) l Wiring up plug boards!

21 Transistors (1955-65) l Reliability l FORTRAN Program punched on cards Problems: CPU idle time I/O speeds vs CPU speeds (Mechanical vs Electrical) Costly equipment What if a ; missed?

22 Transistors (1955-65) l Reliability l FORTRAN Program punched on cards Problems: CPU idle time I/O speeds vs CPU speeds (Mechanical vs Electrical) Costly equipment

23 Early batch system l bring cards to 1401 l read cards to tape l put tape on 7094 which does computing l put tape on 1401 which prints output Mostly used for scientific and engineering calculations

24 What if a ; missed? §What if it runs over the cards of another program? l No protection between users

25 ICs and Multiprogramming (1965-1980) IBM 360 series: Software compatible machines Enormous and complex operating systems Costly machines Lead to multiprogramming CPU bound (scientific calculations) I/O bound

26 ICs and Multiprogramming (1965-1980) Software compatible machines Enormous and complex operating systems Costly machines Lead to multiprogramming Protection among users!

27 Introduction of key techniques §Multiprogramming §Spooling (Simultaneous Peripheral Operation On Line) §From Batch systems to Timesharing

28 Introduction of key techniques (cont’d) From Batch systems to Timesharing §I/O “people’s speed” l Response time §Memory management §CPU scheduling §Process Synchronization

29 MIT, Bell Labs and GE “Machine that would support hundreds of time sharing users” MULTICS (MULTIplexed Information and Computing Service) §Ahead of time.

30 At Bell Labs … One user version of MULTICS. Developed into UNIX

31 Linus Benedict Torvalds (August 1991) “ I'm doing a (free) operating system (just a hobby …) for 386(486) clones …” §Linus himself didn't believe that his creation was going to be big enough to change computing forever. §Linux version 0.01 was released by mid September 1991, and was put on the net. §Enthusiasm gathered around this project and codes were downloaded, tested, tweaked, and returned to Linus.

32 Personal Computers (1980 – Present) §Large Scale Integration (LSI) §Intel came with 8080 which became hugely popular §First microcontroller with disk l DOS (Disk Operating Systems) Seattle Computer Products MS-DOS (does not support multiprogramming) l Doug Engelbart (Mouse, GUI) l Apple GUI l Windows

33 Monitor Bus Disk I/O Commands and accepts responses Instructions for loading device registers etc. Different for different devices! Device drivers (by each controller manufacturer) One for each OS supported.

34 Device drivers §Run inside the kernel. §Dynamically loaded drivers.

35 Input/Output §Controllers have registers for communication §Memory mapped I/O §Separate I/O space §Hybrid

36 Some design issues I/O Space §Special IN/OUT instructions (use of assembly code) Memory mapped §Caching of device registers should not be done! §Multiple buses


Download ppt "Tuesday, June 06, 2006 I hear and I forget, I see and I remember, I do and I understand. -Chinese Proverb."

Similar presentations


Ads by Google