What Is An Operating System?: CPU Data Bus Address Bus
What Is An Operating System?: CPU Data Bus Address Bus
What Is An Operating System?: CPU Data Bus Address Bus
Data bus
CPU Address bus
Controller Controller
Main
Memory
User
I/O Subsystem
CS 431 -- Computer Operating Systems 3 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 4 2002 Timothy J. McGuire, Ph.D.
CS 431 -- Computer Operating Systems 11 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 12 2002 Timothy J. McGuire, Ph.D.
Early 1960s: Multiprogramming
Spooling
and multiprocessing
Multiprogramming: several users share system at Overlaps I/O of one job with computation
same time of another job.
batched: keep CPU busy by switching in other While executing a job, the OS
work when idle (e.g., waiting for I/O)
Reads next job from card reader into storage
Multitasking (timesharing): frequent switches to
area on disk (job queue)
permit interactive use (extension of
multiprogramming) Outputs printout of previous job from disk to
printer
Multiprocessing: several processors are used on a
single system Issue: what job to select to run next?
CS 431 -- Computer Operating Systems 13 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 14 2002 Timothy J. McGuire, Ph.D.
Mid-1960s to mid-1970s:
Spooling
General purpose systems
Large and expensive (e.g., OS/360)
100ks of lines of code
hundreds to thousands of development man-
years
complex, asynchronous, ideosyncratic to
specific hardware
never completely debugged (1000s of release
bugs)
hard to predict behavior, requires guesswork
CS 431 -- Computer Operating Systems 15 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 16 2002 Timothy J. McGuire, Ph.D.
CS 431 -- Computer Operating Systems 17 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 18 2002 Timothy J. McGuire, Ph.D.
Different actors view OS
Two interesting special cases
differently
Distributed systems Operating system designers--systems
tightly coupled (shared memory and clock) vs. components and their interconnections
loosely coupled (distributed) Users--services provided by the operating
issues of resource sharing, load sharing, system
reliability, communication
Programmers--interface provided (i.e.,
Real-time systems
system calls), their organization, and other
obligation to complete processing to meet
defined constraints. Often conflicts with
abstractions
timesharing
CS 431 -- Computer Operating Systems 19 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 20 2002 Timothy J. McGuire, Ph.D.
CS 431 -- Computer Operating Systems 21 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 22 2002 Timothy J. McGuire, Ph.D.
CS 431 -- Computer Operating Systems 23 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 24 2002 Timothy J. McGuire, Ph.D.
Main memory management Secondary storage management
The operating system must Persistent storage; larger capacity than
Keep track of which parts of memory are primary storage
currently being used and by whom. Generally disks in modern systems
Decide which processes to load when memory
Operating system responsibilities:
space becomes available.
Free-space management
Allocate and deallocate memory space as
needed. Storage allocation
Disk scheduling
CS 431 -- Computer Operating Systems 25 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 26 2002 Timothy J. McGuire, Ph.D.
CS 431 -- Computer Operating Systems 33 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 34 2002 Timothy J. McGuire, Ph.D.
CS 431 -- Computer Operating Systems 37 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 38 2002 Timothy J. McGuire, Ph.D.
CS 431 -- Computer Operating Systems 41 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 42 2002 Timothy J. McGuire, Ph.D.
System calls System structure
Communications Simple approach
create, delete communication connection MS-DOS written to provide the most
send, receive messages functionality in the least space
transfer status information not divided into modules
Although MS-DOS has some structure, its
attach or detach remote devices interfaces and levels of functionality are not
well separated
CS 431 -- Computer Operating Systems 43 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 44 2002 Timothy J. McGuire, Ph.D.
CS 431 -- Computer Operating Systems 45 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 46 2002 Timothy J. McGuire, Ph.D.
CS 431 -- Computer Operating Systems 51 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 52 2002 Timothy J. McGuire, Ph.D.
CS 431 -- Computer Operating Systems 53 2002 Timothy J. McGuire, Ph.D. CS 431 -- Computer Operating Systems 54 2002 Timothy J. McGuire, Ph.D.