The producer-consumer problem which is also known by the term bounded buffer problem is a process synchronization problem. Process synchronization coordinates the execution of processes sharing common resources in such a way that there is no concurrent access to the shared resources to avoid race conditions. In this context, we are going to discuss the producer-consumer … [Read more...] about Producer Consumer Problem
Operating System
Interprocess Communication (IPC)
Interprocess communication takes place between the cooperating processes. These processes communicate with each other by sharing data and information. Although there occur some issues while establishing interprocess communication. We will discuss those issues along with their solution. We will also discuss ways to achieve interprocess communication. Content: Interprocess … [Read more...] about Interprocess Communication (IPC)
System Software
System software is software that allows users to interact with the computer’s hardware. We all are aware that computer understands machine language only. Machine language includes instructions in the form of strings of 0s and 1s. However, machine language is quite difficult for a general user. So, the user instructs its need to the computer in a high-level language that the … [Read more...] about System Software
Scheduling in Operating System
Scheduling in operating system is the process of selecting a process from a ready queue. And allotting CPU to this process for execution. The operating system schedules the processes in such a way that the CPU doesn't sit idle. And keeps processing some or the other process. Scheduling is an important part of an operating system. As perfect scheduling increases the … [Read more...] about Scheduling in Operating System
Process in Operating System
A process in operating system is a program that is currently in the execution phase. The operating system maintains a table that has an entry of each process in the system. This entry has information about the particular process. In this context, we will discuss the operating system's process. Along with process types, its life cycle, its states and the associated … [Read more...] about Process in Operating System
System Call in Operating System
A system call is a function used by the user program to request the operating system's services. System call creates an interface that helps user programmers to communicate with the operating system to request its services. System calls are always executed in the kernel mode of the operating system. In this context, we will be discussing the system call, and how to invoke … [Read more...] about System Call in Operating System
Operating System Structure
The operating system structure illustrates the organization of modules inside it. The structure of the operating system varies from system to system. Engineers design it more carefully. So that the operating system functions properly and adopts the modification easily. We will be discussing different structures of the operating systems. We will learn how are modules … [Read more...] about Operating System Structure
Synchronization Hardware
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
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