Operating System Homework 3 Solved

35.00 $

Category:

Description

5/5 - (1 vote)

Part I

  1.  Explain what memory-mapped I/O is and how it works.
  2.  Explain what DMA is and how it works.
  3. Consider the following set of processes, with the length of the CPU-burst time given in milliseconds:

Process    Burst Time     Priority

P1                           8                   4

P2                           1                   1

P3                           2                   3

P4                           1                   5

P5                           6                   2

The processes are assumed to have arrived in the order P1, P2, P3, P4, P5, all at time 0.

  •  Draw four Gantt charts illustrating the execution of these processes using FCFS, SJF, a nonpreemptive priority (a smaller priority number implies a higher priority), and RR (quantum = 1) scheduling.
  •  What is the turnaround time of each process for each of the scheduling algorithms in part 3a?
  • What is the waiting time of each process for each of the scheduling algorithms in part 3a?
  •  Which of the schedulers in part 3a results in the minimal waiting time (over all processes)?
  1.  A UNIX process has two parts—the user part and the kernel part. Is the kernel part like a subroutine and a coroutine? Why?

Part II

Write a monitor in C++ to simulate the dining philosopher problem mentioned in the textbook using the conditional variables provided by the Pthreads API. Make sure that your implementation is able to handle 5 philosophers and is free of the race condition.

  • hw3-k3ue2m.zip