You are on page 1of 2

Operating Systems

Assignment 1
Due in class on 28/10/2013

Submission: Must be hand written, discussion between peers are permitted, but work must be original. Answers that are glaringly
similar will be penalized.

Late policy: Assignments are due in class!! Assignments submitted after the class is already considered late. If you cannot come
to class that day, send it to department before class starts, put it under my door before class starts or have your friend submit it
for you during class. Late submissions will be penalized.

Submitted after class minus 25%,


1 day late minus 50%,
2 days late minus 75%.
3 days and more, not accepted.
Weekends are counted as one day.

Instructions: You are expected to provide clear, focused and convincing answers to the questions.
A single line answer is probably too short; however multiple pages for an answer are unnecessary.
No additional credit will be given for long answers. In fact, superfluous answers may be penalized.
Your answers should convince me that you understand the material, therefore; simply copying from
the textbook or class handouts would not suffice. Use your own words.

Grading: I would select randomly only 3 questions to grade. You have to answer all. Total points 15%.

Each question is worth 3 points.

1. Explain the difference between a monolithic kernel and a microkernel. When would it be suitable to use a monolithic
kernel?

2. What is meant by the term virtual machine? What is the benefit of viewing a system such as an operating system as a
set of layers? Why shouldn’t an operating system be built as one large program?

3. What is a context? Describe the use of a context in context switching.

4. Explain the difference between switching from kernel mode to user mode and context switch.

5. A user presses a button in an internet browser window while the CPU is executing a compiler process. Provide a
sequence of events (context switches, mode switches, system calls, etc.) that follows.

6. Explain the 5-State Process Model and draw the transition arrows.

7. The Running, Blocked/Waiting and Ready states of a process imply that the process is always in main memory.
However, high-level scheduling will include the ability to swap the process’s main memory to disk, which is defined as
the Suspend state (sleep/waiting and ready on disk) for a process, and reload the process into main memory when it is
activated.
(a) Explain from which state or states a process can become suspended and why?
(b) Explain the problem in deciding which state a suspended process should go to when that process is activated?
What is the UNIX ssolution?

8. A blocked process waiting for I/O or event still consumes system resources. Is it possible for a program to either
accidentally or otherwise continually create processes that immediately block on some event that won’t occur and so
bring the system down? Explain your answer.

9. Define User Level Threads. Define Kernel Level Threads. Explain the differences ULT and KLT?
10. Justify the use of a Thread Pool?
Thread creation and context switching for threads are said to be cheaper. Explain why?

You might also like