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:

  • Answer any FOUR questions


  • All questions carry equal marks


  • Points mentioned without signs of understanding may not receive marks, and marks may be deducted (within a question) for much irrelevance





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