Concurrency (OS)
What are the different issues in concurrency in the context of an OS?
- The OS must be able to keep track of the various processes (done using Process Control Blocks)
- The OS must allocate and deallocate various resources for each active process. At times, multiple processes want access to the same resource, such as:
- Processor time: This is the scheduling function
- Memory: Most operating systems use a virtual memory scheme
- Files
- I/O devices
- The OS must protect the data and physical resources of each process against unintended interference by other processes. This involves techniques that relate to memory, files, and I/O devices
- The functioning of a process, and the output it produces, must be independent of the speed at which its execution is carried out relative to the speed of other concurrent processes