Drawbacks of least-recently used algorithm, Operating System

The question of fairness, regarding page eviction, is a hard one. How do we decide what is fair? Many operating systems use global LRU, where pages from all processes are managed together using the approximate LRU algorithms described above. This is easy to implement, but has a number of problems.

For instance, with global LRU, there's no isolation between processes, and greedy or badly-written programs will push other programs out of physical memory. In addition, the priority which one gives a program is generally priority for the scheduler, not priority for physical memory (though there are approaches to try to deal with this).

There's also the "sleepyhead" problem, which is where an important but rarely-used programwill get paged out, and then start up slowly. For instance, the ntpd (network time protocol) program doesn't run often, but when it does run, it needs to make precise timing measurements, which would be impacted by pagefaults. ntpd and similar programs can get around this problem by "pinning" their pages, meaning that their physical pages are not allowed to be paged out to disk.

In general, the problem of fairness is that processes that are greedy (or wasteful) are rewarded; processes with poor locality end up squeezing out those with good locality, because they "steal" memory. There is no simple solution to this problem.

Posted Date: 3/12/2013 6:02:44 AM | Location : United States







Related Discussions:- Drawbacks of least-recently used algorithm, Assignment Help, Ask Question on Drawbacks of least-recently used algorithm, Get Answer, Expert's Help, Drawbacks of least-recently used algorithm Discussions

Write discussion on Drawbacks of least-recently used algorithm
Your posts are moderated
Related Questions
Explain about paging? Answer: Paging is a memory-management scheme that permits the physical-address space of process to be noncontiguous. Paging avoids the considerable proble

Q. Explain about Operating System Services? An operating system offers services to programs and to users of those programs. It provided by one environment for execution of

Q. How Program execute in operating system? Program execution: Operating system loads a program in memory and executes the program. The program should be able to end its exec

What is a reference string? An algorithm is evaluated by running it on a particular string of memory references and computing the number of page faults. The string of memory re

Since most of the programs require a lot of memory allocation/deallocation, we expect the memory management to be fast, to have low fragmentation, make good use of locality, and be

How is memory management done using bit maps? A bit map is here in this we signify the bit value as 0 or 1. 1-hole 0-process In this we are able to represent the proce

What is meant by demand paging? Explain. Demand paging is a technique to implement virtual memory. In demand paging simply when a page is required it is brought into memory. As

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

Q. Distinguish among a STREAMS driver and a STREAMS module? Answer: The STREAMS driver controls the physical device that could be involved in a STREAMS operation. The STREAMS

What is parsing Parsing is the procedure of analyzing a text, made of a sequence of tokens, to define its grammatical structure regarding to a given formal grammar. Parsing is