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
Operating System
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. Static memory allocation method assigns the memory to a process, before its execution. On the other hand, the dynamic memory allocation method assigns … [Read more...] about Memory Allocation
Directory Structure
Several users create thousands and millions of files in a file system. To organize these files properly file system uses directory structure. The directory structure has the entries of the all the files related to that directory. We can consider that a directory is a file, that contains information about the other files. Here, we will discuss some common schemes defining the … [Read more...] about Directory Structure
Process Control Block (PCB)
For each process, the operating system maintains the data structure, which keeps the complete information about that process. This record or data structure is called Process Control Block (PCB). Whenever a user creates a process, the operating system creates the corresponding PCB for that process. These PCBs of the processes are stored in the memory that is reserved for the … [Read more...] about Process Control Block (PCB)