Synchronization hardware is a hardware-based solution to resolve the critical section problem. In our earlier content of the critical section, we have discussed how the multiple processes sharing common resources must be synchronized to avoid inconsistent results. Well, we can synchronize the processes sharing a common variable in two ways. First is the software-based … [Read more...] about Synchronization Hardware
Operating System
Difference Between fork() and exec() System Call
The fork() and exec() are the system calls that are used for controlling processes. Both are used to create a new process where the process is the program in execution. The fork() system call when invoked by any process creates a new duplicate child process of the invoking process. However, the exec() system call when invoked by any process replaces the invoking process … [Read more...] about Difference Between fork() and exec() System Call
Multiple Processor Scheduling
Multiple processor scheduling or multiprocessor scheduling focuses on designing the scheduling function for the system which is consist of 'more than one processor'. With multiple processors in the system, the load sharing becomes feasible but it makes scheduling more complex. As there is no policy or rule which can be declared as the best scheduling solution to a system … [Read more...] about Multiple Processor Scheduling
Threading Issues in OS
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
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