There are several threading issues when we are in a multithreading environment. In this section, we will discuss the threading issues with system calls, cancellation of thread, signal handling, thread pool and thread-specific data. Along with the threading issues, we will also discuss how these issues can be deal or resolve to retain the benefit of the multithreaded … [Read more...] about Threading Issues in OS
Operating System
Structure of Page Table
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
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