Lru implementation details, Operating System

Assignment Help:

Now, let us discuss two related algorithms for deciding which pages to evict. The clock algorithm is one of the most popular choices. It works by keeping frames in a circular structure. (Note that this circle may be very large: a 32-bit machine with 4k pages can have up to 220  1 million frames.) When a page fault occurs, it checks the reference bit of the next frame. If that bit is zero, it evicts that page and sets its bit to 1; if the reference bit is 1, the algorithm sets the bit to 0 and advances the pointer to next frame. 

An implementation which is often used in real operating systems is a segmented queue. This type of algorithm divides all existing pages into two sets of pages. The most-active one-third of all pages use a clock algorithm. After that, pages that are evicted out of the clock are moved to a "uncommon" linked list, in which we use exact LRU. This way, we approximate LRU for the frequently-referenced pages (1/3 of the page frames - fast clock algorithm), and at the same time use exact LRU on the infrequently accessed pages (2/3 of all page frames). Since the pages in the uncommon list are not accessed very frequently, it is okay if their accesses are a little slower due to some pointer manipulation.


Related Discussions:- Lru implementation details

Briefly discuss on bankers algorithm, Briefly discuss on Bankers algorithm?...

Briefly discuss on Bankers algorithm? The resource-allocation graph algorithm is not applicable to a resource-allocation system with multiple examples  for each resource type.

Linux operation system, wat are the commands used for creating the file hie...

wat are the commands used for creating the file hierarchy

Real time operating system, PART A Question 1 Using your own words...

PART A Question 1 Using your own words, explain what a continuous random variable and a continuous probability density function are. Give examples. Question 2 Gi

Define an assembly language, Define an assembly language  Assembly lan...

Define an assembly language  Assembly language stands for a Low level programming language

Multi-level page tables, Multi-level page tables are tree-like structures t...

Multi-level page tables are tree-like structures to hold page tables. As an example, consider a two- level page table, again on a 32-bit architecture with 212 = 4 kbyte pages. Now,

Compare user threads and kernel threads, Compare user threads and kernel th...

Compare user threads and kernel threads. User threads:- User threads are supported above the kernel and are executed by a thread library at the user level. Thread creation

Explain doscreatethread functions used in the os/2, Explain DosCreateThread...

Explain DosCreateThread Functions Used in the OS/2  DosCreateThread(&threadID,MyThreadFunction,arg,flags,stackSize) DosCreateThread creates a thread within the context of th

Cpu, Some CPUs provide for more than two modes of operation. What are two p...

Some CPUs provide for more than two modes of operation. What are two possible uses of these multiple modes?

Explain concept of synchronization, Synchronization In communication am...

Synchronization In communication among processes messages passed may be blocking or nonblocking - also called as synchronous and asynchronous. Blocking send : The sending pr

Identify main functions of an operating system, Question: Introduction to ...

Question: Introduction to Operating Systems a) Define the term ‘Operating System' and identify main functions of an operating system. b) What are the characteristics of a go

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