Assigned problems are: 4.2, 5.3, 5.6, 6.3, Ch 5 Thread comparison
Describe the differences among short-term, medium-term and long-term scheduling?
For each:
A common difference, other than their defined tasks, is also how frequently each scheduler is called.
|
What are two differences between user-level threads and kernel-level threads? Under what circumstances is one type better than the other?
A couple differences:
A user thread is more appropriate for low-level tasks, whereas a kernel thread is better for high-priority tasks that should get high priority to system resources.
|
What resources are used when a thread is created? How do they differ from those used when a process is created?
When created, a thread requires an ID, a register set, a
stack and program counter.
Threads are smaller than processes. In addition to the thread information, each process creates its own Process Control Block (PCB), containing a code section, data section, and O/S resources. Threads reference these items from their creating or parent process.
|
Consider the following set of processes, with the length of the CPU-burst time given in milliseconds.
a) Draw Gantt charts for each of the following: FCFS scheduling, SJF scheduling, priority scheduling, and Round Robin scheduling
FCFS scheduling
SJF scheduling
Priority scheduling
Round Robin scheduling
|
b) What is the turnaround time of each process for each of the scheduling algorithms in part a?
Turnaround times are:
|
c) What is the waiting time of each process for each of the scheduling algorithms?
Waiting times:
|
d) Which of the schedules results in the minimal average waiting time?
Let's see:
The shortest average wiating time is Shortest Job First (SJF) at an average wait of 3.2 milliseconds.
|
From Chapter 5, please describe three "important" facts/properties of the implementation of threads on a) Solaris, b) Windows 2000, c) Linux, and d) Java operating systems.
These are my favorites, other answers are certainly
possible:
a) Solaris
b) Windows 2000
c) Linux
|