Two-level scheduling: Difference between revisions

Content deleted Content added
disambig
No edit summary
Line 1:
'''Two-level scheduling''' is a [[computer science]] term to describe a method to more efficiently perform process [[Scheduling (computing)|scheduling]] that involves [[swapped out]] [[process (computing)|processes]].
 
Consider this problem: A system contains 50 running processes all with equal priority. However, the system's [[computer storage|memory]] can only hold 10 processes in memory simultaneously. Therefore, there will always be 40 processes swapped out written on [[virtual memory]] on the [[hard disk]]. The time taken to swap out and swap in a process is 50 ms respectively.
 
With straightforward [[Round-robin scheduling]], every time a [[context switch]] occurs, a process would need to be swapped in (because only the 10 least recently used processes are swapped in). Choosing randomly among the processes would diminish the probability to 80% (40/50). If that occurs, then obviously a process also need to be swapped out. Swapping in and out of is costly, and the scheduler would waste much of its time doing unneeded swaps.