Page Table and Mapping

Page Table and Mapping The page table is a data structure used by a virtual memory in a computer OS to store the mapping between virtual addresses and physical addresses. It maps the page number to its frame number where that particular page is stored. CPU generates the logical address of the page, but the main […]

Translation Lookaside Buffer (TLB)

Translation Look aside Buffer (TLB) You must have the concept of paging before learning the translation lookaside Buffer. But In terms of paging, we have to access the main memory twice or more to access a page. Once we get the Page table from the main memory. Second, when we get the particular page from […]

Memory Management Unit (MMU)

Memory Management Unit (MMU) The CPU generates a virtual address to get data from the main memory. But main memory works with Physical address. So, Physical address is the basic need to get data from the main memory. For this purpose, a Memory management unit (MMU) comes into the picture, which converts virtual addresses to […]

Virtual Memory

Virtual Memory It is most commonly used nowadays. Virtual Memory is a technique that provides an illusion to the user that a very large size of main memory. It is done by using some part of secondary memory as the main memory. In this technique, those processes which have a larger size than RAM can […]

Swapping in OS

Swapping in OS OS uses a technique for efficient usage of memory management in computer system, called Swapping. Swapping has two basic tasks. One is swapping-IN and other is swapping-OUT. Swapping-IN: The Placing of blocks or pages from the hard disk to the main memory is swapping-IN. Swapping-OUT: The Removing of blocks or pages from […]

Segmentation in OS

segmentation in OS (Segment Table Working)

Segmentation in OS Segmentation is a memory management technique in OS (operating systems) where a process is divided into variable-sized logical segments, based on the functionality of the program. Common segments include: Code segment (instructions of the program), Data segment (global variables, constants), Stack segment (function calls, return addresses, local variables) Heap segment (dynamic memory) […]

Inverted Page Table in OS

Inverted Page Table in OS Inverted Page Table is an advanced memory management technique used in modern operating systems to reduce memory overhead. It stores page table entries for all processes in a single global table, improving efficiency in large systems. In this section, we will explore the concept, need, structure, and working of inverted […]

Multilevel Paging in OS

Multilevel Paging in OS Entry of each page of a process is recorded into its page table. If the page table size exceeds its frame, then OS further divides the table into equal frame sizes. So, that page table could easily be accommodated into the frame. It is all multilevel paging in OS. Page Table […]

Paging With Examples

Paging In OS with Examples Paging is a non-contiguous technique where one process can reside at different main memory locations. So, spanning is totally possible. In this post, we will see all about paging with examples. Need of Paging The main disadvantage of Contiguous Dynamic Partitioning was External fragmentation. Although Compaction may remove External fragmentation, […]

Allocation Methods In Contiguous

 Allocation Methods In Contiguous In continuous memory management, there are 4 algorithms. Through these algorithms, we can allocate the upcoming process in the proper holes to avoid internal fragmentation. These algorithms are known as Partition Allocation Methods In Contiguous. 1. First Fit: In this algorithm, OS allocates the process to the first Hole that is […]

Fixed Partitioning

Fixed Partitioning Fixed partitioning is also known as Static partitioning. It is the earliest (1960) technique, in which main memory is divided into equal or different sizes of partitions. OS resides in the first partition, and other processes reside in other partitions of main memory. It is a very simple form of contiguous memory allocation […]

Memory Management in OS

Memory Management in OS Memory Management in OS is a fundamental concept that controls how memory is allocated, used, and optimized for efficient execution of programs. It ensures maximum utilization of RAM and CPU while supporting multitasking and system stability. What is Memory Management in OS? Memory Management in OS is the process of managing […]

Deadlock Recovery

Deadlock Recovery First, we detect the deadlock through the Resource allocation graph method. If there is no deadlock in the graph, then there is no problem. Otherwise, we follow one of the following deadlock recovery methods to remove the deadlock. 1. Kill One/All Deadlocked Processes Kill one process and check the deadlock status. If a […]

Deadlock Detection In OS

Deadlock Detection In OS In the last lecture, we covered Deadlock Prevention and Avoidance. In this lecture, we will see Deadlock Detection in OS. Deadlock detection can be explained in two ways: When resources have a single instance When resources have multiple instances So, to cover Deadlock detection, we first have to understand the concept […]

Deadlock Avoidance in OS

Deadlock Avoidance In OS Deadlock Avoidance is a strategy used by the operating system to ensure the system never enters a deadlock state. Unlike deadlock prevention (which blocks at least one of the Coffman conditions), deadlock avoidance carefully analyzes every resource request and grants it only if it keeps the system in a safe state. […]

Deadlock In OS

Deadlock in OS A deadlock in an operating system (OS) is a situation where a group of processes become stuck, each waiting for a resource held by another process. As a result, no process can proceed, and all system operations are blocked. Deadlocks are a serious issue in multitasking and multiprocessing environments. Important: A Deadlock happens because of […]

Semaphores in OS

Semaphores in OS In Operating Systems (OS), process synchronization plays a vital role in ensuring that multiple processes or threads can access shared resources without conflicts. One of the most powerful tools used for synchronization is the Semaphore in OS. A semaphore is an integer variable “S” that is used to solve critical section problems […]

Printer Spooler Problem

Printer Spooler Problem The printer spooler problem is a standard problem of process synchronization. A printer spooler is a small application that manages the paper printing jobs sent from a computer to a printer or print server. It enables storing multiple print jobs within a print queue or a buffer where it’s retrieved by the […]

Producer Consumer Problem

Producer Consumer Problem There are two processes in the consumer problem. One is the PRODUCER, and the other is the CONSUMER process. The PRODUCER produces the items, and the CONSUMER consumes them. Both processes are running parallel and share some resources like main memory. That’s why these are also known as cooperative processes.  However the […]

Process Synchronization

Process Synchronization Process synchronization as designed to provide an efficient use of shared data between more than one thread among 1 process or from different processes. It resolves the problem of Race condition. Types of Processes There are two types of processes 1. Independent process Independent process is a process that cannot affect by other […]