Logical Memory Address vs. Physical Memory Address

The memory binding could be static or dynamic. In dynamic binding system, user-generated virtual addresses are mapped to physical addresses. This leads to better memory utilization. The address generated by CPU is called a logical address, and the address seen by the memory unit is called a physical address. The physical address is loaded into … Read more

What is a Deadlock?

In a multiprocessing environment, several processes compete for limited resources. A running process goes to waiting state when a resource is not available. The process could not change its state because some other process holds the resources. This is called a deadlock. Normal Conditions The operating system does not provide with deadlock prevention mechanism, the … Read more

Fork-Join Concept

The fork-join is a basic method of expressing concurrency within a computation. This is implemented in the UNIX operating system as system calls. Fork The fork() call creates a new child process which runs concurrently with the parent. The child process is an exact copy of the parent except that it has a new process … Read more

Priority Scheduling

A scheduling algorithms like round-robin treat all processes as same. But if we consider other information about a process, some process is more important than the other. This is the motivation behind priority scheduling. Each process carries a priority and process with the highest priority will be allocated CPU time. Since there is a chance … Read more

Types of Schedulers

The multi-programming technique wants high CPU utilization by executing some process all the time. The time-sharing computer keeps switching among processes so that all users can interact with their running programs. A process scheduler does the selection of processes for execution on CPU. But there are challenges in multi-programming, if a process has to wait … Read more

Process Scheduling Criteria

The single processor system, one process runs, and other processes wait until CPU is free. In a multiprocessor system, some process always runs and thus increases the CPU utilization. If a process is waiting for the completion of some task, or I/O request, the CPU remains idle. To stop wasting CPU time, the CPU switch … Read more

Message Passing System

In this article, you will learn another popular method of interprocess communication called message passing. You will learn different techniques and characteristics of message passing. Message Passing The cooperating processes can communicate with the help of a message passing facility. There are different ways communication happens: Between same threads of a process. Between processes on … Read more

Shared-Memory System

Interprocess communication is necessary to share information between two or more processes. This is how a process cooperates with other processes. In this article, you will learn about one of the two popular models of IPC, which is Shared-memory system. IPC Models A process is independent if no affecting or be affected by other processes … Read more

Pthreads

Pthreads is the POSIX standard (IEEE 1003.1c) defines an API for thread creation and synchronization. It is only a specification, not implementation which a programmer can do any way they wish. Some examples of systems using are Solaris, Linux, Mac OS X, and True64 UNIX. Here is an example of Pthread API for constructing a … Read more

Multi-threaded Programming

A thread is a basic unit of CPU utilization; it has a thread id, a program counter, a register set, and a stack. It shares code, data and other os resources such as open files and signals with other threads in the process. Multi-threaded Processes The traditional single-threaded program can do only one task, the … Read more

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.