Operating System Concepts. Chapter 9: Virtual Memory. ▫ Background. ▫
Demand Paging. ▫ Process Creation. ▫ Page Replacement. ▫ Allocation of
Frames.
Virtual memory achieves a complete separation of logical and physical address-
... Virtual memory is divided into chunks called pages; size of a page is equal to ...
Virtual Memory. - The games we play with addresses and the memory behind
them. Address translation. - decouple the names of memory locations and their ...
100 (10 ms). - demand ... 10-bit. L2 index. Adapted from Arvind and Krste's MIT
Course 6.823 Fall 05 ... e.g., 264 / 212 x ~ 8 bytes per PTE = 255 → impractical ...
Process pages can be shared , eliminating the need to .... free pages is lower than required pages. ... 2) Delete: To delete the evict page from main memory.
9: Virtual Memory. 2. VIRTUAL MEMORY. WHY VIRTUAL MEMORY? • We've
previously required the entire logical space of the process to be in memory.
You should have noticed in project 2 that the virtual memory system was very
limited. ▫ Processes limited to one page of stack. ▫ System limited to the amount of
...
A prototype shared virtual memory on an Apollo ring based on these algorithms
... The benefits of a virtual memory go without saying; almost every high perfor-.
No preview available. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Vi
Abstract: Virtual memory is the simulation of a storage space so large that users
do not ... change. Every byte of the virtual memory is addressed in the same way,.
way within an imaginative building in order to remember the original information ... visual aspects, the repeated imagination of this building and a virtual walk ...
Virtual memory is a model—one of many possible models—for managing the ...
memory. Virtual memory is one method for handling this management of data, ...
Sign in. Loading⦠Whoops! There was a problem loading more pages. Whoops! There was a problem previewing this document
No preview available. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Vi
There was a problem loading more pages. pdf virtual memory. pdf virtual memory. Open. Extract. Open with. Sign In. Main
Oct 13, 2016 - About the original author, Alan Ott. â Unfortunately, he is unable to be here at ELCE. 2016. â Vetera
[Nettles and Wing. 1992; Wing et al. 1992], were the dominant influences ...... Bill. Weihl, helped us improve the presentation significantly. REFERENCES.
benefit from the full flexibility of page-based virtual memory. To remove the ... and
offset registers per core—to map contiguous virtual memory regions directly to ...
Spatial memory in a virtual arena. Human virtual analogue of the Morris water maze. I. Fajnerová, M. Rodriguez, L. Konrádová, P. Mikoláš,. K. Dvorská, M.
Size of free memory in host Domaini. Uh. Memory utilization of host Domain. Mi-needed. Memory required to guest Domaini. Mi-added. Memory added to guest ...
The Linux Development Platform: Configuring, Using, and. Maintaining a ..... The
text of the book is contained on the CD in HTML, PDF and plain text formats so ....
magazine, sent me more than 140 corrections to an early version. You know ...
user software and user hardware (as shown in Figure 1) do not share the memory address spaceâit is typically on the application programmer and designer to ...
Pearson Educación de Mexico, S.A. de C.V.. Pearson ..... it provides at http://
localhost:10080 offers a number of useful features: • A searchable index for ....
With any open source project, the first step is to download the source and read
......
4 University of California, Computer Science Division, Berkeley, CA 94720,. 5Princeton ... By integrating AU support into the protocol as well, the AURC ..... Ocean-row. 432. 443. 365. 0. 365. 0. 92. 399. Ocean-sq. 1,822. 1,740. 1,785. 0. 1,785.
will break both address spaces up into • We “pages” a “page table” to map between virtual pages • Use and physical pages. generates “virtual” addresses • TheTheyprocessor are translated via “address translation” into
•
physical addresses.
6
Implementing Virtual Memory 230 – 1 (or whatever)
232 - 1
Stack
We need to keep track of this mapping… Heap 0 Virtual Address Space
0 Physical Address Space
The Mapping Process Virtual address (32 bits) Virtual Page Number
Page Offset (log(page size))
Virtual-to-physical map
Physical Page Number
Page Offset (log(page size))
Physical address (32 bits)
8
Two Problems With VM
do we store the map compactly? • How • How do we translation quickly?
9
How Big is the map? bit address space: • 324GB of virtual addresses
• 1MPages • Each entry is 4 bytes (a 32 bit physical address) • 4MB of map • address space • •6416bitexabytes of virtual address space • 4PetaPages is 8 bytes • Entry • 64PB of map 10
Shrinking the map store the entries that matter (i.e.,. enough • Only for your physical address space) on a 64bit machine • 64GB • 16M pages, 128MB of map is still pretty big. • This the map is now hard because we • Representing need a “sparse” representation.
• • •
The OS allocates stuff all over the place. For security, convenience, or caching optimizations For instance: The stack is at the “top” of memory. The heap is at the “bottom”
• How do you represent this “sparse” map?
11
Hierarchical Page Tables the virtual page number into several pieces • Break each piece has N bits, build an 2 -ary tree • IfOnly • pagesstore the part of the tree that contain valid do translation, walk down the tree using the • To pieces to select with child to visit. N
12
Hierarchical Page Table Virtual Address 31
22 21
p1
12 11
p2
0
offset
10-bit 10-bit L1 index L2 index Root of the Current Page Table
offset p2
p1
(Processor Register)
Level 1 Page Table Level 2 Page Tables
Parts of the map that exist Parts that don’t
Data Pages Adapted from Arvind and Krste’s MIT Course 6.823 Fall 05
Making Translation Fast
translation has to happen for every • Address memory access potentially puts it squarely on the critical for • This memory operation (which are already slow)
14
“Solution 1”: Use the Page Table
could walk the page table on every memory • We access every load or store requires an additional • Result: 3-4 loads to walk the page table.
• Unacceptable performance hit. 15
Solution 2: TLBs • •
We have a large pile of data (i.e., the page table) and we want to access it very quickly (i.e., in one clock cycle) So, build a cache for the page mapping, but call it a “translation lookaside buffer” or “TLB”
16
TLBs are small (maybe 128 entries), highly• TLBs associative (often fully-associative) caches for
•
page table entries. This raises the possibility of a TLB miss, which can be expensive
• • •
To make them cheaper, there are “hardware page table walkers” -- specialized state machines that can load page table entries into the TLB without OS intervention This means that the page table format is now part of the big-A architecture. Typically, the OS can disable the walker and implement its own format. 17