Homework 2: Threads, Scheduling
1. (10pts) Threads: What is the difference between a process and a thread. Which one consumes more resources?
2. (5pts) Threads: Assume that the OS implements Many-to-Many multithreading model. What is the minimum number of kernel threads required to achieve better concurrency than in the Many-to-One model? Why?
3. (10pts) Threads: What is the relation between Solaris user threads and Java application threads in a Solaris environment?
4. (20pts) Java Threads:
Develop an execution driven simulator for a multiprocessor that solves a 3x3 matrix multiply (i.e., AxB=C, where A,B,C are 3x3 matrixes) following these steps:
5. (10pts) Scheduling: Given the following mix of job, job lengths, and arrival times, assume a time slice of 10 and compute the completion and average response time of each job for the FIFO, RR, and SRTF algorithms. Use the following format for the solution:
| Parameters | Scheduling Algorithms | |||||
| Job | length | arrival time | FIFO | RR | SRTF | |
| 0 | 75 | 0 | ||||
| 1 | 40 | 10 | ||||
| 2 | 25 | 10 | ||||
| 3 | 20 | 80 | ||||
| 4 | 45 | 85 | ||||
| Avg. RT | ||||||