SlideShare a Scribd company logo
Memory Management inMemory Management in
Operating SystemsOperating Systems
V.V. SubrahmanyamV.V. Subrahmanyam
SOCIS, IGNOUSOCIS, IGNOU
Date: 31Date: 31stst
March, 2008March, 2008
Time: 19-00 to 19-45Time: 19-00 to 19-45
MemoryMemory
 Memory is central to the operation of a modernMemory is central to the operation of a modern
computer system.computer system.
 Memory is a large array of words or bytes, eachMemory is a large array of words or bytes, each
location with its own address.location with its own address.
 Interaction is achieved through a sequence ofInteraction is achieved through a sequence of
reads/writes of specific memory address.reads/writes of specific memory address.
 The CPU fetches the program from the hard diskThe CPU fetches the program from the hard disk
and stores in the memory.and stores in the memory.
 If a program is to be executed, it must beIf a program is to be executed, it must be
mapped to absolute addresses and loaded intomapped to absolute addresses and loaded into
memory.memory.
Contd…Contd…
 In a multiprogramming environment, in order toIn a multiprogramming environment, in order to
improve both the CPU utilisation and the speedimprove both the CPU utilisation and the speed
of the computer’s response, several processesof the computer’s response, several processes
must be kept in memory.must be kept in memory.
 There are many different algorithms dependingThere are many different algorithms depending
on the particular situation to manage theon the particular situation to manage the
memory.memory.
 Selection of a memory management scheme forSelection of a memory management scheme for
a specific system depends upon many factors,a specific system depends upon many factors,
but especially upon the hardware design of thebut especially upon the hardware design of the
system.system.
 Each algorithm requires its own hardwareEach algorithm requires its own hardware
support.support.
Memory Management –Memory Management –
Responsibilities of OSResponsibilities of OS
 Keep track of which parts of memory areKeep track of which parts of memory are
currently being used and by whom.currently being used and by whom.
 Decide which processes are to be loadedDecide which processes are to be loaded
into memory when memory spaceinto memory when memory space
becomes available.becomes available.
 Allocate and deallocate memory space asAllocate and deallocate memory space as
needed.needed.
Contd…Contd…
 In the multiprogramming environmentIn the multiprogramming environment
operating system dynamically allocatesoperating system dynamically allocates
memory to multiple processes.memory to multiple processes.
 Thus memory plays a significant role inThus memory plays a significant role in
the important aspects of computer systemthe important aspects of computer system
like performance, S/W support, reliabilitylike performance, S/W support, reliability
and stability.and stability.
OverlaysOverlays
 In idealistic situation, the entire program and itsIn idealistic situation, the entire program and its
related data is loaded in physical memory forrelated data is loaded in physical memory for
execution.execution.
 But what if process is larger than the amount ofBut what if process is larger than the amount of
memory allocated to it?memory allocated to it?
 We can overcome this problem by adopting aWe can overcome this problem by adopting a
technique called astechnique called as OverlaysOverlays. Like dynamic. Like dynamic
loading, overlays can also be implemented byloading, overlays can also be implemented by
users without OS support.users without OS support.
 The entire program or application is divided intoThe entire program or application is divided into
instructions and data sets such that when oneinstructions and data sets such that when one
instruction set is needed it is loaded in memoryinstruction set is needed it is loaded in memory
and after its execution is over, the space isand after its execution is over, the space is
released.released.
 As and when requirement for other instructionAs and when requirement for other instruction
arises it is loaded into space that was releasedarises it is loaded into space that was released
previously by the instructions that are no longerpreviously by the instructions that are no longer
needed.needed.
 Such instructions can be called as overlays,Such instructions can be called as overlays,
which are loaded and unloaded by the program.which are loaded and unloaded by the program.
 DefinitionDefinition: An overlay is a part of an: An overlay is a part of an
application, which has been loaded at sameapplication, which has been loaded at same
origin where previously some other part (s) oforigin where previously some other part (s) of
the program was residing.the program was residing.
 A program based on overlay scheme mainlyA program based on overlay scheme mainly
consists of following:consists of following:
 A “root” piece which is always memory residentA “root” piece which is always memory resident
 Set of overlays.Set of overlays.
 Overlay gives the program a way to extendOverlay gives the program a way to extend
limited main storage. An important aspectlimited main storage. An important aspect
related to overlays identification in program isrelated to overlays identification in program is
concept of mutual exclusion i.e., routines whichconcept of mutual exclusion i.e., routines which
do not invoke each other and are not loaded indo not invoke each other and are not loaded in
memory simultaneously.memory simultaneously.
Example of OverlayExample of Overlay
Read ( )
Function1 ( )
Function2 ( )
Display ( )
Read ( )
Display ( )
Function2 ( )Function1()
20 K
20K Read( ) Read ( )
50K Function1( )
Function 1( ) Function 2( )
70K Function 2( )
Overlay A 40K Display ( ) Overlay B
40K Display ( ) (50K) (70K)
Without Overlay (180K) With Overlay (Maximum.130K)
Limitations of OverlaysLimitations of Overlays
Overlays scheme suffers from following limitations:Overlays scheme suffers from following limitations:
 Require careful and time-consuming planning.Require careful and time-consuming planning.
 Programmer is responsible for organizingProgrammer is responsible for organizing
overlay structure of program with the help of fileoverlay structure of program with the help of file
structures etc. and also to ensure that piece ofstructures etc. and also to ensure that piece of
code is already loaded when it is called.code is already loaded when it is called.
 Operating System provides the facility to loadOperating System provides the facility to load
files into overlay region.files into overlay region.
SwappingSwapping
 Swapping is an approach for memorySwapping is an approach for memory
management by bringing each process inmanagement by bringing each process in
entirety, running it and then putting it back on theentirety, running it and then putting it back on the
disk, so that another program may be loadeddisk, so that another program may be loaded
into that space.into that space.
 Swapping is a technique that lets you use a diskSwapping is a technique that lets you use a disk
file as an extension of memory.file as an extension of memory.
 Lower priority user processes are swapped toLower priority user processes are swapped to
backing store (disk) when they are waiting forbacking store (disk) when they are waiting for
I/O or some other event like arrival of higherI/O or some other event like arrival of higher
priority processes. This ispriority processes. This is Rollout SwappingRollout Swapping..
 Swapping the process back into store whenSwapping the process back into store when
some event occurs or when needed (may be in asome event occurs or when needed (may be in a
different partition) is known asdifferent partition) is known as Roll-in swappingRoll-in swapping..
SwappingSwapping
Operating System
User
Process/Application
ProcessP1
ProcessP2
Main Memory Disk
Roll Out
Roll In
Benefits of SwappingBenefits of Swapping
 Allows higher degree of multiprogramming.Allows higher degree of multiprogramming.
 Allows dynamic relocation, i.e., if addressAllows dynamic relocation, i.e., if address
binding at execution time is being used we canbinding at execution time is being used we can
swap in different location else in case of compileswap in different location else in case of compile
and load time bindings processes have to beand load time bindings processes have to be
moved to same location only.moved to same location only.
 Better memory utilisation.Better memory utilisation.
 Less wastage of CPU time on compaction, andLess wastage of CPU time on compaction, and
 Can easily be applied on priority-basedCan easily be applied on priority-based
scheduling algorithms to improve performance.scheduling algorithms to improve performance.
LimitationsLimitations
 Entire program must be resident in storeEntire program must be resident in store
when it is executing.when it is executing.
 Also processes with changing memoryAlso processes with changing memory
requirements will need to issue systemrequirements will need to issue system
calls for requesting and releasing memory.calls for requesting and releasing memory.
 It is necessary to know exactly how muchIt is necessary to know exactly how much
memory a user process is using and alsomemory a user process is using and also
that it is blocked or waiting for I/O.that it is blocked or waiting for I/O.
Logical and Physical AddressLogical and Physical Address
SpaceSpace
 The computer interacts via logical and physicalThe computer interacts via logical and physical
addressing to map memory.addressing to map memory.
 Logical address is the one that is generated byLogical address is the one that is generated by
CPU, also referred to as virtual address. TheCPU, also referred to as virtual address. The
program perceives this address space.program perceives this address space.
 Physical address is the actual addressPhysical address is the actual address
understood by computer hardware i.e., memoryunderstood by computer hardware i.e., memory
unit. Logical to physical address translation isunit. Logical to physical address translation is
taken care by the Operating System.taken care by the Operating System.
Memory AllocationMemory Allocation
Memory Allocation
Contiguous Allocation Non-Contiguous Allocation
Single-partition systems Multiple-partition systems
Fixed-Sized Partitions Variable Sized Partitions
Equal-Sized Unequal-Size
PagingPaging
 In a paged system, logical memory is dividedIn a paged system, logical memory is divided
into a number of fixed sizes ‘chunks’ calledinto a number of fixed sizes ‘chunks’ called
pagespages..
 The physical memory is also predivided intoThe physical memory is also predivided into
same fixed sized blocks (as is the size of pages)same fixed sized blocks (as is the size of pages)
calledcalled page framespage frames..
 The page sizes (also the frame sizes) areThe page sizes (also the frame sizes) are
always powers of 2, and vary between 512 bytesalways powers of 2, and vary between 512 bytes
to 8192 bytes per page. The reason behind thisto 8192 bytes per page. The reason behind this
is implementation of paging mechanism usingis implementation of paging mechanism using
page number and page offset.page number and page offset.
Paging SystemPaging System
Pages
Page0
Page1
Page2
Page3
Page4
1
3
6
4
2
0
1
2
3
4
Page0
Page4
Page1
Page3
Page2
1
2
3
4
5
6
Frames0
Logical Memory
PageNo. FrameNo
PageTable
Physical Memory
Page AllocationPage Allocation
 In variable sized partitioning of memory every time whenIn variable sized partitioning of memory every time when
a process of sizea process of size nn is to be loaded, it is important tois to be loaded, it is important to
know the best location from the list of available/freeknow the best location from the list of available/free
holes. This dynamic storage allocation is necessary toholes. This dynamic storage allocation is necessary to
increase efficiency and throughput of system. Mostincrease efficiency and throughput of system. Most
commonly used strategies to make such selection are:commonly used strategies to make such selection are:
 Best-fit Policy:Best-fit Policy: Allocating the hole in which theAllocating the hole in which the
process fits most “tightly” i.e., the difference between theprocess fits most “tightly” i.e., the difference between the
hole size and the process size is the minimum one.hole size and the process size is the minimum one.
 First-fit Policy:First-fit Policy: Allocating the first available holeAllocating the first available hole
(according to memory order), which is big enough to(according to memory order), which is big enough to
accommodate the new process.accommodate the new process.
 Worst-fit Policy:Worst-fit Policy: Allocating the largest hole that willAllocating the largest hole that will
leave maximum amount of unused space i.e., leftoverleave maximum amount of unused space i.e., leftover
space is maximum after allocation.space is maximum after allocation.
 Now, question arises which strategy is likely toNow, question arises which strategy is likely to
be used?be used?
 In practice, best-fit and first-fit are better thanIn practice, best-fit and first-fit are better than
worst-fit. Both these are efficient in terms of timeworst-fit. Both these are efficient in terms of time
and storage requirement.and storage requirement.
 Best-fit minimize the leftover space, createBest-fit minimize the leftover space, create
smallest hole that could be rarely used.smallest hole that could be rarely used.
 First-fit on the other hand requires leastFirst-fit on the other hand requires least
overheads in its implementation because of itsoverheads in its implementation because of its
simplicity.simplicity.
 Possibly worst-fit also sometimes leaves largePossibly worst-fit also sometimes leaves large
holes that could further be used toholes that could further be used to
accommodate other processes. Thus all theseaccommodate other processes. Thus all these
policies have their own merits and demerits.policies have their own merits and demerits.
Direct MappingDirect Mapping
Processor
(Running
Program)
P d
f
f d
Virtual Address Physical Address
P
Physical Memory
PageTableVA → PA
SegmentationSegmentation
 Segmentation presents an alternative schemeSegmentation presents an alternative scheme
for memory management.for memory management.
 This schemeThis scheme divides the logical address spacedivides the logical address space
into variable length chunks, called segments,into variable length chunks, called segments,
with no proper ordering among them. Eachwith no proper ordering among them. Each
segment has a name and a length. Forsegment has a name and a length. For
simplicity, segments are referred by a segmentsimplicity, segments are referred by a segment
number, rather than by a name.number, rather than by a name.
 Thus, the logical addresses are expressed as aThus, the logical addresses are expressed as a
pair of segment number and offset withinpair of segment number and offset within
segment.segment.
 It allows a program to be broken down intoIt allows a program to be broken down into
logical parts according to the user view oflogical parts according to the user view of
the memory, which is then mapped intothe memory, which is then mapped into
physical memory.physical memory.
 Though logical addresses are two-Though logical addresses are two-
dimensional but actual physical addressesdimensional but actual physical addresses
are still one-dimensional array of bytesare still one-dimensional array of bytes
only.only.
Address TranslationAddress Translation
Segment Table
Physical Memory
Yes
S d
Limit L BaseB
B+d+d<L
S
Physical AddressNo
Trap/ Error
dProcessor
Principle of OperationPrinciple of Operation
Segment 0
Segment 1
Segment 2
Segment 3
Segment 4
Limit Base
1000 1500
500 5000
400 3000
1000 4000
1100 6000
1
2
3
4
Segment Table
Segment 0
Segment 2
Segment 3
Segment 1
Segment 4
0
1500
2500
3000
3400
4000
5000
5500
6000
7100

More Related Content

PPTX
Memory Management in OS
PPT
Memory management
PPTX
DeadLock in Operating-Systems
PPT
CPU Scheduling Algorithms
PPTX
Memory management ppt
PPT
Delegation of authority
PPT
Software development slides
PPTX
Software requirements specification
Memory Management in OS
Memory management
DeadLock in Operating-Systems
CPU Scheduling Algorithms
Memory management ppt
Delegation of authority
Software development slides
Software requirements specification

What's hot (20)

PDF
Operating systems system structures
PDF
Multithreading
PDF
Memory management
PPTX
Deadlock ppt
PPTX
SCHEDULING ALGORITHMS
PPTX
contiguous memory allocation.pptx
PDF
Process scheduling (CPU Scheduling)
PPTX
Deadlocks in operating system
PPS
Virtual memory
PDF
Lecture 1 introduction to parallel and distributed computing
PDF
operating system structure
PPT
Thrashing allocation frames.43
PDF
Distributed Operating System_1
PPT
Chapter 10 - File System Interface
PPTX
Process management os concept
PPTX
Operating system memory management
PPTX
Segmentation in Operating Systems.
PPTX
Segmentation in operating systems
Operating systems system structures
Multithreading
Memory management
Deadlock ppt
SCHEDULING ALGORITHMS
contiguous memory allocation.pptx
Process scheduling (CPU Scheduling)
Deadlocks in operating system
Virtual memory
Lecture 1 introduction to parallel and distributed computing
operating system structure
Thrashing allocation frames.43
Distributed Operating System_1
Chapter 10 - File System Interface
Process management os concept
Operating system memory management
Segmentation in Operating Systems.
Segmentation in operating systems
Ad

Similar to Memory Management in OS (20)

PPT
Basics of Operating System
PPTX
operating system deadlock management with example
PPTX
memorymanagementoperatingaystemsconvepys.pptx
PDF
OS ppt.pdf
DOC
Introduction to Operating System (Important Notes)
PPT
Operating systems types, spooling and buffering
PPT
1.Introduction
PPT
1.introduction
PDF
Memory management- Swapping Contiguous Memory Allocation
PPTX
Operating Systems Module 4_Memory Management.pptx
PPTX
services and system calls of operating system
PPSX
Spr ch-01
PPT
Os rtos.ppt
PPTX
Operating system
PDF
Michael snowhite1
PDF
Clifford sugerman
PPTX
Basic operating systems in computer and it's uses
PDF
Operating system (OS) itself is a process, what approaches are there.pdf
DOCX
Os by nishant raghav
PPTX
Design Of Operating System_Lecture_OS_1.pptx
Basics of Operating System
operating system deadlock management with example
memorymanagementoperatingaystemsconvepys.pptx
OS ppt.pdf
Introduction to Operating System (Important Notes)
Operating systems types, spooling and buffering
1.Introduction
1.introduction
Memory management- Swapping Contiguous Memory Allocation
Operating Systems Module 4_Memory Management.pptx
services and system calls of operating system
Spr ch-01
Os rtos.ppt
Operating system
Michael snowhite1
Clifford sugerman
Basic operating systems in computer and it's uses
Operating system (OS) itself is a process, what approaches are there.pdf
Os by nishant raghav
Design Of Operating System_Lecture_OS_1.pptx
Ad

More from vampugani (19)

PPTX
Social media presentation
PPTX
Creating Quick Response(QR) Codes for the OER
PPTX
Arithmetic Computation using 2's Complement Notation
PPTX
Post Graduate Diploma in Computer Applications (PGDCA)
PPTX
Overview of Distributed Systems
PPT
Protection and Security in Operating Systems
PPT
Virtual Memory
PPT
Process Scheduling
PPT
Processes
PPT
Introduction to OS
PPT
Operating Systems
PPT
Distributed Systems
PPT
Multiprocessor Systems
PPT
File Management in Operating Systems
PPT
Strings in c
PPT
Arrays in c
PPT
Control statements and functions in c
PPT
Introduction to C Programming
PPT
Introduction to C Programming - I
Social media presentation
Creating Quick Response(QR) Codes for the OER
Arithmetic Computation using 2's Complement Notation
Post Graduate Diploma in Computer Applications (PGDCA)
Overview of Distributed Systems
Protection and Security in Operating Systems
Virtual Memory
Process Scheduling
Processes
Introduction to OS
Operating Systems
Distributed Systems
Multiprocessor Systems
File Management in Operating Systems
Strings in c
Arrays in c
Control statements and functions in c
Introduction to C Programming
Introduction to C Programming - I

Recently uploaded (20)

PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Insiders guide to clinical Medicine.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
Institutional Correction lecture only . . .
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
master seminar digital applications in india
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
O7-L3 Supply Chain Operations - ICLT Program
Supply Chain Operations Speaking Notes -ICLT Program
O5-L3 Freight Transport Ops (International) V1.pdf
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
TR - Agricultural Crops Production NC III.pdf
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Insiders guide to clinical Medicine.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
Anesthesia in Laparoscopic Surgery in India
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Institutional Correction lecture only . . .
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
master seminar digital applications in india
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
Week 4 Term 3 Study Techniques revisited.pptx

Memory Management in OS

  • 1. Memory Management inMemory Management in Operating SystemsOperating Systems V.V. SubrahmanyamV.V. Subrahmanyam SOCIS, IGNOUSOCIS, IGNOU Date: 31Date: 31stst March, 2008March, 2008 Time: 19-00 to 19-45Time: 19-00 to 19-45
  • 2. MemoryMemory  Memory is central to the operation of a modernMemory is central to the operation of a modern computer system.computer system.  Memory is a large array of words or bytes, eachMemory is a large array of words or bytes, each location with its own address.location with its own address.  Interaction is achieved through a sequence ofInteraction is achieved through a sequence of reads/writes of specific memory address.reads/writes of specific memory address.  The CPU fetches the program from the hard diskThe CPU fetches the program from the hard disk and stores in the memory.and stores in the memory.  If a program is to be executed, it must beIf a program is to be executed, it must be mapped to absolute addresses and loaded intomapped to absolute addresses and loaded into memory.memory.
  • 3. Contd…Contd…  In a multiprogramming environment, in order toIn a multiprogramming environment, in order to improve both the CPU utilisation and the speedimprove both the CPU utilisation and the speed of the computer’s response, several processesof the computer’s response, several processes must be kept in memory.must be kept in memory.  There are many different algorithms dependingThere are many different algorithms depending on the particular situation to manage theon the particular situation to manage the memory.memory.  Selection of a memory management scheme forSelection of a memory management scheme for a specific system depends upon many factors,a specific system depends upon many factors, but especially upon the hardware design of thebut especially upon the hardware design of the system.system.  Each algorithm requires its own hardwareEach algorithm requires its own hardware support.support.
  • 4. Memory Management –Memory Management – Responsibilities of OSResponsibilities of OS  Keep track of which parts of memory areKeep track of which parts of memory are currently being used and by whom.currently being used and by whom.  Decide which processes are to be loadedDecide which processes are to be loaded into memory when memory spaceinto memory when memory space becomes available.becomes available.  Allocate and deallocate memory space asAllocate and deallocate memory space as needed.needed.
  • 5. Contd…Contd…  In the multiprogramming environmentIn the multiprogramming environment operating system dynamically allocatesoperating system dynamically allocates memory to multiple processes.memory to multiple processes.  Thus memory plays a significant role inThus memory plays a significant role in the important aspects of computer systemthe important aspects of computer system like performance, S/W support, reliabilitylike performance, S/W support, reliability and stability.and stability.
  • 6. OverlaysOverlays  In idealistic situation, the entire program and itsIn idealistic situation, the entire program and its related data is loaded in physical memory forrelated data is loaded in physical memory for execution.execution.  But what if process is larger than the amount ofBut what if process is larger than the amount of memory allocated to it?memory allocated to it?  We can overcome this problem by adopting aWe can overcome this problem by adopting a technique called astechnique called as OverlaysOverlays. Like dynamic. Like dynamic loading, overlays can also be implemented byloading, overlays can also be implemented by users without OS support.users without OS support.
  • 7.  The entire program or application is divided intoThe entire program or application is divided into instructions and data sets such that when oneinstructions and data sets such that when one instruction set is needed it is loaded in memoryinstruction set is needed it is loaded in memory and after its execution is over, the space isand after its execution is over, the space is released.released.  As and when requirement for other instructionAs and when requirement for other instruction arises it is loaded into space that was releasedarises it is loaded into space that was released previously by the instructions that are no longerpreviously by the instructions that are no longer needed.needed.  Such instructions can be called as overlays,Such instructions can be called as overlays, which are loaded and unloaded by the program.which are loaded and unloaded by the program.
  • 8.  DefinitionDefinition: An overlay is a part of an: An overlay is a part of an application, which has been loaded at sameapplication, which has been loaded at same origin where previously some other part (s) oforigin where previously some other part (s) of the program was residing.the program was residing.  A program based on overlay scheme mainlyA program based on overlay scheme mainly consists of following:consists of following:  A “root” piece which is always memory residentA “root” piece which is always memory resident  Set of overlays.Set of overlays.  Overlay gives the program a way to extendOverlay gives the program a way to extend limited main storage. An important aspectlimited main storage. An important aspect related to overlays identification in program isrelated to overlays identification in program is concept of mutual exclusion i.e., routines whichconcept of mutual exclusion i.e., routines which do not invoke each other and are not loaded indo not invoke each other and are not loaded in memory simultaneously.memory simultaneously.
  • 9. Example of OverlayExample of Overlay Read ( ) Function1 ( ) Function2 ( ) Display ( ) Read ( ) Display ( ) Function2 ( )Function1() 20 K 20K Read( ) Read ( ) 50K Function1( ) Function 1( ) Function 2( ) 70K Function 2( ) Overlay A 40K Display ( ) Overlay B 40K Display ( ) (50K) (70K) Without Overlay (180K) With Overlay (Maximum.130K)
  • 10. Limitations of OverlaysLimitations of Overlays Overlays scheme suffers from following limitations:Overlays scheme suffers from following limitations:  Require careful and time-consuming planning.Require careful and time-consuming planning.  Programmer is responsible for organizingProgrammer is responsible for organizing overlay structure of program with the help of fileoverlay structure of program with the help of file structures etc. and also to ensure that piece ofstructures etc. and also to ensure that piece of code is already loaded when it is called.code is already loaded when it is called.  Operating System provides the facility to loadOperating System provides the facility to load files into overlay region.files into overlay region.
  • 11. SwappingSwapping  Swapping is an approach for memorySwapping is an approach for memory management by bringing each process inmanagement by bringing each process in entirety, running it and then putting it back on theentirety, running it and then putting it back on the disk, so that another program may be loadeddisk, so that another program may be loaded into that space.into that space.  Swapping is a technique that lets you use a diskSwapping is a technique that lets you use a disk file as an extension of memory.file as an extension of memory.  Lower priority user processes are swapped toLower priority user processes are swapped to backing store (disk) when they are waiting forbacking store (disk) when they are waiting for I/O or some other event like arrival of higherI/O or some other event like arrival of higher priority processes. This ispriority processes. This is Rollout SwappingRollout Swapping..  Swapping the process back into store whenSwapping the process back into store when some event occurs or when needed (may be in asome event occurs or when needed (may be in a different partition) is known asdifferent partition) is known as Roll-in swappingRoll-in swapping..
  • 13. Benefits of SwappingBenefits of Swapping  Allows higher degree of multiprogramming.Allows higher degree of multiprogramming.  Allows dynamic relocation, i.e., if addressAllows dynamic relocation, i.e., if address binding at execution time is being used we canbinding at execution time is being used we can swap in different location else in case of compileswap in different location else in case of compile and load time bindings processes have to beand load time bindings processes have to be moved to same location only.moved to same location only.  Better memory utilisation.Better memory utilisation.  Less wastage of CPU time on compaction, andLess wastage of CPU time on compaction, and  Can easily be applied on priority-basedCan easily be applied on priority-based scheduling algorithms to improve performance.scheduling algorithms to improve performance.
  • 14. LimitationsLimitations  Entire program must be resident in storeEntire program must be resident in store when it is executing.when it is executing.  Also processes with changing memoryAlso processes with changing memory requirements will need to issue systemrequirements will need to issue system calls for requesting and releasing memory.calls for requesting and releasing memory.  It is necessary to know exactly how muchIt is necessary to know exactly how much memory a user process is using and alsomemory a user process is using and also that it is blocked or waiting for I/O.that it is blocked or waiting for I/O.
  • 15. Logical and Physical AddressLogical and Physical Address SpaceSpace  The computer interacts via logical and physicalThe computer interacts via logical and physical addressing to map memory.addressing to map memory.  Logical address is the one that is generated byLogical address is the one that is generated by CPU, also referred to as virtual address. TheCPU, also referred to as virtual address. The program perceives this address space.program perceives this address space.  Physical address is the actual addressPhysical address is the actual address understood by computer hardware i.e., memoryunderstood by computer hardware i.e., memory unit. Logical to physical address translation isunit. Logical to physical address translation is taken care by the Operating System.taken care by the Operating System.
  • 16. Memory AllocationMemory Allocation Memory Allocation Contiguous Allocation Non-Contiguous Allocation Single-partition systems Multiple-partition systems Fixed-Sized Partitions Variable Sized Partitions Equal-Sized Unequal-Size
  • 17. PagingPaging  In a paged system, logical memory is dividedIn a paged system, logical memory is divided into a number of fixed sizes ‘chunks’ calledinto a number of fixed sizes ‘chunks’ called pagespages..  The physical memory is also predivided intoThe physical memory is also predivided into same fixed sized blocks (as is the size of pages)same fixed sized blocks (as is the size of pages) calledcalled page framespage frames..  The page sizes (also the frame sizes) areThe page sizes (also the frame sizes) are always powers of 2, and vary between 512 bytesalways powers of 2, and vary between 512 bytes to 8192 bytes per page. The reason behind thisto 8192 bytes per page. The reason behind this is implementation of paging mechanism usingis implementation of paging mechanism using page number and page offset.page number and page offset.
  • 19. Page AllocationPage Allocation  In variable sized partitioning of memory every time whenIn variable sized partitioning of memory every time when a process of sizea process of size nn is to be loaded, it is important tois to be loaded, it is important to know the best location from the list of available/freeknow the best location from the list of available/free holes. This dynamic storage allocation is necessary toholes. This dynamic storage allocation is necessary to increase efficiency and throughput of system. Mostincrease efficiency and throughput of system. Most commonly used strategies to make such selection are:commonly used strategies to make such selection are:  Best-fit Policy:Best-fit Policy: Allocating the hole in which theAllocating the hole in which the process fits most “tightly” i.e., the difference between theprocess fits most “tightly” i.e., the difference between the hole size and the process size is the minimum one.hole size and the process size is the minimum one.  First-fit Policy:First-fit Policy: Allocating the first available holeAllocating the first available hole (according to memory order), which is big enough to(according to memory order), which is big enough to accommodate the new process.accommodate the new process.  Worst-fit Policy:Worst-fit Policy: Allocating the largest hole that willAllocating the largest hole that will leave maximum amount of unused space i.e., leftoverleave maximum amount of unused space i.e., leftover space is maximum after allocation.space is maximum after allocation.
  • 20.  Now, question arises which strategy is likely toNow, question arises which strategy is likely to be used?be used?  In practice, best-fit and first-fit are better thanIn practice, best-fit and first-fit are better than worst-fit. Both these are efficient in terms of timeworst-fit. Both these are efficient in terms of time and storage requirement.and storage requirement.  Best-fit minimize the leftover space, createBest-fit minimize the leftover space, create smallest hole that could be rarely used.smallest hole that could be rarely used.  First-fit on the other hand requires leastFirst-fit on the other hand requires least overheads in its implementation because of itsoverheads in its implementation because of its simplicity.simplicity.  Possibly worst-fit also sometimes leaves largePossibly worst-fit also sometimes leaves large holes that could further be used toholes that could further be used to accommodate other processes. Thus all theseaccommodate other processes. Thus all these policies have their own merits and demerits.policies have their own merits and demerits.
  • 21. Direct MappingDirect Mapping Processor (Running Program) P d f f d Virtual Address Physical Address P Physical Memory PageTableVA → PA
  • 22. SegmentationSegmentation  Segmentation presents an alternative schemeSegmentation presents an alternative scheme for memory management.for memory management.  This schemeThis scheme divides the logical address spacedivides the logical address space into variable length chunks, called segments,into variable length chunks, called segments, with no proper ordering among them. Eachwith no proper ordering among them. Each segment has a name and a length. Forsegment has a name and a length. For simplicity, segments are referred by a segmentsimplicity, segments are referred by a segment number, rather than by a name.number, rather than by a name.  Thus, the logical addresses are expressed as aThus, the logical addresses are expressed as a pair of segment number and offset withinpair of segment number and offset within segment.segment.
  • 23.  It allows a program to be broken down intoIt allows a program to be broken down into logical parts according to the user view oflogical parts according to the user view of the memory, which is then mapped intothe memory, which is then mapped into physical memory.physical memory.  Though logical addresses are two-Though logical addresses are two- dimensional but actual physical addressesdimensional but actual physical addresses are still one-dimensional array of bytesare still one-dimensional array of bytes only.only.
  • 24. Address TranslationAddress Translation Segment Table Physical Memory Yes S d Limit L BaseB B+d+d<L S Physical AddressNo Trap/ Error dProcessor
  • 25. Principle of OperationPrinciple of Operation Segment 0 Segment 1 Segment 2 Segment 3 Segment 4 Limit Base 1000 1500 500 5000 400 3000 1000 4000 1100 6000 1 2 3 4 Segment Table Segment 0 Segment 2 Segment 3 Segment 1 Segment 4 0 1500 2500 3000 3400 4000 5000 5500 6000 7100