Segmentation And Paging
For HCTM Kaithal Presented By :
Madhur Gupta
1712159
CSE A 5th Sem ( 2012-2016)
Contents InThe Presentation
• Memory Segmentation
• Segmentation Hardware
• Advantages
• Disadvantages
• Paging
• Frames
• Mapping
• Combining Segmentation with Paging
1. Physical Memory-Total memory of the computer. EX: RAM
2. Logical Memory- CPU memory
3. Virtual memory- An imaginary memory area supported by some
operating systems (for example, Windows). It is an extension of logical
memory
 If the size of the program is
greater than the available
memory size, then the concept
of virtual memory is used
 Ever wondered how a 10GB
Game like God OfWar fits into
your 2GB RAM computer?
 Paging is a memory management technique in which the memory
is divided into fixed size pages.
 Paging is used for faster access to data.
 It is a logical concept
STATEMENT 1
STATEMENT 2
STATEMENT 3
STATEMENT 4
STATEMENT 5
STATEMENT 6
STATEMENT 7
Suppose a program X consists of 7
statements. But the memory can hold only
4 statements, then Paging concept is used.
PROGRAM X
STATEMENT 1
STATEMENT 2
STATEMENT 3
STATEMENT 4
STATEMENT 5
STATEMENT 6
STATEMENT 7
 Frames are physical concept
 It is present in the RAM
 We cannot see Pages, but we can see Frames
 Converting pages(virtual address) into frames (physical address)
 Enables program to be executed
 It is performed by the Memory Management Unit (M.M.U.)
CPU
(WHERE
PAGESARE
DIVIDED)
MMU
Memory 1 Memory 2Virtual address of
each page
Converts virtual
address to
physical address
 If any error error occurs at any
physical address, it is quickly
retrieved from memory and
sent to the CPU
0 0 0 0 0 1 0 1 1 1 0 1 1 1 0
6-bit page # 10-bit offset #
16-bit logical address
0 0 0 0 1 0 1
1 0 0 0 1 1 0
0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0
PageTable
16-bit Physical address
 LOGICAL ADDRESS
PAGE NUMBER
(WHICH PAGE ISTO BE
SEARCHED INTHE
MEMORY)
PAGE OFFSET
(WHICH BYTE OF DATA ISTO
BE READ FROMTHAT PAGE)
MAXIMUM OF 6 BYTES MAXIMUM OF 10 BYTES
 PHYSICAL ADDRESS
FRAME NUMBER FRAME OFFSET
MAXIMUM OF 6 BYTES MAXIMUM OF 10 BYTES
LOGICAL ADDRESS
PAGE P0
P1
P2
P3
P4
P5
P6
P7
MAPPING
PHYSICAL
ADDRESS
P7
P2
P1
P5
FO
F1
F2
F3
page
frame 0
page
frame 1
page
frame 2
page
frame 3
physical memory
offset
physical address
F3’s Value
F3
F2
F0
page table(MMU)
offset
logical address
P=3
CPU
P0
P1
P2
P3
P4
P5
P6
P7
F1
The paging process is protected by the concept of
insertion of an additional bit calledVALID/INVALID BIT
Consider a 14 bit address space= 2^14=16383 bytes
Let us set an address limit of 10468
If five process are defined within this address space
(P0-P4), it is considered as aValid bit
Process P5 has started before 10468, so that alone is
considered
The remaining processes are considered as Invalid
In this way the pages are internally fragmented
This is how Paging is protected
• No external
Fragmentation
• Simple memory
management
algorithm
• Swapping is easy
(Equal sized Pages
and Page Frames)
• Internal
fragmentation
• Page tables may
consume more
memory.
 Segmentation is one of the most common ways to achieve memory protection.
 Because internal fragmentation of pages takes place, the user’s view of
memory is lost
 The user will view the memory as a combination of segments
 In this type, memory addresses used are not contiguous
 Each memory segment is associated with a specific length and a set of
permissions.
 When a process tries to access the memory it is first checked to see whether it
has the required permission to access the particular memory segment and
whether it is within the length specified by that particular memory segment.
1
3
2
4
1
4
2
3
user space physical memory space
Free
Free
 Segment table - maps two-dimensional user defined address into one-
dimensional physical address
 base - starting physical address of the segment
 limit - length of segment
Logical Address space
Segment number
Offset
The maximum length of the offset value is 12 bits
Logical
Address
0<d<limit
 No internal fragmentation
 Segment tables consume less
memory than page
 Lends itself to sharing data
among processes.
 Lends itself to protection.
Costly memory management
algorithm
As processes are loaded and
removed from memory , the
free memory space is broken
into little pieces ,causing
external fragmentation
In a combined
paging/segmentation
system a user’s address
space is broken up into a
number of segments.
Each segment is broken
up into a number of fixed-
sized pages which are
equal in length to a main
memory frame
Segmentation is visible to
the programmer
Paging is transparent to
the programmer
• www.cs.mun.ca/~paul/cs3725/material/web/notes/node12.html
• http://en.wikipedia.org/wiki/Memory_segmentation
• http://www.gitam.edu/eresource/comp/gvr(os)/8.5.htm
• http://www.cs.columbia.edu/~junfeng/13fa-w4118/lectures/l05-mem.pdf
• http://www.openclarity.com/node/22
• http://www.cs.columbia.edu/~junfeng/12sp-w4118/lectures/l05-mem.pdf
Paging and Segmentation

Paging and Segmentation

  • 1.
    Segmentation And Paging ForHCTM Kaithal Presented By : Madhur Gupta 1712159 CSE A 5th Sem ( 2012-2016)
  • 2.
    Contents InThe Presentation •Memory Segmentation • Segmentation Hardware • Advantages • Disadvantages • Paging • Frames • Mapping • Combining Segmentation with Paging
  • 3.
    1. Physical Memory-Totalmemory of the computer. EX: RAM 2. Logical Memory- CPU memory 3. Virtual memory- An imaginary memory area supported by some operating systems (for example, Windows). It is an extension of logical memory
  • 4.
     If thesize of the program is greater than the available memory size, then the concept of virtual memory is used  Ever wondered how a 10GB Game like God OfWar fits into your 2GB RAM computer?
  • 5.
     Paging isa memory management technique in which the memory is divided into fixed size pages.  Paging is used for faster access to data.  It is a logical concept
  • 6.
    STATEMENT 1 STATEMENT 2 STATEMENT3 STATEMENT 4 STATEMENT 5 STATEMENT 6 STATEMENT 7 Suppose a program X consists of 7 statements. But the memory can hold only 4 statements, then Paging concept is used. PROGRAM X STATEMENT 1 STATEMENT 2 STATEMENT 3 STATEMENT 4 STATEMENT 5 STATEMENT 6 STATEMENT 7
  • 7.
     Frames arephysical concept  It is present in the RAM  We cannot see Pages, but we can see Frames
  • 8.
     Converting pages(virtualaddress) into frames (physical address)  Enables program to be executed  It is performed by the Memory Management Unit (M.M.U.) CPU (WHERE PAGESARE DIVIDED) MMU Memory 1 Memory 2Virtual address of each page Converts virtual address to physical address  If any error error occurs at any physical address, it is quickly retrieved from memory and sent to the CPU
  • 9.
    0 0 00 0 1 0 1 1 1 0 1 1 1 0 6-bit page # 10-bit offset # 16-bit logical address 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 PageTable 16-bit Physical address
  • 10.
     LOGICAL ADDRESS PAGENUMBER (WHICH PAGE ISTO BE SEARCHED INTHE MEMORY) PAGE OFFSET (WHICH BYTE OF DATA ISTO BE READ FROMTHAT PAGE) MAXIMUM OF 6 BYTES MAXIMUM OF 10 BYTES  PHYSICAL ADDRESS FRAME NUMBER FRAME OFFSET MAXIMUM OF 6 BYTES MAXIMUM OF 10 BYTES
  • 11.
  • 12.
    page frame 0 page frame 1 page frame2 page frame 3 physical memory offset physical address F3’s Value F3 F2 F0 page table(MMU) offset logical address P=3 CPU P0 P1 P2 P3 P4 P5 P6 P7 F1
  • 13.
    The paging processis protected by the concept of insertion of an additional bit calledVALID/INVALID BIT Consider a 14 bit address space= 2^14=16383 bytes Let us set an address limit of 10468 If five process are defined within this address space (P0-P4), it is considered as aValid bit Process P5 has started before 10468, so that alone is considered The remaining processes are considered as Invalid In this way the pages are internally fragmented This is how Paging is protected
  • 14.
    • No external Fragmentation •Simple memory management algorithm • Swapping is easy (Equal sized Pages and Page Frames) • Internal fragmentation • Page tables may consume more memory.
  • 15.
     Segmentation isone of the most common ways to achieve memory protection.  Because internal fragmentation of pages takes place, the user’s view of memory is lost  The user will view the memory as a combination of segments  In this type, memory addresses used are not contiguous  Each memory segment is associated with a specific length and a set of permissions.  When a process tries to access the memory it is first checked to see whether it has the required permission to access the particular memory segment and whether it is within the length specified by that particular memory segment.
  • 16.
  • 17.
     Segment table- maps two-dimensional user defined address into one- dimensional physical address  base - starting physical address of the segment  limit - length of segment Logical Address space Segment number Offset The maximum length of the offset value is 12 bits
  • 18.
  • 19.
     No internalfragmentation  Segment tables consume less memory than page  Lends itself to sharing data among processes.  Lends itself to protection. Costly memory management algorithm As processes are loaded and removed from memory , the free memory space is broken into little pieces ,causing external fragmentation
  • 21.
    In a combined paging/segmentation systema user’s address space is broken up into a number of segments. Each segment is broken up into a number of fixed- sized pages which are equal in length to a main memory frame Segmentation is visible to the programmer Paging is transparent to the programmer
  • 22.
    • www.cs.mun.ca/~paul/cs3725/material/web/notes/node12.html • http://en.wikipedia.org/wiki/Memory_segmentation •http://www.gitam.edu/eresource/comp/gvr(os)/8.5.htm • http://www.cs.columbia.edu/~junfeng/13fa-w4118/lectures/l05-mem.pdf • http://www.openclarity.com/node/22 • http://www.cs.columbia.edu/~junfeng/12sp-w4118/lectures/l05-mem.pdf