COLLEGE of INFORMATICS and ELECTRONICS
Department of Computer Science
and Information Systems
End-of-Semester Assessment Paper
Academic Year: |
2003/04 |
Semester: |
Re-sits |
Module Title: |
Operating Systems |
Module Code: |
CS4145 |
Duration of Exam: |
2½ Hours |
Percent of Total Marks: |
100 |
Lecturer: |
J. Sturdy |
Paper marked out of : |
100 |
Instructions to Candidates:
|
|
|
|
|
|
|
|
Q1. |
a) |
Compare and contrast segmentation, paging, and swapping. What hardware and software are required to implement each of them? Explain any possible hybrids of these approaches to virtual memory. |
|
|
10 Marks |
|
b) |
What is a shared library (also known as a dynamically linked library (DLL))? Explain its advantages over the alternatives. How can it be implemented on a paging based virtual memory system? And on a segment based one? |
|
|
10 Marks |
|
c) |
Some operating systems allow processes to create shared memory objects and map them into their address spaces. What can they be used for? How can they be implemented in a paging based virtual memory system? And in a segment based one? |
|
|
5 Marks |
Q2. |
a) |
How does an operating system limit the damaging effects of a faulty or maliciously written program? You should mention the involvement of both the general and the security specific features of the operating system. |
|
|
20 Marks |
|
b) |
Given a reasonably secure operating system, what then are the remaining vulnerabilities of a computer system? What are the limits to what an operating system can do to reduce or control these effects? |
|
|
5 Marks |
|
|
|
|
|
|
|
|
|
|
|
|
Q3. |
a) |
Describe (preferably with diagrams) the data structures needed for process management in a system with multiple input I/O devices, virtual memory, and one or more CPUs. Indicate what events change the links (pointers) between these data structures. |
|
|
15 Marks |
|
b) |
What has to be handled differently in a system with multiple (identical) CPUs sharing memory with each other, as distinct from a single CPU system? |
|
|
5 Marks |
|
c) |
Explain the differences and similarities between processes and threads. |
|
|
5 Marks |
Q4. |
a) |
Explain the differences between polled, interrupt-driven,and DMA I/O. What hardware and software is used in each of these? |
|
|
15 Marks |
|
b) |
In what situations is it appropriate to use each of these? |
|
|
10 Marks |
Q5. |
|
When a process running under a multi-tasking operating system does an operation that requires waiting for a hardware device such as a disk drive or the keyboard, the scheduler will typically pick another process to run in the meantime. |
|
|
|
|
a) |
Explain what code, other than the application program, gets run when this happens, taking as an example the user entering data from the keyboard into a file. You should show the order in which things happen, indicating when various activities (e.g. kernel operations, device drivers) are started, suspended, resumed and finished, and what triggers these state changes. |
|
|
20 Marks |
|
b) |
If the system concerned provides virtual memory, explain the involvement of the virtual memory code in such operations. |
|
|
5 Marks |
|
|
|
|
|
|
|
|
|
|
|
|