Question: | |
______ & _____ are atomic operations in almost all systems | |
These mechanisms ensure that only one process is doing certain things at once (others are excluded)- most of these include a locking mechanism | |
What are the correctness criteria for P/V bounded-buffer problem? | |
This is an integer variable that can be accessed only through two atomic operations, P() and V(). (invented by Dijkstra) | |
What are the three elements of locking? | |
This is an atomic operation that increments the semaphore S by 1 | |
after ______, control returns back to next instruction in the program (ret. address- the PC at that point- is pushed onto stack) | |
This consists of a lock and zero or more condition variables for managing concurrent access to shared data | |
Type of semaphore whose integer variable can range over an unrestricted domain | |
this is a semaphore that is restricted to locked/unlocked, 0/1, available/unavailable, etc. | |
Disadvantages of using Process (2): | |
What do you call performing activities one after another? | |
The two methods for the birth of a process: | |
Interrupts are _____ while the first interrupt is being processed | |
What are the 3 classic problems of synchronization? | |
This is an atomic operation that waits for a semaphore to become positive, then decrements it by 1 | |
______ is when the OS saves the state (PC, PSW, regs) of a process and then restores the state of another process (ie. a process that is in the ready state) | |
When should an OS perform context switching? | |
variables shared between multiple processes are called | |
main advantage of multiprogramming? | |
As a resource manager, what are the OS's main concerns? | |
what is a process? | |
This is the basic unit of CPU utilization; has PC, regs, stack; same address space, open files, signal handlers as process | |
Components of a program, called sectors: (4) | |
For every interrupt, there's a fixed mem location for ______ | |
This is when the user decides which threads map to distinct kernel threads and which share | |
Three operations on condition variables: | |
In this mode, the executing code has complete and unrestricted access to the underlying hardware. It can execute any CPU instruction and reference any memory address | |
When you map user-level threads to kernel threads, this is of the _______ model | |