Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.