OSTEP: Chapter 4.
With so many things happening at once in system, need some way of separating them all out cleanly. That is a process.
Important concept: decomposition. Given hard problem, chop it up into several simpler problems that can be solved separately.
What is a process?
Is a process the same as a program?
Some systems allow only one process (mostly personal computers). They are called uniprogramming systems (not uniprocessing; that means only one processor). Easier to write some parts of OS, but many other things are hard to do.
Most systems allow more than one process. They are called multiprogramming systems.
First, have to keep track of all the processes. For each process, process control block holds:
Process table: collection of all process control blocks for all processes.
Execution
State |
Scheduling
Information |
Accounting
and Miscellaneous |
How can several processes share one CPU? OS must make sure that processes do not interfere with each other. This means
Dispatcher (also called Short Term Scheduler): inner-most portion of the OS that runs processes: