Memory Management & File Systems Overview
Memory Management & File Systems Overview
2. Swapping In: When a process needs to be executed but is currently in the swap space, it is
brought back into main memory.
3. Swapping Out: When the main memory is full, and a new process needs to be loaded, an
inactive or lower-priority process is moved to the swap space.
How Swapping Works
1. Process Execution: When a process is loaded for execution, it is placed in the main memory.
2. Memory Full: If the main memory is fully occupied and a new process needs to be executed,
the operating system selects an existing process to swap out.
3. Swapping Out: The selected process is moved to the swap space on the disk.
4. Swapping In: When the swapped-out process needs to be executed again, it is moved back
into the main memory, possibly displacing another process.
Benefits of Swapping
Efficient Memory Utilization: Allows the operating system to handle more processes than
the available physical memory by temporarily moving inactive processes to disk.
Multiprogramming: Enables multiple processes to be loaded and run concurrently, improving
the utilization of the CPU and system resources.
Drawbacks of Swapping
Performance Overhead: Swapping involves disk I/O operations, which are significantly
slower than memory operations, leading to potential performance degradation.
Latency: The time taken to swap processes in and out can introduce delays, especially for
real-time applications.
Fragmentation: Over time, swapping can cause fragmentation of memory and swap space,
requiring additional management and potentially reducing efficiency.
Swapping vs. Paging
Swapping: Entire process is moved between main memory and swap space.
Paging: Only fixed-size pages of the process are moved between main memory and
secondary storage, allowing for more granular memory management.
Swapping in Modern Systems
In modern operating systems, swapping is often combined with other memory management
techniques such as paging and virtual memory to balance the trade-offs between memory
utilization and performance. Systems may use a combination of these techniques to achieve
efficient and effective memory management.
B. Variable Partitioning
Memory is divided dynamically based on process size.
Partitions are created at runtime.
Advantages
No internal fragmentation.
Exact-fit blocks possible.
Disadvantages
External fragmentation (free blocks scattered).
Requires compaction to remove scattered holes.
Allocation Methods (Placement Algorithms)
When a process arrives, OS must choose a free block:
1. First Fit
Allocate the first free block that is big enough.
Fast, widely used.
2. Best Fit
Allocate the smallest free block that fits.
Minimizes leftover space but slower.
3. Worst Fit
Allocate the largest free block.
Leaves large remainders for future processes.
Fig 3.3.2 Memory Allocation Strategies (First-Fit, Best-Fit, Worst-Fit) for a 13K Request
Fragmentation Issues
1. External Fragmentation
Total free memory exists, but in small scattered blocks.
Prevents allocation even if enough memory is available.
2. Internal Fragmentation
Space inside allocated block is unused.
Happens in fixed partitions.
Solution: Compaction
OS shifts processes to make large contiguous free blocks.
Time-consuming.
Paging Hardware
Free Frames
When a process is to be executed, its corresponding pages are loaded into any available
memory frames.
Suppose you have a program of 8Kb but your memory can accommodate only 5Kb at a
given point in time, then the paging concept will come into picture.
When a computer runs out of RAM, the operating system (OS) will move idle or
unwanted pages of memory to secondary memory to free up RAM for other processes
and brings them back when needed by the program.
This process continues during the whole execution of the program where the OS keeps
removing idle pages from the main memory and write them onto the secondary memory
and bring them back when required by the program.
Implementation of Page Table
Page table is kept in main memory
Page-table base register (PTBR) points to the page table
Page-table length register (PRLR) indicates size of the page table
In this scheme every data/instruction access requires two memory accesses. One for the
page table and one for the data/instruction. The two memory access problem can be solved
by the use of a special fast-lookup hardware cache called associative memory or translation
look-aside buffers (TLBs)
Paging Hardware With TLB
Fig.3.4.2 Paging hardware with TLB hit
Memory Protection
Reference String
3.9 ALLOCATION
The main memory of the system is divided into frames.
The OS has to allocate a sufficient number of frames for each process and to do so, the OS
uses various algorithms.
The five major ways to allocate frames are as follows:
1) Proportional frame allocation
The proportional frame allocation algorithm allocates frames based on the size that is
necessary for the execution and the number of total frames the memory has.
The only disadvantage of this algorithm is it does not allocate frames based on priority.
This situation is solved by Priority frame allocation.
2) VPriority frame allocation
Priority frame allocation allocates frames based on the priority of the processes and
the number of frame allocations.
If a process is of high priority and needs more frames then the process will be
allocated that many frames.
The allocation of lower priority processes occurs after it.
3) Global replacement allocation
When there is a page fault in the operating system, then the global replacement
allocation takes care of it.
The process with lower priority can give frames to the process with higher priority to
avoid page faults.
4) Local replacement allocation
In local replacement allocation, the frames of pages can be stored on the same page.
It doesn’t influence the behavior of the process as it did in global replacement
allocation.
5) Equal frame allocation
In equal frame allocation, the processes are allocated equally among the processes in
the operating system.
The only disadvantage in equal frame allocation is that a process requires more frames
for allocation for execution and there are only a set number of frames.
3.10 THRASHING
Thrashing is a condition in a computer system where the CPU spends most of its time
handling page faults instead of executing processes, due to insufficient physical memory.
To know more clearly about thrashing, first, we need to know about page fault and swapping.
Page fault: We know every program is divided into some pages. A page fault occurs
when a program attempts to access data or code in its address space but is not currently
located in the system RAM.
Swapping: Whenever a page fault happens, the operating system will try to fetch that
page from secondary memory and try to swap it with one of the pages in RAM. This process
is called swapping.
Thrashing is when the page fault and swapping happens very frequently at a higher rate, and
then the operating system has to spend more time swapping these pages. This state in the
operating system is known as thrashing. Because of thrashing, the CPU utilization is going to
be reduced or negligible.
Algorithms during Thrashing
Whenever thrashing starts, the operating system tries to apply either the Global page
replacement Algorithm or the Local page replacement algorithm.
Global Page Replacement
Since global page replacement can bring any page, it tries to bring more pages whenever
thrashing is found. But what actually will happen is that no process gets enough frames, and as a
result, the thrashing will increase more and more. Therefore, the global page replacement
algorithm is not suitable when thrashing happens.
Local Page Replacement
Unlike the global page replacement algorithm, local page replacement will select pages which
only belong to that process. So there is a chance to reduce the thrashing. But it is proven that
there are many disadvantages if we use local page replacement. Therefore, local page
replacement is just an alternative to global page replacement in a thrashing scenario.
Causes of Thrashing
Too many processes in memory
Insufficient number of frames
Poor page replacement algorithm
High degree of multiprogramming
Processes do not have their working set in memory
4. Device Drivers
Code to communicate with hardware devices
Executes in kernel mode
5. Buffer Cache
Stores disk blocks temporarily
Improves I/O performance
3.12 MASS STORAGE
A mass storage system in the context of operating systems refers to the infrastructure and
mechanisms that enable the management and utilization of large-scale storage devices such as
hard drives, solid-state drives (SSDs), network-attached storage (NAS), and other storage arrays.
Here’s an overview of what constitutes a mass storage system and its role within operating systems:
Hard Drives (HDDs): Traditional mechanical drives that store data on spinning platters.
Solid-State Drives (SSDs): Flash-based storage devices that offer faster access speeds than
HDDs.
File System Drivers: Software components within the operating system responsible for interpreting
the structure of storage devices and managing data access. Examples include NTFS and FAT32 on
Windows, ext4 on Linux, and HFS+ on macOS.
Volume Management: Tools and utilities for creating, resizing, and managing partitions or logical
volumes on storage devices.
Data Access and Management
I/O Management: Operating system functions that control input and output operations to and from
storage devices, ensuring efficient data transfer and minimizing latency.
Caching: Techniques to store frequently accessed data in faster memory (such as RAM or SSD
caches) to improve overall system performance.
Data Integrity: Mechanisms to ensure data consistency and reliability, including error detection and
correction algorithms.
Role within Operating Systems
The primary function of a mass storage system is to store large volumes of data persistently and
provide mechanisms for retrieving that data efficiently when needed by applications or users.
Resource Management
Operating systems manage access to storage resources, allocating storage space, scheduling I/O
operations, and ensuring fair access among competing processes.
Implementing access control mechanisms, encryption, and backup strategies to protect data integrity
and confidentiality stored on mass storage devices.
Challenges and Advancements
Performance Optimization
Advances in storage technologies (such as SSDs and NVMe) and improvements in I/O scheduling
algorithms aim to reduce latency and increase throughput for data-intensive applications.
Scalability
Managing large-scale storage systems efficiently as the volume of data and number of users grow,
requiring robust scalability and fault-tolerance mechanisms.
Facilitating seamless data movement between different storage tiers (e.g., from local storage to
cloud storage) while maintaining accessibility and data integrity.
Modern operating systems increasingly integrate with cloud storage services, enabling hybrid
deployments and extending storage capabilities beyond traditional local devices.
In essence, a mass storage system forms a critical infrastructure within operating systems,
enabling persistent data storage and efficient data access across a wide range of storage
devices.
The continual evolution of storage technologies and operating system capabilities plays a vital
role in meeting the growing demands for scalable, secure, and high-performance data storage
solutions.
3.13 HDD SCHEDULING
Disk scheduling and management in operating systems are critical for optimizing the access and
utilization of storage devices like hard disk drives (HDDs) and solid-state drives (SSDs). Here's a
detailed overview of disk scheduling and management:
Disk Scheduling
Disk scheduling refers to the method by which the operating system decides the order in which
pending requests for disk I/O (Input/Output) are processed. The goal is to minimize seek time (the
time taken to position the disk's read/write heads over the desired track) and rotational latency (the
time for the desired sector to rotate under the read/write heads). Efficient disk scheduling algorithms
improve overall system performance by reducing the time spent waiting for disk operations.
Requests are serviced in the order they arrive. Simple but can lead to poor performance if there are
frequent requests far apart on the disk.
Shortest Seek Time First (SSTF):
Services the request that requires the least head movement from its current position. Minimizes seek
time but may result in starvation for requests located far from the current position.
SCAN (Elevator) Algorithm:
The disk arm moves in one direction (typically from one end to the other), servicing all requests in
that direction, and then reverses direction. Prevents starvation of requests at one end but may cause
delays for requests near the reversal point.
C-SCAN Algorithm:
Similar to SCAN but always moves in one direction (e.g., towards higher sector numbers), servicing
requests, and then jumps to the beginning of the disk. Reduces maximum wait time compared to
SCAN.
LOOK and C-LOOK Algorithms:
Variants of SCAN and C-SCAN that only move to the end of the requests and reverse direction
without moving to the end of the disk.
Optimization Algorithms:
Algorithms like Shortest Positioning Time (SPT) and Elevator with Look-Ahead (Elevator-Look) aim
to predict and optimize disk head movement patterns based on historical data or predictive models.
Disk Management
Disk management involves various aspects of managing storage devices within an operating
system, including partitioning, formatting, and maintaining file systems. Key components and
operations include:
Partitioning:
Dividing a physical disk into one or more logical units called partitions, each of which can be
independently managed and formatted with a file system.
Formatting:
Preparing a partition with a specific file system (e.g., NTFS, FAT32, ext4) that includes creating
necessary data structures (like file allocation tables or inode tables) for organizing files.
File System Management:
Managing file systems involves creating, deleting, reading, writing, and modifying files and
directories. This includes managing metadata (file attributes, permissions, timestamps) and
allocating space for files on disk.
Disk Quotas:
Setting limits on the amount of disk space users or groups can consume, ensuring fair and efficient
use of storage resources.
Error Handling and Recovery:
Implementing mechanisms to detect and correct errors on disk drives, such as bad sectors, and
recovering data from damaged areas using redundancy techniques (e.g., RAID).
Storage Virtualization:
Abstracting physical storage resources into virtual storage pools that can be dynamically allocated
and managed, facilitating scalability and resource optimization.
Effective disk scheduling and management are crucial for maximizing the performance, reliability,
and efficiency of storage systems within operating environments. The choice of disk scheduling
algorithm and the implementation of robust disk management strategies significantly impact the
overall responsiveness and stability of computer systems, especially in environments with high I/O
demands and diverse storage configurations.
Computers can store information on various storage media such as, magnetic disks, magnetic tapes,
optical disks. The physical storage is converted into a logical storage unit by operating system. The
logical storage unit is called FILE. A file is a collection of similar records. A record is a collection of
related fields that can be treated as a unit by some application program. A field is some basic
element of data. Any individual field contains a single value. A data base is collection of related data.
KUMA 85 86 P
LAKSH 93 92 P
Data File
Student name, Marks in sub1, sub2, Fail/Pass is fields. The collection of fields is called a RECORD.
Record
LAKSH 93 92 P
FILE CONCEPT
File Attributes
Name : A file is named for the convenience of the user and is referred by its name. A name is
usually a string of characters.
Identifier : This unique tag, usually a number ,identifies the file within the file system.
Type : Files are of so many types. The type depends on the extension of the file.
Example:
Size : The current size of the file (in bytes, words, blocks).
Protection : Access control information determines who can do reading, writing, executing and so
on.
Time, Date, User identification : This information may be kept for creation, last modification, last use.
They are:
If the space is available then made an entry for the new file in the directory. The entry includes
name of the file, path of the
Writing a file : To write a file, we have to know 2 things. One is name of the file and second is the
information or data to be written on the file, the system searches the entired given location for the
file. If the file is found, the system must keep a write pointer to the location in the file where the next
write is to take place.
Reading a file : To read a file, first of all we search the directories for the file, if the file is found, the
system needs to keep a read pointer to the location in the file where the next read is to take place.
Once the read has taken place, the read pointer is updated.
Repositioning within a file : The directory is searched for the appropriate entry and the current file
position pointer is repositioned to a given value. This operation is also called file seek.
Deleting a file : To delete a file, first of all search the directory for named file, then released the file
space and erase the directory entry.
Truncating a file : To truncate a file, remove the file contents only but, the attributes are as it is.
F
ile Types: The name of the file split into 2 parts. One is name and second is Extension. The
file type is depending on extension of the file.
.bin machine
.c
.asm
.obj
Object Compiled, machine
.o
.bat Commands to
Batch
.sh the command
.txt
Text Textual data, documents
.doc
.doc
Word Various word proc
.wp
processor essor form ats
.rtf
.lib Libraries of
Library
.dll routines for
File Structure
A file has a certain defined structure according to its type.
A text file is a sequence of characters organized into lines - txt, doc A
source file is a sequence of procedures and functions - c, cpp, java
An object file is a sequence of bytes organized into blocks that are understandable by the machine –
obj,o
An Executable file ready to run machine language program - exe, com, bin
Batch file commands to the command interpreter - bat, sh
Word Processor file various word processor formats - wp, tex, rrf, doc Archive
file related files grouped into one compressed file - arc, zip, tar Multimedia file
containing audio/video information - mpeg, mov, rm, mp3,avi
Information in the file is processed in order i.e. one record after the other. Magnetic tapes are
supporting this type of file accessing.
th
Eg : A file consisting of 100 records, the current position of read/write head is 45 record, suppose
th
we want to read the 75 record then, it access sequentially from 45, 46, 47
Direct access
Direct access is also called relative access. Here records can read/write randomly without any
order. The direct access method is based on a disk model of a file, because disks allow random
access to any file block.
th
Eg : A disk containing of 256 blocks, the position of read/write head is at 95 block. The block is to
th th
be read or write is 250 block. Then we can access the 250 block directly without any restrictions.
Eg : CD consists of 10 songs, at present we are listening song 3, If we want to listen song 10, we
can shift to 10.
Indexed access
The main disadvantage in the sequential file is, it takes more time to access a Record.
Eg :
A file consisting of 60000 records, the master index divide the total records into 6 blocks, each block
consisting of a pointer to secondary index. The secondary index divides the 10,000 records
into 10 indexes. Each index consisting of a pointer to its original location. Each record in the index
file consisting of 2 field, A key field and a pointer field.
Fig.3.15.3 Indexed Sequential File access
A hard disk can be divided into the number of partitions of different sizes. The partitions are
also called
volumes or mini disks. Each partition must have at least one directory in which, all the files of
the partition can be listed. A directory entry is maintained for each file in the directory which stores
all the information related to that file. A directory can be viewed as a file which contains the Meta
data of the bunch of files.
Directory operations
File Creation New files need to be created and added to the directory
Search for the file A particular file in a directory by their names.
File deletion When a file is no longer needed, we want to be able to
remove it from the directory.
Renaming the file The name of a file represents its contents to its users, we must be able to
change the name when the contents or use of the file changes. Renaming a file may also allow
its position within the directory structure to be changed.
Traversing Files We may wish to access every directory and every file within a directory
structure. For reliability, it is a good idea to save the contents and structure of the entire file
system at regular intervals.
Listing of files We need to be able to list the files in a directory and the contents of the
directory entry for each file in the list.
Advantages
Efficiency: A file can be located more quickly.
Naming: It becomes convenient for users as two users can have same name for different files
or may have different name for same file.
Grouping: Logical grouping of files can be done by properties e.g. all java programs, all games
etc.
Definition
Protection Mechanisms
1. Protection Domains
A protection domain defines a set of resources (objects) and access rights
available to a process.
2. Access Control Matrix
A table that specifies the rights of each domain over each object.
Read,
D1 Print –
Write
D2 Read – Read
3. Access Control Lists (ACL)
Each object maintains a list of users and their permitted operations.
4. Capability Lists
Each domain maintains a list of objects and access rights it possesses.
5. Authentication and Authorization
Authentication verifies user identity
Authorization determines allowed actions
Relationship Between Sharing and Protection
Sharing increases accessibility, protection restricts access
Excessive sharing without protection leads to security risks
Over-protection reduces resource utilization
OS balances both to ensure efficiency and safety
A disk can be rewritten in place. It is possible to read a block from the disk, modify the
block, and write it back into same place.
I/O Control: consists of device drivers and interrupt handlers to transfer information between the
main memory and the disk system. The device driver writes specific bit patterns to special locations
in the I/O controllers memory to tell the controller which device location to act on and what actions
to take.
The Basic File System needs only to issue commands to the appropriate device driver to read and
write physical blocks on the disk. Each physical block is identified by its numeric disk address (Eg.
Drive 1, cylinder 73, track2, sector 10).
Fig 3.18.1 Structure of File System
The File Organization Module knows about files and their logical blocks and physical blocks. By
knowing the type of file allocation used and the location of the file, file organization module can
translate logical block address to physical addresses for the basic file system.
The Logical File System manages all file system structure except the actual data (contents of
file). It maintains file structure via file control blocks. A file control block (inode in Unix file
systems) contains information about the file, ownership, permissions, location of the file
contents.
In this algorithm, all the files in a directory are maintained as singly lined list. Each file contains
the pointers to the data blocks which are assigned to it and the next file in the directory.
Characteristics
When a new file is created, then the entire list is checked whether the new file name is matching
to a existing file name or not. In case, it doesn't exist, the file can be created at the beginning or at
the end. Therefore, searching for a unique name is a big concern because traversing the whole
list takes time.
The list needs to be traversed in case of every operation (creation, deletion, updating, etc) on the
files therefore the systems become inefficient.
Hash Table
A key-value pair for each file in the directory gets generated and stored in the hash table.
The key can be determined by applying the hash function on the file name while the key
points to the corresponding file stored in the directory.
Now, searching becomes efficient due to the fact that now, entire list will not be searched
on every operating. Only hash table entries are checked using the key and if an entry
found then the corresponding file will be fetched using the value.
Contiguous allocation each file occupies set of contiguous blocks o Best performance
in most cases
Simple only starting location (block #) and length (number of blocks) are required, problems
include finding space for file, knowing file size, external fragmentation, need for
compaction off-line (downtime) or on-line.
Linked allocation each file a linked list of blocks, File ends at nil pointer
No external fragmentation
Each block contains pointer to next block
No compaction, external fragmentation
Free space management system called when new block needed
Improve efficiency by clustering blocks into groups but increases internal fragmentation
Reliability can be a problem
Locating a block can take many I/Os and disk seeks FAT (File Allocation Table) variation
Beginning of volume has table, indexed by block number
Much like a linked list, but faster on disk and cacheable
Fig.3.20.2 Allocation of Linked List
Indexed Allocation Instead of maintaining a file allocation table of all the disk pointers, Indexed
allocation scheme stores all the disk pointers in one of the blocks called as indexed block.
Indexed block doesn't hold the file data, but it holds the pointers to all the disk blocks allocated to
that particular file. Directory entry will only contain the index block address.
A Bitmap or Bit Vector is series or collection of bits where each bit corresponds to a disk block.
The bit can take two values: 0 and 1: 0 indicates that the block is allocated and 1 indicates a
free block. The given instance of disk blocks on the disk in Figure 1 (where green blocks are
allocated) can be represented by a bitmap of 16 bits as: 0000111000000110.
Advantages
Simple to understand.
Finding the first free block is efficient. It requires scanning the words (a group of 8 bits) in
a bitmap for a non-zero word. (A 0-valued word has all bits 0). The first free block is then
found by scanning for the first 1 bit in the non-zero word.
Grouping
Modify linked list to store address of next n-1 free blocks in first free block, plus a pointer
to next block that contains free-block-pointers (like this one).
An advantage of this approach is that the addresses of a group of free disk block scan be
found easily
Counting
Because space is frequently contiguously used and freed, with contiguous- allocation
allocation, extents, or clustering.
Keep address of first free block and count of following free blocks. Free space list then
has entries containing addresses and counts.
PART- A
1. Which of the following best describes the concept of swapping in the context of
memory management?
A) Moving data between disk and main memory to free up space.
B) Allocating more memory to a process when needed.
C) Reducing the size of the memory available to processes.
D) Compressing data stored in memory.
2. In contiguous memory allocation, what is a primary disadvantage?
A) External fragmentation
B) Internal fragmentation
C) Increased access time
D) Inefficient page table management
3. What is the main purpose of paging in memory management?
A) To reduce the size of the memory footprint of processes.
B) To allow non-contiguous allocation of memory.
C) To increase the access speed to memory.
D) To simplify the swapping mechanism.
4. Which of the following terms refers to the fixed-size blocks used in paging?
A) Frames
B) Pages
C) Segments
D) Blocks
5. What information is typically stored in a page table entry?
A) The physical address of the page.
B) The size of the page.
C) The location of the page on disk.
D) The permissions associated with the page.
6. In segmentation, how is memory divided?
A) Into fixed-size blocks called pages.
B) Into variable-sized segments based on logical divisions of a program.
C) Into equal-sized partitions.
D) Into clusters of contiguous memory blocks.
7. What advantage does segmentation with paging offer over pure segmentation?
A) It eliminates all types of fragmentation.
B) It provides a way to manage both logical divisions and non-contiguous memory
allocation.
C) It speeds up access to memory by using larger segments.
D) It simplifies the management of the page table.
8. What is the main benefit of virtual memory?
A) It allows processes to use more memory than is physically available.
B) It speeds up the CPU's execution time.
C) It eliminates the need for swapping.
D) It reduces the complexity of memory management.
9. In demand paging, when does a page get loaded into memory?
A) When the process is initially loaded into memory.
B) When the page is referenced for the first time.
C) When the process starts execution.
D) When the page table is created.
10. What is the main advantage of the Copy on Write (CoW) technique?
A) It allows efficient sharing of pages between processes.
B) It speeds up the swapping process.
C) It reduces the need for paging.
D) It eliminates internal fragmentation.
11. Which algorithm is commonly used for page replacement?
A) Least Recently Used (LRU)
B) First In, First Out (FIFO)
C) Optimal Page Replacement
D) All of the above
12. How are frames allocated to processes in a system that uses paging?
A) Frames are allocated in contiguous blocks.
B) Frames are allocated based on the priority of the process.
C) Frames are allocated dynamically as needed by the process.
D) Frames are allocated based on the size of the process.
13. What is thrashing in the context of virtual memory?
A) The condition where processes are unable to execute due to excessive paging.
B) The condition where the system has excessive free memory.
C) The condition where the CPU is overutilized.
D) The condition where processes are blocked due to insufficient page tables.
14. Which of the following is true about semaphores?
A)They can be used for both signaling and mutual exclusion.
B) They can be used only for signaling.
C) They cannot be shared among processes.
D) None of the above.
PART – B
1. Define logical address space.
2. Define physical address space.
3. What is paging?
4. Define Demand paging.
5. What is page fault?.
6. What is virtual memory?.
7. Define Segmentation.
8. What is page hit?
9. Why page should be replaced in the memory?
10. List out the algorithms for page replacement.
11. Define thrashing.
12. What is meant by swap space and why it is used for?
13. What are the essential content(s) in each entry of a page table?
14. Define dynamic loading.
15. Define compaction.
16. What is fragmentation?
17. Draw the structure of page table.
18. Difference between internel and Externel fragmentation?
19. Compare Swapping and Overlays.
20. Define swapping.(April/May 2023)
21. What is the need for segmentation? (April/May 2023).
22. Define the concept of Fragmentation. (Nov/Dec 2024)
PART-C&D
1. Explain Swapping and Paging.
2. Explain Contiguous Memory Allocation.
3. Describe Structure of Paging Table.
4. Explain the following Page Replacement Algorithm in detail.
[Link] . II. FIFO
5. Explain about Logical & Physical Addressing
6. Describe Allocation of Frames mechanism
7. Explain the concept of Segmentation.
8. Consider a system with three page frames for user level applications, and consider the
following reference string:5 6 9 3 5 6 3 6 9 4 3 9 6 4 9 How many page faults will there
be ,when one considers FIFO,LRU, and the optimal page replacement algorithms?
9. Draw the architecture diagram of paging and explain it in all aspects and explain how
segmentation is adopted in paging.
10. Identify and explain the uses of implementing Contiguous Memory Allocation in Operating
systems.(April/May 2023)
11. Apply Least Recently used Page Replacement and find the number of page faults for the
below string 3, 1, 2, 1, 6, 5, 1, 3 with 3-page frames.(April/May 2023)
12. Consider the following set of processes with the length of CPU burst time given in ms.
13. Outline the Gantt Chart for execution of these processes using FCFS, SJF (Non preemptive
and Preemptive), Preemptive Priority, Round Robin with a time slice of 2ms. Find the average
waiting time and turnaround time for each of the method.(April/May 2023)
(i) Identify the concept of Segmentation memory management
scheme.
(ii) Determine the significance of Contiguous Memory Allocation.
(Nov/Dec 2024)
14. Organize the different components in the architecture of demand paging. (Nov/Dec 2024)