Currently, the preemptive scheduler does an ugly, inefficient clone() to copy all processes to a new ready_list, excluding the process we want to unready.
The solution is to write our own PriorityQueue implementation that supports a remove() API call.
Currently, the preemptive scheduler does an ugly, inefficient
clone()
to copy all processes to a newready_list
, excluding the process we want tounready
.The solution is to write our own PriorityQueue implementation that supports a
remove()
API call.