Lecture #13 (26 February 2002)
Operating Systems
| Overall Reading |
| Brookshear: |
Ch. 3.1, 3.3 |
Outline:
Life would be simple if a computer was always devoted to only one activity at a time.
This was the case with the earliest computers, but certainly is no longer the case.
Multiuser environments
Single-user environemnts, with multiple processes
Multiple Processor Distributed Environments (Network)
The main issue is that all activities must share resources with each other.
Use of the CPU
Use of main memory
Mass Storage and File Systems
Keyboard, Printer, etc.
The operating system coordinates the use of all of these resources.
History
The Human Operator and the Job Queue
(still one job at a time)
Time-Sharing
(multiple users sharing the same machine at the same time)
Multitasking
(single user might still want to run multiple tasks at the same time)
Networked Systems
many processors/computers working across the network. Still may need to share files, information, software licenses, etc.
We want to make a distinction between a program, and the activity of executing a program.
We will call the activity of executing a program a process.
Process State
When a program is executing in PIPPIN, what information must be
written down to describe the current status?
(Program Counter, Registers, Memory Contents)
Process Table
The operating system keeps track of all the active processes. A
process table is maintained with information on each process.
In addition to the process' state, informatin such as a 'priority' may
be maintained.
In Windows, if you want to see the list of active processes,
type control-alt-delete, and select the "Task Manager" button.
Then select the "Processes" tab.
Time Slicing and the Scheduler
In a time-sharing system, control of the CPU is given to a process
only for a very short time slice. After that time slice, the
process state is saved to memory, and then another process is given a
time slice. A scheduler coordinates this CPU use
(see Fig. 3.6, p. 133 of [Br]).
When one time-slice ends and another begins, a process switch
takes place. There is a natural trade-off between the performance
and reaction time, depending on the length of time per slice
(typically chosen to be about 50 milliseconds).
Memory Management
In addition to controlling process' use of the CPU, the operating
system must coordinate the use of main memory among processes. It
would be very bad if one process was allowed to read or change
information stored in memory by another process.
All of this interaction requires a good deal of communicaiton. A
common design within an operating system is the use of a
client/server model.
networks).
In this asymmetric design, components play one of two roles:
a client makes requests of other units
a server sends replies which satisfy the requests made by clients,
This design greatly simplifies the system. In fact, a similar model
can be used across a network, where clients and servers reside on
different machines, and messages are passed through the network.
comp150 Class Page
mhg@cs.luc.edu
Last modified: 26 February 2002