Concurrency (OS)

What are the different issues in concurrency in the context of an OS?

  1. The OS must be able to keep track of the various processes (done using Process Control Blocks)
  2. 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
  3. 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
  4. 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