尊敬的 微信汇率:1円 ≈ 0.046078 元 支付宝汇率:1円 ≈ 0.046168元 [退出登录]
SlideShare a Scribd company logo
Introduction
to
Operating Systems – 3
Memory Management
PROF. DR. K. ADISESHA
Introduction
to
Memory
Management
Memory Concepts
Memory Allocation
Memory Partitions
Paging/ Segmentation
Virtual Memory
2
Memory Management
Introduction
Prof. Dr. K. Adisesha
3
Memory Hierarchy Design:
In the Computer System Design, Memory Hierarchy is an enhancement to organize the
memory such that it can minimize the access time.
➢This Memory Hierarchy Design is divided into 2 main types:
❖ External Memory or Secondary Memory: Comprising
of Magnetic Disk, Optical Disk, Magnetic Tape i.e.
peripheral storage devices which are accessible by the
processor via I/O Module.
❖ Internal Memory or Primary Memory: Comprising of
Main Memory, Cache Memory & CPU registers. This is
directly accessible by the processor.
Introduction
Prof. Dr. K. Adisesha
4
Memory Management:
Memory management is the functionality of an operating system which handles or
manages primary memory and moves processes back and forth between main memory
and disk during execution.
➢ Main Memory refers to a physical memory that is the internal memory to the computer.
➢ Memory management keeps track of each and every memory location, regardless of
either it is allocated to some process or it is free.
➢ It checks how much memory is to be allocated to processes.
➢ It decides which process will get memory at what time.
➢ It tracks whenever some memory gets freed or unallocated and correspondingly it
updates the status.
Introduction
Prof. Dr. K. Adisesha
5
Process Address Space:
The process address space is the set of logical addresses that a process references in its code.
➢ The operating system takes care of mapping the logical addresses to physical addresses at the time of
memory allocation to the program.
➢ There are three types of addresses used in a program before and after memory is allocated .
❖Symbolic addresses: The addresses used in a source code. The variable names, constants, and instruction
labels are the basic elements of the symbolic address space.
❖Relative addresses: At the time of compilation, a compiler converts symbolic addresses into relative
addresses.
❖Physical addresses: The loader generates these addresses at the time when a program is loaded into main
memory.
Introduction
Prof. Dr. K. Adisesha
6
Memory Partitioning Techniques:
The memory management techniques can be classified into following main categories:.
➢Contiguous memory management schemes
➢Non-Contiguous memory management schemes
Memory Partitioning
Prof. Dr. K. Adisesha
7
Contiguous memory management:
In a Contiguous memory management scheme, each program occupies a single
contiguous block of storage locations, i.e., a set of memory locations with consecutive
addresses.
➢ The Single contiguous memory management scheme is the simplest memory
management scheme used in the earliest generation of computer systems.
➢ In this scheme, the main memory is divided into two contiguous areas or partitions.
❖ The operating systems reside permanently in one partition,
❖ The user process is loaded into the other partition.
Memory Partitioning
Prof. Dr. K. Adisesha
8
Contiguous memory management:
Advantages of Single contiguous memory management schemes:
❖ Simple to implement.
❖ Easy to manage and design.
❖ In a Single contiguous memory management scheme, once a process is loaded, it is
given full processor's time, and no other processor will interrupt it.
Disadvantages of Single contiguous memory management schemes:
❖ Wastage of memory space due to unused memory as the process is unlikely to use
all the available memory space.
❖ It does not support multiprogramming, i.e., it cannot handle multiple programs
simultaneously.
Memory Partitioning
Prof. Dr. K. Adisesha
9
Multiple Partitioning:
The operating system divides the available main memory into multiple parts to load
multiple processes into the main memory. Thus multiple processes can reside in the
main memory simultaneously..
➢The multiple partitioning schemes is of two types:
❖ Fixed (or static) partitioning
❖ Variable (or dynamic) partitioning
Memory Partitioning
Prof. Dr. K. Adisesha
10
Fixed (or static) partitioning:
The main memory is divided into several fixed-sized partitions in a fixed partition
memory management scheme or static partitioning.
➢ These partitions can be of the same size or different sizes. Each partition can hold a
single process.
➢ The number of partitions determines the degree of multiprogramming
➢ Advantages:
❖ Simple to implement.
❖ Easy to manage and design.
➢ Disadvantages :
❖ This scheme suffers from internal fragmentation.
❖ The number of partitions is specified at the time of system generation.
Memory Partitioning
Prof. Dr. K. Adisesha
11
Dynamic Partitioning:
In a dynamic partitioning scheme, each process occupies only as much memory as they
require when loaded for processing.
➢ Requested processes are allocated memory until the entire physical memory is
exhausted or the remaining space is insufficient to hold the requesting process.
➢ In this scheme the number of partitions is not defined
at the system generation time.
➢ Simple to implement and to manage.
➢ This scheme also suffers from internal fragmentation.
➢ The number of partitions is specified at the time of
system segmentation.
Memory Partitioning
Prof. Dr. K. Adisesha
12
Non-Contiguous memory management:
In a Non-Contiguous memory management the program is divided into different blocks
and loaded at different portions of the memory that need not necessarily be adjacent to
one another.
➢ This scheme can be classified depending upon the size of blocks and whether the
blocks reside in the main memory or not.
❖ Paging technique: the main memory is divided into fixed-
size blocks of physical memory called frames.
❖ Segmentation technique: the main memory is divided into
variable-size blocks of physical memory called segments.
Memory Loading
Prof. Dr. K. Adisesha
13
Memory Loading:
All the programs are loaded in the main memory for execution. Sometimes complete
program is loaded into the memory, but some times a certain part or routine of the
program is loaded into the main memory only when it is called by the program.
➢ There are two types of Loading techniques:
❖ Static Loading
❖ Dynamic Loading
Memory Loading
Prof. Dr. K. Adisesha
14
Static Loading:
Static loading is the process of loading the complete program into the main memory
before it is executed
➢ Loading the entire program into the main memory before the start of the program
execution is called static loading.
➢ If static loading is used then accordingly static linking is applied.
➢ Linking is a process of collecting and maintaining pieces of code and data into a single
file. Linker also links a particular module into the system library.
➢ A statically linked program takes constant load time every time it is loaded into the
memory for execution.
Memory Loading
Prof. Dr. K. Adisesha
15
Dynamic Loading:
In dynamic loading, a routine is not loaded until it is invoked. All of the routines are
stored on disk in a reloadable load format.
➢ Dynamic routines of the library are stored on a disk in relocatable form and are loaded
into memory only when they are needed by the program.
➢ Loading the program into the main memory on demand
is called dynamic loading.
➢ If dynamic loading is used then accordingly dynamic
linking is applied.
➢ Dynamic loading is utilized to ensure optimal memory
consumption
Memory Loading
Prof. Dr. K. Adisesha
16
Overlays in Memory Management:
Overlaying is defined as "the process of inserting a block of computer code or other data
into internal memory, replacing what is already there."
➢ It is a method that permits applications to be larger than the primary memory.
➢ Advantages of using overlays include:
❖ Increased memory utilization: Overlays allow multiple programs to
share the same physical memory space.
❖ Reduced load time: Only the necessary parts of a program are loaded
into memory, reducing load time and increasing performance.
❖ Improved reliability: Overlays reduce the risk of memory overflow,
which can cause crashes or data loss.
❖ Reduce memory requirement and reduce time requirement.
Memory Loading
Prof. Dr. K. Adisesha
17
Swapping:
Swapping is the process of bringing in each process in main memory, running it for a
while and then putting it back to the disk.
➢ Swapping is also known as a technique for memory
compaction.
➢ Sometimes there is not enough main memory to hold all
the currently active processes in a timesharing system.
➢ The total time taken by swapping process includes the
time it takes to move the entire process to a secondary
disk and then to copy the process back to memory, as well
as the time the process takes to regain main memory.
Memory Allocation
Prof. Dr. K. Adisesha
18
Memory Allocation:
In the operating system, the following are four common memory management
techniques.
➢ Single contiguous allocation: Simplest allocation method used by MS-DOS. All
memory (except some reserved for OS) is available to a process.
➢ Partitioned allocation: Memory is divided into different blocks or partitions. Each
process is allocated according to the requirement.
➢ Paged memory management: Memory is divided into fixed-sized units called page
frames, used in a virtual memory environment.
➢ Segmented memory management: Memory is divided into different segments. In this
management, allocated memory doesn’t have to be contiguous.
Memory Allocation
Prof. Dr. K. Adisesha
19
Partition Allocation :
In Partition Allocation, when there is more than one partition freely available to
accommodate a process’s request, a partition must be selected.
➢To choose a particular partition, a partition allocation method is needed.
➢When it is time to load a process into the main memory and if there is more than one
free block of memory of sufficient size then the OS decides which free block to allocate.
➢There are different Placement Algorithm:
❖First Fit: The first hole that is big enough is allocated to program.
❖Best Fit: The smallest hole that is big enough is allocated to program.
❖Worst Fit: The largest hole that is big enough is allocated to program.
Memory Allocation
Prof. Dr. K. Adisesha
20
First Fit:
In the First Fit, the first available free hole fulfil the requirement of the process
allocated.
➢ Here, in this diagram, a 40 KB memory
block is the first available free hole that can
store process A (size of 25 KB), because the
first two blocks did not have sufficient
memory space.
Memory Allocation
Prof. Dr. K. Adisesha
21
Best Fit:
In the Best Fit, allocate the smallest hole that is big enough to process requirements.
For this, we search the entire list, unless the list is ordered by size.
➢ Here in this example, first, we traverse the
complete list and find the last hole 25KB is
the best suitable hole for Process A(size
25KB). In this method, memory utilization is
maximum as compared to other memory
allocation techniques.
Memory Allocation
Prof. Dr. K. Adisesha
22
Worst Fit:
In the Worst Fit, allocate the largest available hole to process. This method produces
the largest leftover hole.
➢ Here in this example, Process A (Size 25 KB)
is allocated to the largest available memory
block which is 60KB. Inefficient memory
utilization is a major issue in the worst fit.
Memory Allocation
Prof. Dr. K. Adisesha
23
First Fit:
In the First Fit, the first available free hole fulfil the requirement of the process
allocated.
➢Here, in this diagram, a 40 KB memory block is the first available free hole that can
store process A (size of 25 KB), because the first two blocks did not have sufficient
memory space.
❖First Fit: The first hole that is big enough is allocated to program.
❖Best Fit: The smallest hole that is big enough is allocated to program.
❖Worst Fit: The largest hole that is big enough is allocated to program.
Memory Allocation
Prof. Dr. K. Adisesha
24
Memory Partitions :
Memory allocation is a process by which computer programs are assigned memory or
space.
➢Main memory usually has two partitions −
❖Low Memory − Operating system resides in this memory.
❖High Memory − User processes are held in high memory.
➢Operating system uses the following memory allocation mechanism.
➢Memory Partitioning types are:
❖Fixed / Static-partition allocation
❖Dynamic/ Multiple-partition allocation
Memory Allocation
Prof. Dr. K. Adisesha
25
Dynamic Memory Partitioning:
In this technique, the partition size is not declared initially. It is declared at the time of
process loading
➢ The first partition is reserved for the operating system.
➢ The remaining space is divided into parts.
➢ The size of each partition will be equal to the size of the
process.
➢ The partition size varies according to the need of the
process so that the internal fragmentation can be avoided
Memory Allocation
Prof. Dr. K. Adisesha
26
Paging:
Pages of the process are brought into the main memory only when they are required
otherwise they reside in the secondary storage.
➢ Considering the fact that the pages are mapped to the frames in Paging, page size needs
to be as same as frame size.
➢ Different operating system defines different frame sizes.
➢ The pages belonging to a certain process are loaded into available.
➢ The sizes of each frame must be equal.
➢ Pages size is power of 2, between 512 bytes and 8192 bytes.
➢ The size of the process is measured in the number of pages..
Memory Allocation
Prof. Dr. K. Adisesha
27
Paging:
Address Translation.
➢ Page address is called logical address and represented by page number and the offset.
❖ Logical Address = Page number + page offset
➢ Frame address is called physical address and
represented by a frame number and the offset.
❖ Physical Address = Frame number + page offset
➢ A data structure called page map table is used to
keep track of the relation between a page of a
process to a frame in physical memory.
Memory Allocation
Prof. Dr. K. Adisesha
28
Paging Faults:
A page fault occurs when a program attempts to access a block of memory that is not
stored in the physical memory, or RAM.
➢ The fault notifies the operating system that it must
locate the data in virtual memory, then transfer it
from the storage device to the system RAM.
➢ Page fault arise the exception, that specifies the
O/S, which access the memory slots from virtual
memory for running the program in continue
nature.
Memory Allocation
Prof. Dr. K. Adisesha
29
Advantages and Disadvantages of Paging:
Advantages of Paging
➢ Paging offers simplified memory management so that the programs need not worry about the
physical memory addresses.
➢ It allows efficient memory usage.
➢ Provides memory protection by preventing unauthorized access.
➢ The mapping between virtual and physical addresses is quite simple.
Disadvantages of Paging
➢ Since the pages are of fixed size, there is a possibility for internal fragmentation.
➢ Page table overhead arises in systems that require large memory.
➢ An additional layer of memory access is created by paging.
➢ Too many pages in a physical memory at the same time lead to thrashing.
Memory Allocation
Prof. Dr. K. Adisesha
30
Segmentation:
Segmentation is a memory management technique in which the memory is divided into
the variable size parts. Each part is known as a segment which can be allocated to a
process.
➢ The details about each segment are stored in a table
called a segment table.
➢ Segment table contains mainly two information
about segment:
❖ Base: It is the base address of the segment
❖ Limit: It is the length of the segment.
Memory Allocation
Prof. Dr. K. Adisesha
31
Segmentation:
Translation of Logical address into physical address by segment table.
➢ Suppose a 16 bit address is used with 4 bits for the segment number and 12 bits for the
segment offset so the maximum segment size is 4096 and the maximum number of
segments that can be refereed is 16.
➢ CPU generates a logical address
which contains two parts:
❖ Segment Number
❖ Offset
Memory Allocation
Prof. Dr. K. Adisesha
32
Segmentation:
Advantages & Disadvantages of Segmentation.
➢ Advantages of Segmentation.
❖ Average Segment Size is larger than the actual page size.
❖ Less overhead
❖ It is easier to relocate segments than entire address space.
❖ The segment table is of lesser size as compared to the page table in paging.
➢ Disadvantages of Segmentation.
❖ It can have external fragmentation.
❖ it is difficult to allocate contiguous memory to variable sized partition.
❖ Costly memory management algorithms.
Memory Allocation
Prof. Dr. K. Adisesha
33
Memory Partitions :
Segmentation
Paging
Memory Allocation
34
Non-Contiguous memory allocation:
Paging Segmentation
Paging divides program into fixed size pages. Segmentation divides program into variable size
segments.
OS is responsible Compiler is responsible.
Paging is faster than segmentation Segmentation is slower than paging
Paging is closer to Operating System Segmentation is closer to User
It suffers from internal fragmentation It suffers from external fragmentation
Logical address is divided into page number and
page offset
Logical address is divided into segment number and
segment offset
Page table is used to maintain the page
information.
Segment Table maintains the segment information
Prof. Dr. K. Adisesha
Memory Allocation
Prof. Dr. K. Adisesha
35
Fragmentation:
Fragmentation is an unwanted problem where the memory blocks cannot be allocated
to the processes due to their small size and the blocks remain unused.
➢ The process with the size greater than the size of the largest partition could not be
executed due to the lack of sufficient contiguous memory blocks cannot be allocated to
new upcoming processes and results in inefficient use of memory.
➢ Basically, there are two types of fragmentation:
❖Internal Fragmentation
❖External Fragmentation
Memory Allocation
Prof. Dr. K. Adisesha
36
Internal Fragmentation:
Memory block assigned to process is bigger. Some portion of memory is left unused, as
it cannot be used by another process.
➢ In this fragmentation, the process is allocated a memory block of size more than the size of
that process.
➢ Due to this some part of the memory is left unused and this cause internal fragmentation.
Memory Allocation
Prof. Dr. K. Adisesha
37
External Fragmentation:
Total memory space is enough to satisfy a request or to reside a process in it, but it is
not contiguous, so it cannot be used.
➢ In this fragmentation, although we have total space
available that is needed by a process still we are not
able to put that process in the memory because that
space is not contiguous.
➢ After some time P1 and P3 got completed and their
assigned space is freed, but they cannot be used to
load a 2 MB process in the memory since they are
not contiguously located
Memory Allocation
Prof. Dr. K. Adisesha
38
Compaction:
Compaction technique can be used to create more free memory out of fragmented
memory.
➢External fragmentation can be reduced by compaction or shuffle memory contents to
place all free memory together in one large block. To make compaction feasible, relocation
should be dynamic.
➢The internal fragmentation can be reduced by effectively assigning the smallest partition
but large enough for the process.
Virtual memory
Prof. Dr. K. Adisesha
39
Definition:
Virtual memory is a feature of an operating system that enables a computer to be able to
compensate shortages of physical memory by transferring pages of data from random
access memory to disk storage.
➢ Virtual memory is a memory management technique where secondary memory can be
used as if it were a part of the main memory
➢ Virtual memory serves two purposes.
❖ It allows us to extend the use of physical memory.
❖ It allows us to have memory protection, because each
virtual address is translated to a physical address.
Virtual memory
Prof. Dr. K. Adisesha
40
Virtual memory:
Virtual memory allows a computer to treat secondary memory as though it were the main
memory.
➢ Virtual memory uses hardware and software to allow a computer to compensate for
physical memory shortages.
➢ Memory manager is in charge of keeping track of the shifts between physical and virtual
memory.
➢ Types of virtual memory are:
❖ Demand Paging
❖ Segmentation
Virtual memory
Prof. Dr. K. Adisesha
41
Demand Paging:
A demand paging system is quite similar to a paging system with swapping where
processes reside in secondary memory and pages are loaded only on demand, not in
advance.
➢ Demand paging is used to implement virtual memory, an essential component of
operating systems.
➢ The important jobs of virtual memory in Operating Systems are two.:
❖ Frame Allocation
❖ Page Replacement
Virtual memory
Prof. Dr. K. Adisesha
42
Frame Allocation in Virtual Memory:
In Demand paging a physical Address is required by the Central Processing Unit (CPU)
for the frame creation and the physical Addressing provides the actual address to each
frame created.
➢ Frame Allocation Constraints:
❖ The Frames that can be allocated cannot be greater than total number of frames.
❖ Each process should be given a set minimum amount of frames.
❖ When fewer frames are allocated then the page fault ration increases and the
process execution becomes less efficient
❖ There ought to be sufficient frames to accommodate all the many pages that a single
instruction may refer to
Virtual memory
Prof. Dr. K. Adisesha
43
Frame Allocation in Virtual Memory:
Frame Allocation Algorithms.
➢ There are three types of Frame Allocation Algorithms in Operating Systems:
❖ Equal Frame Allocation Algorithms: We take number of frames and number of
processes at once. We divide the number of frames by number of processes.
❖ Proportionate Frame Allocation Algorithms: We take number of frames based on
the process size. For big process more number of frames & for small processes less
number of frames is allocated by the operating system.
❖ Priority Frame Allocation Algorithms: According to the quantity of frame
allocations and the processes, priority frame allocation distributes frames.
Processes with lower priorities are then later executed in future and first only high
priority processes are executed first.
Virtual memory
Prof. Dr. K. Adisesha
44
Page Replacement Methods :
In an operating system that uses paging for memory management, a page replacement
algorithm is needed to decide which page needs to be replaced when a new page comes
in.
➢ Page Fault: A page fault happens when a
running program accesses a memory page
that is mapped into the virtual address space
but not loaded in physical memory.
Virtual memory
Prof. Dr. K. Adisesha
45
Demand Paging:
A demand paging system is quite similar to a paging system with swapping where
processes reside in secondary memory and pages are loaded only on demand, not in
advance.
➢ Types of Page Replacement Methods are:
❖ FIFO
❖ Optimal Algorithm
❖ LRU Page Replacement
Virtual memory
Prof. Dr. K. Adisesha
46
FIFO Page Replacement:
FIFO (First-in-first-out) is a simple implementation method, the process selects the page
for a replacement that has been in the virtual address of the memory for the longest time.
➢ Features of FIFO Page Replacement Methods are:
❖ Whenever a new page loaded, the page recently comes in the memory is removed.
❖ The oldest page in the main memory is one that should be selected for replacement
first
Virtual memory
Prof. Dr. K. Adisesha
47
Optimal Algorithm:
The optimal page replacement method selects that page for a replacement for which the
time to the next reference is the longest.
➢ Features of Optimal algorithm are:
❖ Optimal algorithm results in the fewest number of page faults. This algorithm is
difficult to implement.
❖ Replace the page which unlike to use for a longer period of time. It only uses the
time when a page needs to be used.
Virtual memory
Prof. Dr. K. Adisesha
48
LRU Page Replacement:
Least Recently Used (LRU) page, this method helps OS to find page usage over a short
period of time.
➢ This algorithm should be implemented by associating a counter with an even- page.
➢ Features of LRU Page Replacement are:
❖ The LRU replacement method has the highest count. This counter is also called
aging registers, which specify their age and how much their associated pages should
also be referenced.
❖ The page which hasn't been used for the longest time in the main memory is the one
that should be selected for replacement.
❖ It also keeps a list and replaces pages by looking back into time
Virtual memory
Prof. Dr. K. Adisesha
49
Virtual memory:
Virtual memory is important for improving system performance, multitasking, using
large programs and flexibility.
➢ Benefits of using virtual memory
❖ Frees applications from managing shared memory and saves users from having to
add memory modules when RAM space runs out.
❖ Increased security because of memory isolation.
❖ Multiple larger applications can be run simultaneously.
❖ Doesn't need external fragmentation.
❖ Effective CPU use.
❖ Data can be moved automatically.
Virtual memory
Prof. Dr. K. Adisesha
50
Thrashing :
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..
➢ Thrashing occurs when a computer's virtual memory resources are overused, leading to a
constant state of paging and page faults, inhibiting most application-level processing.
➢ Causes of Thrashing
❖ CPU utilization is plotted against the degree of multiprogramming.
❖ As the degree of multiprogramming increases, CPU utilization also increases.
❖ If the degree of multiprogramming is increased further, thrashing sets in, and CPU
utilization drops sharply.
❖ So, at this point, to increase CPU utilization and to stop thrashing, we must decrease
the degree of multiprogramming.
Operating System - Properties
Prof. Dr. K. Adisesha
51
Distributed Environment:
A distributed environment refers to multiple independent CPUs or processors in a
computer system.
➢ An operating system does the following activities related to distributed environment:
❖ The OS distributes computation logics among several physical processors.
❖ The processors do not share memory or a clock. Instead, each processor has its own local
memory.
❖ The OS manages the communications between the processors.
❖ They communicate with each other through various communication lines.
Operating System - Properties
Prof. Dr. K. Adisesha
52
Spooling:
Spooling is an acronym for simultaneous peripheral operations on line.
➢ Spooling refers to putting data of various I/O jobs in a buffer.
➢ This buffer is a special area in memory or hard disk which is accessible to I/O devices.
➢ Advantages
❖ The spooling operation uses a disk as a very large
buffer.
❖ Spooling is capable of overlapping I/O operation for
one job with processor operations for another job.
Operating System - Properties
Prof. Dr. K. Adisesha
53
Spooling:
Spooling is an acronym for simultaneous peripheral operations on line.
➢ Spooling refers to putting data of various I/O jobs in a buffer.
➢ An operating system does the following activities related to distributed environment .
❖ Handles I/O device data spooling as devices have different data access rates.
❖ Maintains the spooling buffer which provides a waiting station where data can rest while the
slower device catches up.
❖ Maintains parallel computation because of spooling process as a computer can perform I/O
in parallel fashion.
❖ It becomes possible to have the computer read data from a tape, write data to disk and to
write out to a tape printer while it is doing its computing task
Discussion
Prof. Dr. K. Adisesha
54
Queries ?
Prof. K. Adisesha
9449081542

More Related Content

Similar to Operating System-3 "Memory Management" by Adi.pdf

MEMORY MANAGEMENT FHES har ar mahaadev.pptx
MEMORY MANAGEMENT FHES har ar mahaadev.pptxMEMORY MANAGEMENT FHES har ar mahaadev.pptx
MEMORY MANAGEMENT FHES har ar mahaadev.pptx
22bec032
 
Chapter 9 OS
Chapter 9 OSChapter 9 OS
Chapter 9 OS
C.U
 
Opetating System Memory management
Opetating System Memory managementOpetating System Memory management
Opetating System Memory management
Johan Granados Montero
 
Memory Managementgggffffffffffgggggggggg
Memory ManagementgggffffffffffggggggggggMemory Managementgggffffffffffgggggggggg
Memory Managementgggffffffffffgggggggggg
BHUPESHRAHANGDALE200
 
Operating System-2 by Adi.pdf
Operating System-2 by Adi.pdfOperating System-2 by Adi.pdf
Operating System-2 by Adi.pdf
Prof. Dr. K. Adisesha
 
Operating System-2_Process Managementby_Adi.pdf
Operating System-2_Process Managementby_Adi.pdfOperating System-2_Process Managementby_Adi.pdf
Operating System-2_Process Managementby_Adi.pdf
Prof. Dr. K. Adisesha
 
Os unit 3
Os unit 3Os unit 3
Os unit 3
SandhyaTatekalva
 
UNIT-2 OS.pptx
UNIT-2 OS.pptxUNIT-2 OS.pptx
UNIT-2 OS.pptx
ssusera387fd1
 
Dynamic loading
Dynamic loadingDynamic loading
Dynamic loading
A. S. M. Shafi
 
Advanced computer architechture -Memory Hierarchies and its Properties and Type
Advanced computer architechture -Memory Hierarchies and its Properties and TypeAdvanced computer architechture -Memory Hierarchies and its Properties and Type
Advanced computer architechture -Memory Hierarchies and its Properties and Type
LalfakawmaKh
 
Memory management
Memory managementMemory management
Memory management
lodhran-hayat
 
Memory management
Memory managementMemory management
Memory management
Touhidul Shawan
 
CS6401 Operating Systems
CS6401 Operating SystemsCS6401 Operating Systems
CS6401 Operating Systems
Kathirvel Ayyaswamy
 
introduction To Operating System
introduction To Operating Systemintroduction To Operating System
introduction To Operating System
Luka M G
 
VirutualMemory.docx
VirutualMemory.docxVirutualMemory.docx
VirutualMemory.docx
rangarajansoft69
 
Unit iiios Storage Management
Unit iiios Storage ManagementUnit iiios Storage Management
Unit iiios Storage Management
donny101
 
lecture 8 b main memory
lecture 8 b main memorylecture 8 b main memory
lecture 8 b main memory
ITNet
 
Operating system 2 by adi
Operating system 2 by adiOperating system 2 by adi
Operating system 2 by adi
Prof. Dr. K. Adisesha
 
chapter 2 memory and process management
chapter 2 memory and process managementchapter 2 memory and process management
chapter 2 memory and process management
Aisyah Rafiuddin
 
Operating system
Operating systemOperating system
Operating system
Hussain Ahmady
 

Similar to Operating System-3 "Memory Management" by Adi.pdf (20)

MEMORY MANAGEMENT FHES har ar mahaadev.pptx
MEMORY MANAGEMENT FHES har ar mahaadev.pptxMEMORY MANAGEMENT FHES har ar mahaadev.pptx
MEMORY MANAGEMENT FHES har ar mahaadev.pptx
 
Chapter 9 OS
Chapter 9 OSChapter 9 OS
Chapter 9 OS
 
Opetating System Memory management
Opetating System Memory managementOpetating System Memory management
Opetating System Memory management
 
Memory Managementgggffffffffffgggggggggg
Memory ManagementgggffffffffffggggggggggMemory Managementgggffffffffffgggggggggg
Memory Managementgggffffffffffgggggggggg
 
Operating System-2 by Adi.pdf
Operating System-2 by Adi.pdfOperating System-2 by Adi.pdf
Operating System-2 by Adi.pdf
 
Operating System-2_Process Managementby_Adi.pdf
Operating System-2_Process Managementby_Adi.pdfOperating System-2_Process Managementby_Adi.pdf
Operating System-2_Process Managementby_Adi.pdf
 
Os unit 3
Os unit 3Os unit 3
Os unit 3
 
UNIT-2 OS.pptx
UNIT-2 OS.pptxUNIT-2 OS.pptx
UNIT-2 OS.pptx
 
Dynamic loading
Dynamic loadingDynamic loading
Dynamic loading
 
Advanced computer architechture -Memory Hierarchies and its Properties and Type
Advanced computer architechture -Memory Hierarchies and its Properties and TypeAdvanced computer architechture -Memory Hierarchies and its Properties and Type
Advanced computer architechture -Memory Hierarchies and its Properties and Type
 
Memory management
Memory managementMemory management
Memory management
 
Memory management
Memory managementMemory management
Memory management
 
CS6401 Operating Systems
CS6401 Operating SystemsCS6401 Operating Systems
CS6401 Operating Systems
 
introduction To Operating System
introduction To Operating Systemintroduction To Operating System
introduction To Operating System
 
VirutualMemory.docx
VirutualMemory.docxVirutualMemory.docx
VirutualMemory.docx
 
Unit iiios Storage Management
Unit iiios Storage ManagementUnit iiios Storage Management
Unit iiios Storage Management
 
lecture 8 b main memory
lecture 8 b main memorylecture 8 b main memory
lecture 8 b main memory
 
Operating system 2 by adi
Operating system 2 by adiOperating system 2 by adi
Operating system 2 by adi
 
chapter 2 memory and process management
chapter 2 memory and process managementchapter 2 memory and process management
chapter 2 memory and process management
 
Operating system
Operating systemOperating system
Operating system
 

More from Prof. Dr. K. Adisesha

Data Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsxData Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsx
Prof. Dr. K. Adisesha
 
Operating System-4 "File Management" by Adi.pdf
Operating System-4 "File Management" by Adi.pdfOperating System-4 "File Management" by Adi.pdf
Operating System-4 "File Management" by Adi.pdf
Prof. Dr. K. Adisesha
 
Operating System Concepts Part-1 by_Adi.pdf
Operating System Concepts Part-1 by_Adi.pdfOperating System Concepts Part-1 by_Adi.pdf
Operating System Concepts Part-1 by_Adi.pdf
Prof. Dr. K. Adisesha
 
Software Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfSoftware Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdf
Prof. Dr. K. Adisesha
 
Software Engineering-Unit 1 by Adisesha.pdf
Software Engineering-Unit 1 by Adisesha.pdfSoftware Engineering-Unit 1 by Adisesha.pdf
Software Engineering-Unit 1 by Adisesha.pdf
Prof. Dr. K. Adisesha
 
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdfSoftware Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
Prof. Dr. K. Adisesha
 
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdfSoftware Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
Prof. Dr. K. Adisesha
 
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdfSoftware Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
Prof. Dr. K. Adisesha
 
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdfSoftware Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
Prof. Dr. K. Adisesha
 
Computer Networks Notes by -Dr. K. Adisesha
Computer Networks Notes by -Dr. K. AdiseshaComputer Networks Notes by -Dr. K. Adisesha
Computer Networks Notes by -Dr. K. Adisesha
Prof. Dr. K. Adisesha
 
CCN Unit-1&2 Data Communication &Networking by K. Adiaesha
CCN Unit-1&2 Data Communication &Networking by K. AdiaeshaCCN Unit-1&2 Data Communication &Networking by K. Adiaesha
CCN Unit-1&2 Data Communication &Networking by K. Adiaesha
Prof. Dr. K. Adisesha
 
CCN Unit-3 Data Link Layer by Dr. K. Adisesha
CCN Unit-3 Data Link Layer by Dr. K. AdiseshaCCN Unit-3 Data Link Layer by Dr. K. Adisesha
CCN Unit-3 Data Link Layer by Dr. K. Adisesha
Prof. Dr. K. Adisesha
 
CCN Unit-4 Network Layer by Dr. K. Adisesha
CCN Unit-4 Network Layer by Dr. K. AdiseshaCCN Unit-4 Network Layer by Dr. K. Adisesha
CCN Unit-4 Network Layer by Dr. K. Adisesha
Prof. Dr. K. Adisesha
 
CCN Unit-5 Transport & Application Layer by Adi.pdf
CCN Unit-5 Transport & Application Layer by Adi.pdfCCN Unit-5 Transport & Application Layer by Adi.pdf
CCN Unit-5 Transport & Application Layer by Adi.pdf
Prof. Dr. K. Adisesha
 
Introduction to Computers.pdf
Introduction to Computers.pdfIntroduction to Computers.pdf
Introduction to Computers.pdf
Prof. Dr. K. Adisesha
 
R_Programming.pdf
R_Programming.pdfR_Programming.pdf
R_Programming.pdf
Prof. Dr. K. Adisesha
 
Scholarship.pdf
Scholarship.pdfScholarship.pdf
Scholarship.pdf
Prof. Dr. K. Adisesha
 
Operating System-1 by Adi.pdf
Operating System-1 by Adi.pdfOperating System-1 by Adi.pdf
Operating System-1 by Adi.pdf
Prof. Dr. K. Adisesha
 
Operating System-adi.pdf
Operating System-adi.pdfOperating System-adi.pdf
Operating System-adi.pdf
Prof. Dr. K. Adisesha
 
Data_structure using C-Adi.pdf
Data_structure using C-Adi.pdfData_structure using C-Adi.pdf
Data_structure using C-Adi.pdf
Prof. Dr. K. Adisesha
 

More from Prof. Dr. K. Adisesha (20)

Data Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsxData Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsx
 
Operating System-4 "File Management" by Adi.pdf
Operating System-4 "File Management" by Adi.pdfOperating System-4 "File Management" by Adi.pdf
Operating System-4 "File Management" by Adi.pdf
 
Operating System Concepts Part-1 by_Adi.pdf
Operating System Concepts Part-1 by_Adi.pdfOperating System Concepts Part-1 by_Adi.pdf
Operating System Concepts Part-1 by_Adi.pdf
 
Software Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfSoftware Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdf
 
Software Engineering-Unit 1 by Adisesha.pdf
Software Engineering-Unit 1 by Adisesha.pdfSoftware Engineering-Unit 1 by Adisesha.pdf
Software Engineering-Unit 1 by Adisesha.pdf
 
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdfSoftware Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdf
 
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdfSoftware Engineering-Unit 3 "System Modelling" by Adi.pdf
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
 
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdfSoftware Engineering-Unit 4 "Architectural Design" by Adi.pdf
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
 
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdfSoftware Engineering-Unit 5 "Software Testing"by Adi.pdf
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
 
Computer Networks Notes by -Dr. K. Adisesha
Computer Networks Notes by -Dr. K. AdiseshaComputer Networks Notes by -Dr. K. Adisesha
Computer Networks Notes by -Dr. K. Adisesha
 
CCN Unit-1&2 Data Communication &Networking by K. Adiaesha
CCN Unit-1&2 Data Communication &Networking by K. AdiaeshaCCN Unit-1&2 Data Communication &Networking by K. Adiaesha
CCN Unit-1&2 Data Communication &Networking by K. Adiaesha
 
CCN Unit-3 Data Link Layer by Dr. K. Adisesha
CCN Unit-3 Data Link Layer by Dr. K. AdiseshaCCN Unit-3 Data Link Layer by Dr. K. Adisesha
CCN Unit-3 Data Link Layer by Dr. K. Adisesha
 
CCN Unit-4 Network Layer by Dr. K. Adisesha
CCN Unit-4 Network Layer by Dr. K. AdiseshaCCN Unit-4 Network Layer by Dr. K. Adisesha
CCN Unit-4 Network Layer by Dr. K. Adisesha
 
CCN Unit-5 Transport & Application Layer by Adi.pdf
CCN Unit-5 Transport & Application Layer by Adi.pdfCCN Unit-5 Transport & Application Layer by Adi.pdf
CCN Unit-5 Transport & Application Layer by Adi.pdf
 
Introduction to Computers.pdf
Introduction to Computers.pdfIntroduction to Computers.pdf
Introduction to Computers.pdf
 
R_Programming.pdf
R_Programming.pdfR_Programming.pdf
R_Programming.pdf
 
Scholarship.pdf
Scholarship.pdfScholarship.pdf
Scholarship.pdf
 
Operating System-1 by Adi.pdf
Operating System-1 by Adi.pdfOperating System-1 by Adi.pdf
Operating System-1 by Adi.pdf
 
Operating System-adi.pdf
Operating System-adi.pdfOperating System-adi.pdf
Operating System-adi.pdf
 
Data_structure using C-Adi.pdf
Data_structure using C-Adi.pdfData_structure using C-Adi.pdf
Data_structure using C-Adi.pdf
 

Recently uploaded

Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
biruktesfaye27
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
MattVassar1
 
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
Kalna College
 
Keynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse CityKeynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse City
PJ Caposey
 
Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024
khabri85
 
The Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptxThe Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptx
PriyaKumari928991
 
Cross-Cultural Leadership and Communication
Cross-Cultural Leadership and CommunicationCross-Cultural Leadership and Communication
Cross-Cultural Leadership and Communication
MattVassar1
 
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT KanpurDiversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Quiz Club IIT Kanpur
 
What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17
Celine George
 
Creativity for Innovation and Speechmaking
Creativity for Innovation and SpeechmakingCreativity for Innovation and Speechmaking
Creativity for Innovation and Speechmaking
MattVassar1
 
A Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by QuizzitoA Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by Quizzito
Quizzito The Quiz Society of Gargi College
 
The Science of Learning: implications for modern teaching
The Science of Learning: implications for modern teachingThe Science of Learning: implications for modern teaching
The Science of Learning: implications for modern teaching
Derek Wenmoth
 
IoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdfIoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdf
roshanranjit222
 
nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...
chaudharyreet2244
 
Angle-or,,,,,-Pull-of-Muscleexercise therapy.pptx
Angle-or,,,,,-Pull-of-Muscleexercise therapy.pptxAngle-or,,,,,-Pull-of-Muscleexercise therapy.pptx
Angle-or,,,,,-Pull-of-Muscleexercise therapy.pptx
siddhimeena3
 
Interprofessional Education Platform Introduction.pdf
Interprofessional Education Platform Introduction.pdfInterprofessional Education Platform Introduction.pdf
Interprofessional Education Platform Introduction.pdf
Ben Aldrich
 
Talking Tech through Compelling Visual Aids
Talking Tech through Compelling Visual AidsTalking Tech through Compelling Visual Aids
Talking Tech through Compelling Visual Aids
MattVassar1
 
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 9 - GLOBAL SUCCESS - FORM MỚI 2025 - C...
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 9 - GLOBAL SUCCESS - FORM MỚI 2025 - C...BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 9 - GLOBAL SUCCESS - FORM MỚI 2025 - C...
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 9 - GLOBAL SUCCESS - FORM MỚI 2025 - C...
Nguyen Thanh Tu Collection
 
Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024
Friends of African Village Libraries
 
How to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRMHow to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRM
Celine George
 

Recently uploaded (20)

Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
 
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
 
Keynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse CityKeynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse City
 
Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024Brand Guideline of Bashundhara A4 Paper - 2024
Brand Guideline of Bashundhara A4 Paper - 2024
 
The Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptxThe Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptx
 
Cross-Cultural Leadership and Communication
Cross-Cultural Leadership and CommunicationCross-Cultural Leadership and Communication
Cross-Cultural Leadership and Communication
 
Diversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT KanpurDiversity Quiz Finals by Quiz Club, IIT Kanpur
Diversity Quiz Finals by Quiz Club, IIT Kanpur
 
What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17
 
Creativity for Innovation and Speechmaking
Creativity for Innovation and SpeechmakingCreativity for Innovation and Speechmaking
Creativity for Innovation and Speechmaking
 
A Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by QuizzitoA Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by Quizzito
 
The Science of Learning: implications for modern teaching
The Science of Learning: implications for modern teachingThe Science of Learning: implications for modern teaching
The Science of Learning: implications for modern teaching
 
IoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdfIoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdf
 
nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...
 
Angle-or,,,,,-Pull-of-Muscleexercise therapy.pptx
Angle-or,,,,,-Pull-of-Muscleexercise therapy.pptxAngle-or,,,,,-Pull-of-Muscleexercise therapy.pptx
Angle-or,,,,,-Pull-of-Muscleexercise therapy.pptx
 
Interprofessional Education Platform Introduction.pdf
Interprofessional Education Platform Introduction.pdfInterprofessional Education Platform Introduction.pdf
Interprofessional Education Platform Introduction.pdf
 
Talking Tech through Compelling Visual Aids
Talking Tech through Compelling Visual AidsTalking Tech through Compelling Visual Aids
Talking Tech through Compelling Visual Aids
 
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 9 - GLOBAL SUCCESS - FORM MỚI 2025 - C...
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 9 - GLOBAL SUCCESS - FORM MỚI 2025 - C...BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 9 - GLOBAL SUCCESS - FORM MỚI 2025 - C...
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH LỚP 9 - GLOBAL SUCCESS - FORM MỚI 2025 - C...
 
Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024
 
How to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRMHow to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRM
 

Operating System-3 "Memory Management" by Adi.pdf

  • 1. Introduction to Operating Systems – 3 Memory Management PROF. DR. K. ADISESHA
  • 2. Introduction to Memory Management Memory Concepts Memory Allocation Memory Partitions Paging/ Segmentation Virtual Memory 2 Memory Management
  • 3. Introduction Prof. Dr. K. Adisesha 3 Memory Hierarchy Design: In the Computer System Design, Memory Hierarchy is an enhancement to organize the memory such that it can minimize the access time. ➢This Memory Hierarchy Design is divided into 2 main types: ❖ External Memory or Secondary Memory: Comprising of Magnetic Disk, Optical Disk, Magnetic Tape i.e. peripheral storage devices which are accessible by the processor via I/O Module. ❖ Internal Memory or Primary Memory: Comprising of Main Memory, Cache Memory & CPU registers. This is directly accessible by the processor.
  • 4. Introduction Prof. Dr. K. Adisesha 4 Memory Management: Memory management is the functionality of an operating system which handles or manages primary memory and moves processes back and forth between main memory and disk during execution. ➢ Main Memory refers to a physical memory that is the internal memory to the computer. ➢ Memory management keeps track of each and every memory location, regardless of either it is allocated to some process or it is free. ➢ It checks how much memory is to be allocated to processes. ➢ It decides which process will get memory at what time. ➢ It tracks whenever some memory gets freed or unallocated and correspondingly it updates the status.
  • 5. Introduction Prof. Dr. K. Adisesha 5 Process Address Space: The process address space is the set of logical addresses that a process references in its code. ➢ The operating system takes care of mapping the logical addresses to physical addresses at the time of memory allocation to the program. ➢ There are three types of addresses used in a program before and after memory is allocated . ❖Symbolic addresses: The addresses used in a source code. The variable names, constants, and instruction labels are the basic elements of the symbolic address space. ❖Relative addresses: At the time of compilation, a compiler converts symbolic addresses into relative addresses. ❖Physical addresses: The loader generates these addresses at the time when a program is loaded into main memory.
  • 6. Introduction Prof. Dr. K. Adisesha 6 Memory Partitioning Techniques: The memory management techniques can be classified into following main categories:. ➢Contiguous memory management schemes ➢Non-Contiguous memory management schemes
  • 7. Memory Partitioning Prof. Dr. K. Adisesha 7 Contiguous memory management: In a Contiguous memory management scheme, each program occupies a single contiguous block of storage locations, i.e., a set of memory locations with consecutive addresses. ➢ The Single contiguous memory management scheme is the simplest memory management scheme used in the earliest generation of computer systems. ➢ In this scheme, the main memory is divided into two contiguous areas or partitions. ❖ The operating systems reside permanently in one partition, ❖ The user process is loaded into the other partition.
  • 8. Memory Partitioning Prof. Dr. K. Adisesha 8 Contiguous memory management: Advantages of Single contiguous memory management schemes: ❖ Simple to implement. ❖ Easy to manage and design. ❖ In a Single contiguous memory management scheme, once a process is loaded, it is given full processor's time, and no other processor will interrupt it. Disadvantages of Single contiguous memory management schemes: ❖ Wastage of memory space due to unused memory as the process is unlikely to use all the available memory space. ❖ It does not support multiprogramming, i.e., it cannot handle multiple programs simultaneously.
  • 9. Memory Partitioning Prof. Dr. K. Adisesha 9 Multiple Partitioning: The operating system divides the available main memory into multiple parts to load multiple processes into the main memory. Thus multiple processes can reside in the main memory simultaneously.. ➢The multiple partitioning schemes is of two types: ❖ Fixed (or static) partitioning ❖ Variable (or dynamic) partitioning
  • 10. Memory Partitioning Prof. Dr. K. Adisesha 10 Fixed (or static) partitioning: The main memory is divided into several fixed-sized partitions in a fixed partition memory management scheme or static partitioning. ➢ These partitions can be of the same size or different sizes. Each partition can hold a single process. ➢ The number of partitions determines the degree of multiprogramming ➢ Advantages: ❖ Simple to implement. ❖ Easy to manage and design. ➢ Disadvantages : ❖ This scheme suffers from internal fragmentation. ❖ The number of partitions is specified at the time of system generation.
  • 11. Memory Partitioning Prof. Dr. K. Adisesha 11 Dynamic Partitioning: In a dynamic partitioning scheme, each process occupies only as much memory as they require when loaded for processing. ➢ Requested processes are allocated memory until the entire physical memory is exhausted or the remaining space is insufficient to hold the requesting process. ➢ In this scheme the number of partitions is not defined at the system generation time. ➢ Simple to implement and to manage. ➢ This scheme also suffers from internal fragmentation. ➢ The number of partitions is specified at the time of system segmentation.
  • 12. Memory Partitioning Prof. Dr. K. Adisesha 12 Non-Contiguous memory management: In a Non-Contiguous memory management the program is divided into different blocks and loaded at different portions of the memory that need not necessarily be adjacent to one another. ➢ This scheme can be classified depending upon the size of blocks and whether the blocks reside in the main memory or not. ❖ Paging technique: the main memory is divided into fixed- size blocks of physical memory called frames. ❖ Segmentation technique: the main memory is divided into variable-size blocks of physical memory called segments.
  • 13. Memory Loading Prof. Dr. K. Adisesha 13 Memory Loading: All the programs are loaded in the main memory for execution. Sometimes complete program is loaded into the memory, but some times a certain part or routine of the program is loaded into the main memory only when it is called by the program. ➢ There are two types of Loading techniques: ❖ Static Loading ❖ Dynamic Loading
  • 14. Memory Loading Prof. Dr. K. Adisesha 14 Static Loading: Static loading is the process of loading the complete program into the main memory before it is executed ➢ Loading the entire program into the main memory before the start of the program execution is called static loading. ➢ If static loading is used then accordingly static linking is applied. ➢ Linking is a process of collecting and maintaining pieces of code and data into a single file. Linker also links a particular module into the system library. ➢ A statically linked program takes constant load time every time it is loaded into the memory for execution.
  • 15. Memory Loading Prof. Dr. K. Adisesha 15 Dynamic Loading: In dynamic loading, a routine is not loaded until it is invoked. All of the routines are stored on disk in a reloadable load format. ➢ Dynamic routines of the library are stored on a disk in relocatable form and are loaded into memory only when they are needed by the program. ➢ Loading the program into the main memory on demand is called dynamic loading. ➢ If dynamic loading is used then accordingly dynamic linking is applied. ➢ Dynamic loading is utilized to ensure optimal memory consumption
  • 16. Memory Loading Prof. Dr. K. Adisesha 16 Overlays in Memory Management: Overlaying is defined as "the process of inserting a block of computer code or other data into internal memory, replacing what is already there." ➢ It is a method that permits applications to be larger than the primary memory. ➢ Advantages of using overlays include: ❖ Increased memory utilization: Overlays allow multiple programs to share the same physical memory space. ❖ Reduced load time: Only the necessary parts of a program are loaded into memory, reducing load time and increasing performance. ❖ Improved reliability: Overlays reduce the risk of memory overflow, which can cause crashes or data loss. ❖ Reduce memory requirement and reduce time requirement.
  • 17. Memory Loading Prof. Dr. K. Adisesha 17 Swapping: Swapping is the process of bringing in each process in main memory, running it for a while and then putting it back to the disk. ➢ Swapping is also known as a technique for memory compaction. ➢ Sometimes there is not enough main memory to hold all the currently active processes in a timesharing system. ➢ The total time taken by swapping process includes the time it takes to move the entire process to a secondary disk and then to copy the process back to memory, as well as the time the process takes to regain main memory.
  • 18. Memory Allocation Prof. Dr. K. Adisesha 18 Memory Allocation: In the operating system, the following are four common memory management techniques. ➢ Single contiguous allocation: Simplest allocation method used by MS-DOS. All memory (except some reserved for OS) is available to a process. ➢ Partitioned allocation: Memory is divided into different blocks or partitions. Each process is allocated according to the requirement. ➢ Paged memory management: Memory is divided into fixed-sized units called page frames, used in a virtual memory environment. ➢ Segmented memory management: Memory is divided into different segments. In this management, allocated memory doesn’t have to be contiguous.
  • 19. Memory Allocation Prof. Dr. K. Adisesha 19 Partition Allocation : In Partition Allocation, when there is more than one partition freely available to accommodate a process’s request, a partition must be selected. ➢To choose a particular partition, a partition allocation method is needed. ➢When it is time to load a process into the main memory and if there is more than one free block of memory of sufficient size then the OS decides which free block to allocate. ➢There are different Placement Algorithm: ❖First Fit: The first hole that is big enough is allocated to program. ❖Best Fit: The smallest hole that is big enough is allocated to program. ❖Worst Fit: The largest hole that is big enough is allocated to program.
  • 20. Memory Allocation Prof. Dr. K. Adisesha 20 First Fit: In the First Fit, the first available free hole fulfil the requirement of the process allocated. ➢ Here, in this diagram, a 40 KB memory block is the first available free hole that can store process A (size of 25 KB), because the first two blocks did not have sufficient memory space.
  • 21. Memory Allocation Prof. Dr. K. Adisesha 21 Best Fit: In the Best Fit, allocate the smallest hole that is big enough to process requirements. For this, we search the entire list, unless the list is ordered by size. ➢ Here in this example, first, we traverse the complete list and find the last hole 25KB is the best suitable hole for Process A(size 25KB). In this method, memory utilization is maximum as compared to other memory allocation techniques.
  • 22. Memory Allocation Prof. Dr. K. Adisesha 22 Worst Fit: In the Worst Fit, allocate the largest available hole to process. This method produces the largest leftover hole. ➢ Here in this example, Process A (Size 25 KB) is allocated to the largest available memory block which is 60KB. Inefficient memory utilization is a major issue in the worst fit.
  • 23. Memory Allocation Prof. Dr. K. Adisesha 23 First Fit: In the First Fit, the first available free hole fulfil the requirement of the process allocated. ➢Here, in this diagram, a 40 KB memory block is the first available free hole that can store process A (size of 25 KB), because the first two blocks did not have sufficient memory space. ❖First Fit: The first hole that is big enough is allocated to program. ❖Best Fit: The smallest hole that is big enough is allocated to program. ❖Worst Fit: The largest hole that is big enough is allocated to program.
  • 24. Memory Allocation Prof. Dr. K. Adisesha 24 Memory Partitions : Memory allocation is a process by which computer programs are assigned memory or space. ➢Main memory usually has two partitions − ❖Low Memory − Operating system resides in this memory. ❖High Memory − User processes are held in high memory. ➢Operating system uses the following memory allocation mechanism. ➢Memory Partitioning types are: ❖Fixed / Static-partition allocation ❖Dynamic/ Multiple-partition allocation
  • 25. Memory Allocation Prof. Dr. K. Adisesha 25 Dynamic Memory Partitioning: In this technique, the partition size is not declared initially. It is declared at the time of process loading ➢ The first partition is reserved for the operating system. ➢ The remaining space is divided into parts. ➢ The size of each partition will be equal to the size of the process. ➢ The partition size varies according to the need of the process so that the internal fragmentation can be avoided
  • 26. Memory Allocation Prof. Dr. K. Adisesha 26 Paging: Pages of the process are brought into the main memory only when they are required otherwise they reside in the secondary storage. ➢ Considering the fact that the pages are mapped to the frames in Paging, page size needs to be as same as frame size. ➢ Different operating system defines different frame sizes. ➢ The pages belonging to a certain process are loaded into available. ➢ The sizes of each frame must be equal. ➢ Pages size is power of 2, between 512 bytes and 8192 bytes. ➢ The size of the process is measured in the number of pages..
  • 27. Memory Allocation Prof. Dr. K. Adisesha 27 Paging: Address Translation. ➢ Page address is called logical address and represented by page number and the offset. ❖ Logical Address = Page number + page offset ➢ Frame address is called physical address and represented by a frame number and the offset. ❖ Physical Address = Frame number + page offset ➢ A data structure called page map table is used to keep track of the relation between a page of a process to a frame in physical memory.
  • 28. Memory Allocation Prof. Dr. K. Adisesha 28 Paging Faults: A page fault occurs when a program attempts to access a block of memory that is not stored in the physical memory, or RAM. ➢ The fault notifies the operating system that it must locate the data in virtual memory, then transfer it from the storage device to the system RAM. ➢ Page fault arise the exception, that specifies the O/S, which access the memory slots from virtual memory for running the program in continue nature.
  • 29. Memory Allocation Prof. Dr. K. Adisesha 29 Advantages and Disadvantages of Paging: Advantages of Paging ➢ Paging offers simplified memory management so that the programs need not worry about the physical memory addresses. ➢ It allows efficient memory usage. ➢ Provides memory protection by preventing unauthorized access. ➢ The mapping between virtual and physical addresses is quite simple. Disadvantages of Paging ➢ Since the pages are of fixed size, there is a possibility for internal fragmentation. ➢ Page table overhead arises in systems that require large memory. ➢ An additional layer of memory access is created by paging. ➢ Too many pages in a physical memory at the same time lead to thrashing.
  • 30. Memory Allocation Prof. Dr. K. Adisesha 30 Segmentation: Segmentation is a memory management technique in which the memory is divided into the variable size parts. Each part is known as a segment which can be allocated to a process. ➢ The details about each segment are stored in a table called a segment table. ➢ Segment table contains mainly two information about segment: ❖ Base: It is the base address of the segment ❖ Limit: It is the length of the segment.
  • 31. Memory Allocation Prof. Dr. K. Adisesha 31 Segmentation: Translation of Logical address into physical address by segment table. ➢ Suppose a 16 bit address is used with 4 bits for the segment number and 12 bits for the segment offset so the maximum segment size is 4096 and the maximum number of segments that can be refereed is 16. ➢ CPU generates a logical address which contains two parts: ❖ Segment Number ❖ Offset
  • 32. Memory Allocation Prof. Dr. K. Adisesha 32 Segmentation: Advantages & Disadvantages of Segmentation. ➢ Advantages of Segmentation. ❖ Average Segment Size is larger than the actual page size. ❖ Less overhead ❖ It is easier to relocate segments than entire address space. ❖ The segment table is of lesser size as compared to the page table in paging. ➢ Disadvantages of Segmentation. ❖ It can have external fragmentation. ❖ it is difficult to allocate contiguous memory to variable sized partition. ❖ Costly memory management algorithms.
  • 33. Memory Allocation Prof. Dr. K. Adisesha 33 Memory Partitions : Segmentation Paging
  • 34. Memory Allocation 34 Non-Contiguous memory allocation: Paging Segmentation Paging divides program into fixed size pages. Segmentation divides program into variable size segments. OS is responsible Compiler is responsible. Paging is faster than segmentation Segmentation is slower than paging Paging is closer to Operating System Segmentation is closer to User It suffers from internal fragmentation It suffers from external fragmentation Logical address is divided into page number and page offset Logical address is divided into segment number and segment offset Page table is used to maintain the page information. Segment Table maintains the segment information Prof. Dr. K. Adisesha
  • 35. Memory Allocation Prof. Dr. K. Adisesha 35 Fragmentation: Fragmentation is an unwanted problem where the memory blocks cannot be allocated to the processes due to their small size and the blocks remain unused. ➢ The process with the size greater than the size of the largest partition could not be executed due to the lack of sufficient contiguous memory blocks cannot be allocated to new upcoming processes and results in inefficient use of memory. ➢ Basically, there are two types of fragmentation: ❖Internal Fragmentation ❖External Fragmentation
  • 36. Memory Allocation Prof. Dr. K. Adisesha 36 Internal Fragmentation: Memory block assigned to process is bigger. Some portion of memory is left unused, as it cannot be used by another process. ➢ In this fragmentation, the process is allocated a memory block of size more than the size of that process. ➢ Due to this some part of the memory is left unused and this cause internal fragmentation.
  • 37. Memory Allocation Prof. Dr. K. Adisesha 37 External Fragmentation: Total memory space is enough to satisfy a request or to reside a process in it, but it is not contiguous, so it cannot be used. ➢ In this fragmentation, although we have total space available that is needed by a process still we are not able to put that process in the memory because that space is not contiguous. ➢ After some time P1 and P3 got completed and their assigned space is freed, but they cannot be used to load a 2 MB process in the memory since they are not contiguously located
  • 38. Memory Allocation Prof. Dr. K. Adisesha 38 Compaction: Compaction technique can be used to create more free memory out of fragmented memory. ➢External fragmentation can be reduced by compaction or shuffle memory contents to place all free memory together in one large block. To make compaction feasible, relocation should be dynamic. ➢The internal fragmentation can be reduced by effectively assigning the smallest partition but large enough for the process.
  • 39. Virtual memory Prof. Dr. K. Adisesha 39 Definition: Virtual memory is a feature of an operating system that enables a computer to be able to compensate shortages of physical memory by transferring pages of data from random access memory to disk storage. ➢ Virtual memory is a memory management technique where secondary memory can be used as if it were a part of the main memory ➢ Virtual memory serves two purposes. ❖ It allows us to extend the use of physical memory. ❖ It allows us to have memory protection, because each virtual address is translated to a physical address.
  • 40. Virtual memory Prof. Dr. K. Adisesha 40 Virtual memory: Virtual memory allows a computer to treat secondary memory as though it were the main memory. ➢ Virtual memory uses hardware and software to allow a computer to compensate for physical memory shortages. ➢ Memory manager is in charge of keeping track of the shifts between physical and virtual memory. ➢ Types of virtual memory are: ❖ Demand Paging ❖ Segmentation
  • 41. Virtual memory Prof. Dr. K. Adisesha 41 Demand Paging: A demand paging system is quite similar to a paging system with swapping where processes reside in secondary memory and pages are loaded only on demand, not in advance. ➢ Demand paging is used to implement virtual memory, an essential component of operating systems. ➢ The important jobs of virtual memory in Operating Systems are two.: ❖ Frame Allocation ❖ Page Replacement
  • 42. Virtual memory Prof. Dr. K. Adisesha 42 Frame Allocation in Virtual Memory: In Demand paging a physical Address is required by the Central Processing Unit (CPU) for the frame creation and the physical Addressing provides the actual address to each frame created. ➢ Frame Allocation Constraints: ❖ The Frames that can be allocated cannot be greater than total number of frames. ❖ Each process should be given a set minimum amount of frames. ❖ When fewer frames are allocated then the page fault ration increases and the process execution becomes less efficient ❖ There ought to be sufficient frames to accommodate all the many pages that a single instruction may refer to
  • 43. Virtual memory Prof. Dr. K. Adisesha 43 Frame Allocation in Virtual Memory: Frame Allocation Algorithms. ➢ There are three types of Frame Allocation Algorithms in Operating Systems: ❖ Equal Frame Allocation Algorithms: We take number of frames and number of processes at once. We divide the number of frames by number of processes. ❖ Proportionate Frame Allocation Algorithms: We take number of frames based on the process size. For big process more number of frames & for small processes less number of frames is allocated by the operating system. ❖ Priority Frame Allocation Algorithms: According to the quantity of frame allocations and the processes, priority frame allocation distributes frames. Processes with lower priorities are then later executed in future and first only high priority processes are executed first.
  • 44. Virtual memory Prof. Dr. K. Adisesha 44 Page Replacement Methods : In an operating system that uses paging for memory management, a page replacement algorithm is needed to decide which page needs to be replaced when a new page comes in. ➢ Page Fault: A page fault happens when a running program accesses a memory page that is mapped into the virtual address space but not loaded in physical memory.
  • 45. Virtual memory Prof. Dr. K. Adisesha 45 Demand Paging: A demand paging system is quite similar to a paging system with swapping where processes reside in secondary memory and pages are loaded only on demand, not in advance. ➢ Types of Page Replacement Methods are: ❖ FIFO ❖ Optimal Algorithm ❖ LRU Page Replacement
  • 46. Virtual memory Prof. Dr. K. Adisesha 46 FIFO Page Replacement: FIFO (First-in-first-out) is a simple implementation method, the process selects the page for a replacement that has been in the virtual address of the memory for the longest time. ➢ Features of FIFO Page Replacement Methods are: ❖ Whenever a new page loaded, the page recently comes in the memory is removed. ❖ The oldest page in the main memory is one that should be selected for replacement first
  • 47. Virtual memory Prof. Dr. K. Adisesha 47 Optimal Algorithm: The optimal page replacement method selects that page for a replacement for which the time to the next reference is the longest. ➢ Features of Optimal algorithm are: ❖ Optimal algorithm results in the fewest number of page faults. This algorithm is difficult to implement. ❖ Replace the page which unlike to use for a longer period of time. It only uses the time when a page needs to be used.
  • 48. Virtual memory Prof. Dr. K. Adisesha 48 LRU Page Replacement: Least Recently Used (LRU) page, this method helps OS to find page usage over a short period of time. ➢ This algorithm should be implemented by associating a counter with an even- page. ➢ Features of LRU Page Replacement are: ❖ The LRU replacement method has the highest count. This counter is also called aging registers, which specify their age and how much their associated pages should also be referenced. ❖ The page which hasn't been used for the longest time in the main memory is the one that should be selected for replacement. ❖ It also keeps a list and replaces pages by looking back into time
  • 49. Virtual memory Prof. Dr. K. Adisesha 49 Virtual memory: Virtual memory is important for improving system performance, multitasking, using large programs and flexibility. ➢ Benefits of using virtual memory ❖ Frees applications from managing shared memory and saves users from having to add memory modules when RAM space runs out. ❖ Increased security because of memory isolation. ❖ Multiple larger applications can be run simultaneously. ❖ Doesn't need external fragmentation. ❖ Effective CPU use. ❖ Data can be moved automatically.
  • 50. Virtual memory Prof. Dr. K. Adisesha 50 Thrashing : 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.. ➢ Thrashing occurs when a computer's virtual memory resources are overused, leading to a constant state of paging and page faults, inhibiting most application-level processing. ➢ Causes of Thrashing ❖ CPU utilization is plotted against the degree of multiprogramming. ❖ As the degree of multiprogramming increases, CPU utilization also increases. ❖ If the degree of multiprogramming is increased further, thrashing sets in, and CPU utilization drops sharply. ❖ So, at this point, to increase CPU utilization and to stop thrashing, we must decrease the degree of multiprogramming.
  • 51. Operating System - Properties Prof. Dr. K. Adisesha 51 Distributed Environment: A distributed environment refers to multiple independent CPUs or processors in a computer system. ➢ An operating system does the following activities related to distributed environment: ❖ The OS distributes computation logics among several physical processors. ❖ The processors do not share memory or a clock. Instead, each processor has its own local memory. ❖ The OS manages the communications between the processors. ❖ They communicate with each other through various communication lines.
  • 52. Operating System - Properties Prof. Dr. K. Adisesha 52 Spooling: Spooling is an acronym for simultaneous peripheral operations on line. ➢ Spooling refers to putting data of various I/O jobs in a buffer. ➢ This buffer is a special area in memory or hard disk which is accessible to I/O devices. ➢ Advantages ❖ The spooling operation uses a disk as a very large buffer. ❖ Spooling is capable of overlapping I/O operation for one job with processor operations for another job.
  • 53. Operating System - Properties Prof. Dr. K. Adisesha 53 Spooling: Spooling is an acronym for simultaneous peripheral operations on line. ➢ Spooling refers to putting data of various I/O jobs in a buffer. ➢ An operating system does the following activities related to distributed environment . ❖ Handles I/O device data spooling as devices have different data access rates. ❖ Maintains the spooling buffer which provides a waiting station where data can rest while the slower device catches up. ❖ Maintains parallel computation because of spooling process as a computer can perform I/O in parallel fashion. ❖ It becomes possible to have the computer read data from a tape, write data to disk and to write out to a tape printer while it is doing its computing task
  • 54. Discussion Prof. Dr. K. Adisesha 54 Queries ? Prof. K. Adisesha 9449081542
  翻译: