Content deleted Content added
m →Linux |
clarify, this is an encyclopedia, not a textbook. Reference to Linux is superfluous if Linux does not use two-level scheduling. |
||
Line 1:
'''Two-level scheduling''' is a [[Computer science]] term to describe a method to more efficiently
Consider this problem; A system contain 50 running processes all with equal priority. However, the system's [[memory]] can only hold 10 processes in memory simultaneously. Therefore, there will always be 40 processes swapped out written on [[virtual memory]] on the [[harddisk]]. The time taken to swap out and swap in a process is 50 ms respectively.
With straightforward [[Round-robin scheduling]], at every time a [[context
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'''
Thus, the higher-level scheduler selects among those processes in memory that
* [[response time]]: A process should not be swapped out for too long. Then some other process (or the user!) will have to wait needlessy long. If this variable is not considered [[starvation]] may occur and a process may not complete at all.
Line 13:
* Priority: The higher the priority of the process, the longer it should stay in memory so that it completes faster.
'''References''': [[Andrew S. Tanenbaum|Tanenbaum]], [[Woodhull]], ''Operating Systems: Design and Implementation'', p.92
|