Structure of page table simply defines, in how many ways a page table can be structured. Well, the paging is a memory management technique where a large process is divided into pages and is placed in physical memory which is also divided into frames. Frame and page size is equivalent. The operating system uses a page table to map the logical address of the page generated by CPU … [Read more...] about Structure of Page Table
Operating System
Deadlock Characterization
Deadlock characterization describes the distinctive features that are the cause of deadlock occurrence. Deadlock is a condition in the multiprogramming environment where the executing processes get stuck in the middle of execution waiting for the resources that have been held by the other waiting processes thereby preventing the execution of the processes. In this content, … [Read more...] about Deadlock Characterization
Segmentation in OS
The concept of segmentation in os is similar to paging which is used for memory management. Segmentation divides the user program and the data associated with the program into the number of segments. Well, there is a difference between paging and segmentation in paging each page has an equivalent fixed size whereas segments are of variable size. The segmentation maps to the … [Read more...] about Segmentation in OS
Semaphore in Operating System
Semaphore in OS is an integer value that indicates whether the resource required by the process is available or not. The value of a semaphore is modified by wait() or signal() operation where the wait() operation decrements the value of semaphore and the signal() operation increments the value of the semaphore. The wait() operation is performed when the process wants to … [Read more...] about Semaphore in Operating System
Thread Libraries in OS
Thread Libraries has a collection of functions that useful in creating and controlling threads. Programmers can access these thread libraries using an application programming interface (API). Thread libraries can be the user level library or kernel level library. If the thread library is implemented at the userspace then code and data of the thread library would reside in … [Read more...] about Thread Libraries in OS
Critical Section Problem
The part of the process, where the code for accessing the shared resources is written, that part or section is the critical section (CS) of that process. Now the critical section problem is to implement such a solution, which can be used by the processes to cooperate when they share common resources. To execute its critical section, a process must take care of the three … [Read more...] about Critical Section Problem
Parallel Processing
Parallel processing requires multiple processors and all the processor works simultaneously in the system. Here, the task is divided into subparts and these subparts are then distributed among the available processors in the system. Parallel processing completes the job on the shortest possible time. Let us understand the scenario with the help of a real-life … [Read more...] about Parallel Processing
Contiguous Memory Allocation
Contiguous memory allocation is a memory allocation method that allocates a single contiguous section of memory to a process or a file. This method takes into account the size of the file or a process and also estimates the maximum size, up to what the file or process can grow? Taking into account the future growth of the file and its request for memory, the operating system … [Read more...] about Contiguous Memory Allocation
Swapping in Operating System
Swapping is one of the several methods of memory management. In swapping an idle or a blocked process in the main memory is swapped out to the backing store (disk) and the process that is ready for execution in the disk, is swapped in main memory for execution. We will be discussing swapping in more detail. As we all know, a process must be placed in main memory for its … [Read more...] about Swapping in Operating System
Memory Allocation
Memory allocation is an action of assigning the physical or the virtual memory address space to a process (its instructions and data). The two fundamental methods of memory allocation are static and dynamic memory allocation. The static memory allocation method assigns the memory to a process, before its execution. On the other hand, the dynamic memory allocation method … [Read more...] about Memory Allocation