Assignment 1
Session: Summer 2013
Faculty of Information Technology
UCP Lahore Pakistan
Operating Systems
Assignment: Introduction and Overview of Operating Systems
150 MARKS
Write in your own words to answer the following, if you use material from any book website apart from your recommended book please provide so. All work will be assumed yours otherwise. Justify your answers where needed. Explain briefly and concisely
1. You are to procure Linux OS software for your organization. Assume the organization has a Mail Server, Web Server, Proxy Server, 10 Machines’ for graphics design, 10 Machines for C++ development, and 10 machines of users migrating from windows.
Lookup distributions and flavors at http://distrowatch.com/ and suggest appropriate ones with 3-5 lines of reasoning. Show in in tabular form (20 MARKS)
2. On early computers, every byte of data read or written was handled by the CPU (i.e. there was no DMA). What implications does this have for multiprogramming? (10 MARKS)
3. Which of the following instructions should be privileged? WHY (20 MARKS)
a. Set value of timer.
b. Read the clock.
c. Clear memory.
d. Issue a trap instruction.
e. Turn off interrupts.
f. Modify entries in device-status table.
g. Switch from user to kernel mode.
h. Access I/O device.
4. There are several design goals in building an operating system, for example, resource utilization, timeliness, robustness, and so on. Give an example of two design goals that may contradict one another (10 MARKS)
5. What is the key difference between a trap and an interrupt? (10 MARKS)
6. A portable operating system is one that can be ported from one system architecture to another without any modification. Explain why it is infeasible to build an operating system that is completely portable. Describe two high-level layers that you will have in designing an operating system that is highly portable. (10 MARKS)
7. Explain how separation