operating systems chapter 8 memory management. logical vs. physical address space the concept of a...
TRANSCRIPT
![Page 1: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/1.jpg)
Operating SystemsChapter 8
Memory Management
![Page 2: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/2.jpg)
Logical vs. Physical Address Space
The concept of a logical address space that is bound to a separate physical address space is central to proper memory management.• Logical address – generated by the CPU; also
referred to as virtual address.
• Physical address – address seen by the memory unit.
![Page 3: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/3.jpg)
Memory-Management Unit (MMU) Hardware device that
maps virtual to physical address.
The user program deals with logical addresses.it never sees the real physical addresses
![Page 4: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/4.jpg)
Contiguous Allocation Main memory usually into two partitions:
• Resident operating system, usually held in low memory with interrupt vector.
• User processes then held in high memory.
Single-partition allocation• Relocation-register scheme used to protect user processes
from each other, and from changing operating-system code and data.
• Relocation register contains value of smallest physical address; limit register contains range of logical addresses – each logical address must be less than the limit register.
![Page 5: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/5.jpg)
Hardware Support for Relocation and Limit Registers
![Page 6: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/6.jpg)
Contiguous Allocation (Cont.) Multiple-partition allocation
• Hole – block of available memory; holes of various size are scattered throughout memory.
• When a process arrives, it is allocated memory from a hole large enough to accommodate it.
• Operating system maintains information about:a) allocated partitions b) free partitions (hole)
OS
process 5
process 8
process 2
OS
process 5
process 2
OS
process 5
process 2
OS
process 5
process 9
process 2
process 9
process 10
![Page 7: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/7.jpg)
Fragmentation
External Fragmentation - total memory space exists to satisfy request but it is not contiguous
OS
process 2
process 3
process 8
50k
100k
Process 9125k ?
![Page 8: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/8.jpg)
Compaction Shuffle memory contents to place all free memory together in one
large block
128 MB RAM, 100 nsec/access 1.5 seconds to compact!
Process 9
OS
process 2
process 3
process 8
OS
process 2
process 3
process 8
50k
100k
OS
process 2
process 3
process 8
90k
60k
125k
![Page 9: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/9.jpg)
Paging Logical address space of a process can be noncontiguous;
process is allocated physical memory whenever the latter is available.
Divide physical memory into fixed-sized blocks called frames (size is power of 2, between 512 bytes and 8192 bytes).
Divide logical memory into blocks of same size called pages. Keep track of all free frames. To run a program of size n pages, need to find n free frames and
load program. Set up a page table to translate logical to physical addresses. Internal fragmentation.
![Page 10: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/10.jpg)
Address Translation Scheme Address generated by
CPU is divided into:• Page number (p) – used as
an index into a page table which contains base address of each page in physical memory.
• Page offset (d) – combined with base address to define the physical memory address that is sent to the memory unit.
![Page 11: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/11.jpg)
Paging Example
![Page 12: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/12.jpg)
Pag
e 0
Pag
e 1
Pag
e 2
Pag
e 3
01
11
00
10
00
01
10
11
Page Table
000
001
010
011
100
101
110
111
PhysicalMemory
000
001
010
011
100
101
110
111
0 0 1 0 1 1
Page
Offset
Frame
Paging Example
![Page 13: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/13.jpg)
Another Paging Example
1
4
0
1
Page Table
Page 0
Page 1
Process A
Page 1A
Page 1B
Page 0A
Page 0B
0
1
2
3
4
5
6
7
Page 0
Page 1
Process B
3
7
0
1
Page Table
page numberp
page offsetd
m-n n
![Page 14: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/14.jpg)
Implementation of Page Table Page table is kept in main memory. Page-table base register (PTBR) points to the page
table. Page-table length register (PRLR) indicates size of
the page table. In this scheme every data/instruction access requires
two memory accesses. One for the page table and one for the data/instruction.
The two memory access problem can be solved by the use of a special fast-lookup hardware cache called associative memory or translation look-aside buffers (TLBs)
![Page 15: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/15.jpg)
Paging Hardware With TLB
![Page 16: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/16.jpg)
Memory Protection Memory protection
implemented by associating protection bit with each frame.
Valid-invalid bit attached to each entry in the page table:• “valid” indicates that the
associated page is in the process’ logical address space, and is thus a legal page.
• “invalid” indicates that the page is not in the process’ logical address space.
![Page 17: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/17.jpg)
Large Address Spaces Typical logical address spaces:
• 4 Gbytes => 232 address bits (4-byte address) Typical page size:
• 4 Kbytes = 212 bits Page table may have:
• 232 / 212 = 220 = 1million entries Each entry 3 bytes => 3MB per process! Do not want that all in RAM Solution? Page the page table
• Multilevel paging
![Page 18: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/18.jpg)
Multilevel Paging
Page 0
...
......
Outer PageTable
LogicalMemory
...
...
Page Table
...
page numberp1
page offsetd
10 12p2
10
![Page 19: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/19.jpg)
Segmentation Memory-management scheme that
supports user view of memory. A program is a collection of
segments. A segment is a logical unit such as:
main program,procedure, function,method,object,local variables, global variables,common block,stack,symbol table, arrays
![Page 20: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/20.jpg)
Segmentation with Paging – Intel 386
![Page 21: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/21.jpg)
Virtual Memory
Background Virtual memory – separation of user logical memory
from physical memory.• Only part of the program needs to be in memory for execution.
• Logical address space can therefore be much larger than physical address space.
• Allows address spaces to be shared by several processes.
• Allows for more efficient process creation.
![Page 22: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/22.jpg)
Demand Paging Bring a page into memory
only when it is needed With each page table entry a
valid–invalid bit is associated(1 in-memory, 0 not-in-memory)
During address translation, if valid–invalid bit in page table entry is 0 page fault.
111
1
0
00
Frame # valid-invalid bit
![Page 23: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/23.jpg)
Page Table When Some Pages Are Not in Main Memory
![Page 24: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/24.jpg)
Steps in Handling a Page Fault
![Page 25: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/25.jpg)
What happens if there is no free frame? Page replacement – find some page in memory, but not really in
use, swap it out.• algorithm• performance – want an algorithm which will result in minimum
number of page faults.
Basic Page Replacement1. Find the location of the desired page on disk.
2. Find a free frame: - If there is a free frame, use it. - If there is no free frame, use a page replacement algorithm to
select a victim frame.3. Read the desired page into the (newly) free frame. Update the page
and frame tables.4. Restart the process.
![Page 26: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/26.jpg)
FIFO Page Replacement
![Page 27: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/27.jpg)
Least Recently Used (LRU) Algorithm
![Page 28: Operating Systems Chapter 8 Memory Management. Logical vs. Physical Address Space The concept of a logical address space that is bound to a separate physical](https://reader030.vdocuments.site/reader030/viewer/2022032604/56649e605503460f94b5b5f6/html5/thumbnails/28.jpg)
Second-Chance (clock) Page-Replacement Algorithm