Time & Space Efficiency of Virtual Memory

Similar Posts

  • Deadlock Detection

    A deadlock in a resource allocation graph can be detected by executing a graph reduction algorithm by repeating this process: Select an unblocked process p. Remove p, including all request and allocation edges connected to p. Anything left is blocked, and risks deadlock. However, it is considered completely reducible if there are no processes left…

  • The Implementation of Semaphores

    Most contemporary computer architectures offer hardware support for process synchronization in the form of specialized machine instructions. The test-and-set instruction (TS) copies a variable into a register and sets the variable to zero in one indivisible machine cycle. Test-and-set has the form TS(R, x) where R is a register and x is a memory location and performs…

  • Process Interactions

    Concurrency is when multiple processes (or threads) execute at the same time. When multiple physical CPUs are available, the processes may execute in parallel. On a single CPU, concurrency may be achieved by time-sharing. There is a whole study in the process of parallel programming, where you design applications to run on multiple processors simultaneously to…

  • Classic Synchronization Problems

    The Readers-Writers Problem The readers-writers problem is an extension of the critical section problem where two types of processes, readers and writers. However, it involves an interesting issue when the processes compete for access to a common resource. Multiple readers are allowed to enter the critical section concurrently but only one writer is allowed to…

  • Role of the OS

    Book chapter notes: The operating system (OS) is the software that runs on the bare hardware of a computer and provides essential support for users to develop and use applications in the most efficient and safe manner. The OS will also serve as an abstraction layer for the user/applications to interact with hardware. The OS can serve…

  • Introduction to Threads

    An application implemented as a single process follows a single path of execution through the program. Most (All) applications you’ve written at this point are single process applications. When a process is blocked by a resource, then the whole process is blocked. However, many applications have other parts of the application that could continue to…