Virtual addresses, Operating System

Assignment Help:

Virtual addresses are made up of two parts: the ?rst part is the page number, and the second part is an offset inside that page. Suppose our pages are 4kb (4096 = 212 bytes) long, and that

our machine uses 32-bit addresses. Then we can have at most 232 addressable bytes of memory; therefore, we could ?t at most 232 / 212 = 220 pages. This means that we need 20 bits to address any page. So, the page number in the virtual address is stored in 20 bits, and the offset is stored in the remaining 12 bits.

Now suppose that we have one such page table per process. A page table with 220 entries, each entry with, say, 4 bytes, would require 4Mb of memory! This is somehow disturbing because a machine with 80 processes would need more than 300 megabytes just for storing page tables! The solution to this dilemma is to use multi-level page tables. This approach allows page tables to point to other page tables, and so on. Consider a 1-level system. In this case, each virtual address can be divided into an offset (10 bits), a level-1 page table entry (12 bits), and a level-0 page table entry (10 bits). Then if we read the 10 most signi?cant bits of a virtual address, we obtain an entry index in the level-0 page; if we follow the pointer given by that entry, we get a pointer to a level-1 page table. The entry to be accessed in this page table is given by the next 12 bits of the virtual address.

We can again follow the pointer speci?ed on that level-1 page table entry, and ?nally arrive at a physical page. The last 10 bits of the VA address will give us the offset within that PA page. A drawback of using this hierarchical approach is that for every load or store instruction we have to perform several indirections, which of course makes everything slower. One way to minimize this problem is to use something called Translation Lookaside Buffer (TLB); the TLB is a fast, fully associative memory that caches page table entries. Typically, TLBs can cache from 8 to 2048 page table entries.


Related Discussions:- Virtual addresses

Determine the task of the pass ii in a two-pass assembler, Determine the ta...

Determine the task of the Pass II In a two-pass assembler Synthesize the target program is the task of the Pass II

Explain lru page replacement in detail, LRU page replacement In least ...

LRU page replacement In least lately used page replacement algorithm we will replace that page that hasn't been used for the longest period of time. This is similar as an opti

Linux kernel components, Example 1.  The diagram illustrating the data stru...

Example 1.  The diagram illustrating the data structures of in-memory VFS objects and on-disk objects and their relationships on slide 24 of the lecture notes OSD.4. This diagram i

What is an operating system and its type, What is an operating system and w...

What is an operating system and what are the different types of operating systems? Operating System An Operating System or OS is a software program that allows the compute

Explain about system software, An operating system act as an intermediary b...

An operating system act as an intermediary between user of a computer and computer hardware. The objective of an operating system is to provide an environment in that a user can ex

Explain about directory structure, Normal 0 false false fal...

Normal 0 false false false EN-IN X-NONE X-NONE MicrosoftInternetExplorer4

Write a note about directory structure with examples., Write a note about ...

Write a note about Directory structure with examples. The FreeBSD directory hierarchy is basic to obtaining an overall understanding of the system. The most significan

Explain two level directory, Two Level Directory This kind of structure...

Two Level Directory This kind of structure overcomes the problems of assigning unique names to the files. Thus there need not be any confusion among users. In this kind of s

Explain structure, Explain Structure The Grammar for programming langua...

Explain Structure The Grammar for programming language is a formal description of Structure

What is a multiprocessing system, What is a multiprocessing system? Mul...

What is a multiprocessing system? Multiprocessor systems are those systems that use additional than a single processor for program execution. It is done for raising the executi

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd