Two-level scheduling: Difference between revisions

Content deleted Content added
changed link from organic starvation to resource starvation.
No edit summary
Line 1:
'''Two-level scheduling''' is a [[Computer science]] term to describe a method to more efficiently perform process [[scheduling]] that involves [[swapped out]] [[process (computing)|processes]].
 
Consider this problem; A system containcontains 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 [[hard disk]]. 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 switch]] occurs, there would be an 80% probability (40/50, if it chooses randomly among the processes) that a process would need to be swapped in. If that occurs, then obviously a process also need to be swapped out. Swapping in and out of memory is costly, and the scheduler would waste much of its time doing unneeded swaps.