Drawbacks of least-recently used algorithm, Operating System

Assignment Help:

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.


Related Discussions:- Drawbacks of least-recently used algorithm

What are the three main purposes of an operating system, What are the three...

What are the three main purposes of an operating system? _ To give an environment for a computer user to implement programs on computer hardware in a convenient and efficient m

Explain medium term scheduling, Medium term scheduling This is componen...

Medium term scheduling This is component of the swapping function. Usually the swapping in decision is based on the need to manage the degree of multiprogramming. At a system t

Difference between internal and external fragmentation, Explain the differe...

Explain the difference between internal and external fragmentation. Internal Fragmentation is the area in a region or a page that is not used by the job occupying that region o

Difference between preemptive and nonpreemptive scheduling, Define the diff...

Define the difference between preemptive and nonpreemptive scheduling. State why strict nonpreemptive scheduling is unlikely to be used in a computer center. Preemptive schedul

File management, five major activities on file management in operating syst...

five major activities on file management in operating system.? Explain it.?

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

Define programming fundamentals for client- server developer, Define the Pr...

Define the Programming Fundamentals for Client- Server Developers Coding for client - server enforces good programming fundamentals. In order for applications to become client

System bus and device speeds as the cpu speed increases, Q. Why is it impor...

Q. Why is it important to scale up system bus and device speeds as the CPU speed increases? Answer: Consider a system which carries out 50% I/O and 50% computes. Doubling-up

Why global variables are unacceptable, Why Global variables are unacceptabl...

Why Global variables are unacceptable Global variable, for instance, are unacceptable because they break the rules of self - containment. If all procedural components are runni

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