Single-level page tables, Operating System

Assignment Help:

As mentioned above, page tables, are lookup tables mapping a process' virtual pages to physical pages in RAM. How would one implement these page tables?

The most straightforward approach would simply have a single linear array of page-table entries (PTEs). Each PTE contains information about the page, such as its physical page number ("frame" number) as well as status bits, such as whether or not the page is valid, and other bits to be discussed later.

If we have a 32-bit architecture with 4k pages, then we have 2 pages, as discussed in the last lecture. If each PTE is 4 bytes, then each page table requires 4 Mbytes of memory. And remember that each process needs its own page table, and theremay be on the order of 100 processes running on a typical personal computer. This would require on the order of 400 Mbytes of RAM just to hold the page tables on a typical desktop!

Furthermore, many programs have a very sparse virtual address space. The vast majority of their PTEs would simply be marked  invalid.Clearly, we need a better solution than single-level page tables.


Related Discussions:- Single-level page tables

List the task regions in the spiral model, List the task regions in the Spi...

List the task regions in the Spiral model.  Customer communication - In this region it is suggested to set up customer communication.  Planning - All planning activities

Explain lru page replacement, LRU page replacement In slightest recentl...

LRU page replacement In slightest recently 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

Name the hardware to support demand paging, The hardware to support demand ...

The hardware to support demand paging is as follows Page table: This table has the skill to mark an entry invalid though a valid-invalid bit or particular value of protectio

Garbage collection, The dynamic memory allocator is a layer between the app...

The dynamic memory allocator is a layer between the application and the OS, managing heap objects. When a program requests memory from the allocator (via malloc(), for instance), t

Starvation, what do you mean by starvation?explain in detail

what do you mean by starvation?explain in detail

Information system can be divided into three task areas, From hardware pers...

From hardware perspective, every information system can be divided into three task areas Presentation, Application Logic and Data Storage. The R/3 Basis software is extremely s

Unix, UNIX Shell and History feature. 1.Creating a child process. 2.Creatin...

UNIX Shell and History feature. 1.Creating a child process. 2.Creating a history feature. With the notes under code. Its exactly "programming project 1 - Unix Shell and History Fea

Name the evolutionary process models, Normal 0 false false ...

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

Explain debugging a multi threaded program, Debugging a multi threaded prog...

Debugging a multi threaded program The following list points out few of the more frequent oversights and errors that can cause bugs in multithreaded programs. 1.    Ephemeral

Cosled loop, What are the two principles in Hungarian method?

What are the two principles in Hungarian method?

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