Next: Queueing Laws
Up: 4560
Previous: Contents
  Contents
- operating system provides environment for program execution
- primary goal: make the computer convenient to use
- secondary goal: use the hardware in an efficient manner.
- OS is intermediary between user (and applications) and H/W
- OS is a manager and allocator of resources
- must allocate resources efficiently and fairly
- OS is a control program
- controls the execution of user programs
- prevents errors and improper use of the computer
- OS is the one program running at all times on the computer
Intro: Abstract View of OS as Intermediary [4]
Intro: Early Systems [5]
- large and expensive machines run from a console
- programmer was also the operator
- many separate steps:
- loading/unloading of magnetic and paper tapes, punch cards
- while tapes were being mounted:
- CPU sat idle - no work was being done
Intro: Evolutionary Steps [6]
- professional operator was hired
- jobs with similar needs were batched together and run as a group
- resident monitors transferred control from job to job
- overlapped CPU and I/O operations were introduced
- replaced card readers, line printers with magnetic-type units
- readers and printers were operated off-line
- replaced tapes (sequential-access) with disks (random-access)
- introduced simultaneous peripheral operation on-line (spooling)
Intro: Spooling [7]
Intro: Multiprogramming [8]
- increases CPU utilization
- organizes jobs so that CPU always has something to execute
- OS keeps several jobs in memory
- OS picks and begins to execute one of the jobs
- OS switches to/executes another job when current job waits
- when a program does I/O, the CPU works on another program
- all the jobs are kept in the job pool
- on disk awaiting allocation of main memory
- if not enough memory, OS must choose (job scheduling)
- OS allocates memory (memory management)
- OS allocates CPU to one process (CPU scheduling)
Intro: Memory Layout for Multiprogramming [9]
Intro: Batch Systems [10]
- multiprogrammed but do not permit interaction with the user
- appropriate for executing large jobs that need little interaction
- But
- user provides commands to handle job steps (may be dependent)
- programs must be debugged statically
Intro: Time-Sharing Systems [10]
- multiprogrammed and do allow interaction with the user
- switch rapidly from one user to the next
- each user has impression of their own computer
- programs can be larger than physical memory (virtual memory)
- programs interact with user (short time before it needs to do I/O)
Intro: Process Management [11]
- OS manages processes, memory, files, networking
- a process is program in execution
- OS is responsible for process management:
- creation/deletion of both user and system processes
- suspension/resumption of processes
- process synchronization, communication and deadlock handling
Intro: Memory Management [11]
- CPU directly addresses main memory (and no other storage device)
- OS is responsible for memory management:
- which parts of memory are being used and by whom
- which processes are to be loaded into memory
- allocate/deallocate memory space as needed
Intro: Secondary-Storage Management [12]
- main memory is too small for all data and programs
- info lost when power is lost
- secondary storage (disk) is used to back up main memory
- OS is responsible for disk management:
- item free-space management
- storage allocation
- disk scheduling
Intro: File Management [13]
- info stored on several different types of physical media
- OS provides a uniform logical view of info (unit of storage: file)
- OS is responsible for file management:
- creation/deletion of files and directories
- support of primitives for manipulating files and directories
- mapping of files onto secondary storage
- backup of files on stable (nonvolatile) storage media
Intro: Network Management [13]
- a distributed system collects
- physically separate, possibly heterogeneous systems
- into a single coherent system
- processors in system are connected by communication network
- LANs (local-area networks) and WANs (wide-area networks)
- OS generalizes network access as a form of file access
Intro: OS Services [14]
- OS provides services to programs and users:
- program execution and I/O operations
- file-system manipulation
- communications
- error detection
- resource allocation
- accounting and protection
Intro: System Calls [14]
- system calls: interface between running program and OS
- process control
- file manipulation
- device manipulation
- information maintenance
- communications
Intro: System Programs [15]
- convenient environment for program development/execution:
- file manipulation and modification
- status information
- programming-language support
- program loading and execution
- communications
- application programs
Intro: UNIX Limited Structure [16]
Intro: VENUS Layered Structure [17]
- OS are complex and require a layered solution
- increases modularity
- a function only uses functions of lower-level layers
Next: Queueing Laws
Up: 4560
Previous: Contents
  Contents
Ted Billard
2001-11-17