Question
Consider a system that has two CPUs (hard cores) and each CPU can appear to the operating system as 2 execution engines (hyper-threading allows the
Consider a system that has two CPUs (hard cores) and each CPU can appear to the operating system as 2 execution engines (hyper-threading allows the operating system to assign 2 concurrent executions to a single physical core, so in this case, up to 4 execution engines could be run in parallel). Suppose three programs, P0, P1, and P2 are started with run times of 5, 10 and 20 msec, respectively. Assume that all three programs are 100% CPU bound, do not block during execution, and do not change an execution engine once assigned by the operating system. If all 3 executions are queued for execution by the operating system at the same time (each execution engine has its own dispatch queue of processes ready to run):
A. What is the shortest elapsed time required for the completion of all three executions ? (explain the scheduling that could be used to get this result).
B. What is the longest elapsed time required for the completion of all three executions ? (explain the scheduling that could be used to get this result).
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started