Mid-term 2

Chapter 5 OS terminology

77 cards   |   Total Attempts: 188
  

Cards In This Set

Front Back
Atomic operation
A sequence of one or more statements that appears to be indivisible; that it, no other process can see an intermediate state or interrupt the operation
Critical Section
A section of code within a process that requires access to shared resources and that must not be executed while another process is in a corresponding section of code
Deadlock
A situation in which two or more processes are unable to proceed because each is waiting for one of the others to do something.
Livelock
A situation in which two or more processes continually change their states in response to changes in the other process(es) without doing any useful work.
Mutual Exclusion
The requirement that when one process is in a critical section that accesses shared resources, no other process may be in a critical section that accesses any of those shared resources
Race Condition
A situation in which multiple threads or processes read and write a shared data item and the final result depends on the relative timing of their execution
Starvation
A situation in which a runnable process is overlooked indefinitely by the scheduler; although it is able to proceed, it is never chosen
What design and management issues are raised by the existence of concurrency?
The OS must:
- Keep track of various resources
- Allocated and de-allocate resources
- Protect the data and resources against interference by other processes
- Ensure that the processes and outputs are independent of the processing speed
Semaphore
An integer value used for signalling among processes
What 3 operations may be performed on a semaphore? (all atomic)
- Initialize
- Decrement
- Increment
What is a Monitor?
A programming language construct that provides equivalent functionality to that of semaphores and that is easier to control
What are some chief characteristics of a monitor?
1) Local data variables are accessible only by the monitor
2) Process enters monitor by invoking one of its procedures
3) Only one process may be executing in the monitor at a time
What is Synchronization?
The idea that multiple processes are to join up or handshake at a certain point, so as to reach an agreement or commit to a certain sequence of action
What two requirements must be satisfied in order for processses to interact with one another?
1) Synchronization
2) Communication (Message Passing is one solution to this one)
Direct Addressing
Send primative includes a specific id of the dest process

Receive primitive could know ahead of time which process a message is expected
Received primitive could use source prarameter to return a value when the receive operation has been performed