$\textstyle \parbox{1.5in}{CS4320}$ $\textstyle \parbox{3in}{\Large CS4320 Homework~1}$ $\textstyle \parbox{1.5in}{09~Sep 1999}$


Due Thursday, 16 Sep 1999, at the beginning of class.

Reading

Read Chapter 1, 2.1, and 2.4 of the textbook. Read 2.2-2.3 for discussion of interprocess communication.

Problems

1.
Consider the following set of processes, with the length of the CPU time given in milliseconds.
process CPU time priority
P1 10 3
P2 1 1
P3 2 3
P4 1 4
P5 5 2
The processes are assumed to have arrived in the order P1, P2, P3, P4, P5, all at time 0.
(a)
Draw four timelines 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.
(b)
What is the turnaround time of each process for each of the scheduling algorithms listed above?
(c)
What is the waiting time of each process for each of the scheduling algorithms? Waiting time is the total time a process spends waiting in the ready queue.
(d)
Which of the schedules results in the minimal average waiting time (over all processes)?

2.
Suppose that the following processes arrive for execution at the times indicated. Each process will run the listed amount of time. In answering the questions, use nonpreemptive scheduling, and base all decisions on the information you have at the time the decision must be made.
process arrival time CPU time
P1 0.0 8
P2 0.4 4
P3 1.0 1
(a)
What is the average turnaround time for these processes with the FCFS scheduling algorithm?
(b)
What is the average turnaround time for these processes with the SJF scheduling algorithms?
(c)
The SJF algorithm is supposed to improve performance, but notice that we chose to run process P1 at time 0 because we did not know that two shorter processes would arrive soon. Compute what the average turnaround time will be if the CPU is left idle for the first 1 unit and then SJF scheduling is used. Remember that processes P1 and P2 are waiting during this idle time so their waiting time may increase. This algorithm could be known as future-knowledge scheduling.

3.
Tanenbaum, Exercise 2.20, i.e., exercise 20 in chapter 2.
4.
Tanenbaum, Exercise 2.24.



Jeffrey David Oldham
1999-09-08