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
Partitions and mounting A disk can be sliced into many partitions, or a partition can span multiple disks. Every partition can be either "raw", having no file system, or "cooke

Define process? What is meant by state of a process? Process is a program in implementation. A process in general includes the process stack, which consists temporary data and

Q. The term "fast wide SCSI-II" signifies a SCSI bus that operates at a data rate of 20 megabytes per second when it moves a packet of bytes among the host and a device. Presume t

Q. It is occasionally said that tape is a sequential-access medium whereas magnetic disk is a random-access medium. In fact the correctness of a storage device for random access d

Usually memory is allocated from a large pool of unused memory area called the heap. In C++, dynamic allocation/deallocation must be manually performed using commands like malloc,

Define Enforcing Modularity for C Additionally, in C it is sometimes necessary to create modularity of design. C++  is very natural model for component based application design

server configure

Identifying parallelism A formal way to identify parallelism in an activity is to draw a task dependence graph in a directed graph in which each vertex represents a task to

The term IPC (Inter-Process Communication) defines several paths by which different process executing on some operating system interact between each other.