Processor Management Flashcards
Central to the design of operating systems is the concept of _____
process
This term was
first used by the designers of Multics in the 1960s [DALE68]. It is a somewhat
more general term than job. Many definitions have been given for the term ____ ,
including
* A program in execution
* An instance of a program running on a computer
* The entity that can be assigned to and executed on a processor
* A unit of activity characterized by a single sequential thread of execution, a
current state, and an associated set of system resources
process
Enumerate the process states
- New
- Running
- Waiting
- Ready
- Terminated
Process state
The process is being created
New
Process state
Instructions are being executed
Running
Process state
The process is waiting for some event to occur (such as an I/O completion or reception of a signal).
Waiting
Process state
the process is waiting to be assigned to a processor.
Ready
Process state
the process has finished execution
Terminated
Three major lines of computer system development created problems in timing and synchronization that contributed to the development:
multiprogramming batch operation, time sharing, and real-time transaction
Development of the Process
designed to keep the processor
and I/O devices, including storage devices, simultaneously busy to achieve maximum
efficiency. The key mechanism is this: In response to signals indicating the
completion of I/O transactions, the processor is switched among the various programs
residing in main memory.
multiprogramming batch operation
Development of the Process
key design objective is to be responsive to the needs of the individual user and yet,
for cost reasons, be able to support many users simultaneously. These goals are
compatible because of the relatively slow reaction time of the user. For example,
if a typical user needs an average of 2 seconds of processing time per minute, then
close to 30 such users should be able to share the same system without noticeable
interference. Of course, OS overhead must be factored into such calculations.
general-purpose time sharing
Development of the Process
. In this case, a number of users are entering queries or updates against a
database. An example is an airline reservation system. The key difference between
the transaction processing system and the time-sharing system is that the former
is limited to one or a few applications, whereas users of a time-sharing system can
engage in program development, job execution, and the use of various applications.
In both cases, system response time is paramount.
real-time transaction
Enumerate
cause of errors
improper synchronization, nondeterminate program operation, failed mutual exclusion, deadlocks
cause of errors
- a program must wait until the data are available in a buffer
- improper design of the signaling mechanism can result in loss or duplication
improper synchronization
cause of errors
- more than one user or program attempts to make use of a shared resource at the same time
- only one routine at a time allowed to perform an update against the file
failed mutual exclusion
cause of errors
- program execution is interleaved by the processor when memory is shared
- the order in which programs are scheduled may affect their outcome
nondeterminate program operation
cause of errors
- it is possible for two or more programs to be hung up waiting for each other
- may depend on the chance timing of resource allocation and release
deadlocks
components of a process
A process contains three components:
enumerate
- an executable program
- the associated data needed by the program (variables, work space, buffers, etc.)
- the execution context (or “process state”) of the program