Directions: Include your name and answer all the questions in a Word or PDF document that is double-spaced, 12-point font, with no more than one page per question comprising any subparts.
Question 1: How is reliability enhanced with the microkernel approach to system design?
Question 2: In a virtual machine design where guest operating systems are independent virtual machines supported by a host operating system, what factors are involved in choosing the host operating system?
Question 3: Explain an advantage and disadvantage of maintaining a list of blocked processes in priority order.
Question 4: What must a kernel provide for an effective user-level thread implementation?
Question 5: With respect to the quantum q in a scheduling algorithm, explain and discuss the impact of the following on the operating system:
a) q is fixed and identical for all users.
b) q is fixed and unique to each user.
c) q is variable and identical for all users.
d) q is variable and unique to a each user.
Question 6: Arrange the above schemes in question 5 from lowest to highest run-time overhead. Explain your answer.
Question 7: Arrange the above schemes in question 5 from least to most responsive to variations in individual processes and system load. Explain you answer.
Question 8: Gopher Gallery consists of a shopping mall and a cart ride that covers the 150 acre habitat. There are m visitors and n single-person vehicles. Visitors stroll around the mall at their leisure, then line up for the cart ride. When a cart is available, a single passenger may climb aboard and drive around the habitat for a random amount of time. If the n carts are all taken, then a future rider waits; if a vehicle is available but no one is waiting, then the vehicle waits. The solution to this problem must synchronize visitor tasks and vehicle tasks using semaphores. Below is a potential solution for the Visitor and Vehicle portions (assume that other portions of the system admit the tasks to the system). Correct any issues with this code, if any exist. Explain your position in detail.
Semaphore vehicleAvailable = 0, vehicleTaken = 0, vehicleFilled = 0,
visitorReleased = 0;
Visitor()
{
vehicleAvailable.wait();
vehicleTaken.signal();
vehicleFilled.wait();
visitorReleased.wait();
}
Vehicle()
{
while(True)
{
vehicleAvailable.signal();
vehicleTaken.wait();
vehicleFilled.signal();
Drive through habitat for some arbitrary amount of time;
visitorReleased.signal();
}
}