Content deleted Content added
+Category:Scheduling algorithms, delete redundant see also (linked in intro) |
stub template should be placed at the very end of article after external link, navbox & category tags per WP:STUBSPACING |
||
(14 intermediate revisions by 14 users not shown) | |||
Line 1:
'''Two-level scheduling''' is a [[
Consider this problem
With straightforward [[Round-robin scheduling]],
That is where two-level scheduling enters the picture. It uses two different schedulers, one '''lower-level scheduler''' which can only select among those processes in memory to run. That scheduler could be a Round-robin scheduler. The other scheduler is the '''higher-level scheduler''' whose only concern is to swap in and swap out processes from memory. It does its scheduling much less often than the lower-level scheduler since swapping takes so much time.
Line 9:
Thus, the higher-level scheduler selects among those processes in memory that have run for a long time and swaps them out. They are replaced with processes on disk that have not run for a long time. Exactly how it selects processes is up to the implementation of the higher-level scheduler. A compromise has to be made involving the following variables:
* [[
* Size of the process: Larger processes must be subject to fewer swaps than smaller ones because they take longer time to swap. Because they are larger, fewer processes can share the memory with the process.
* Priority: The higher the priority of the process, the longer it should stay in memory so that it completes faster.
==
* [[Andrew S. Tanenbaum|Tanenbaum]], [[Albert Woodhull]], ''Operating Systems: Design and Implementation'', p.92▼
{{Processor scheduling}}
▲* [[Andrew S. Tanenbaum|Tanenbaum]], [[Woodhull]], ''Operating Systems: Design and Implementation'', p.92
{{comp-sci-stub}}
▲[[Category:Scheduling algorithms]]
|