Exam Questions
As demand segmentation is not part of the curriculum, it has been removed from Question 5. You should still know what the general idea is.
- 1. Operating System Architectures
- Describe the general goal for an operating system. Classify and discuss the architectures: monolithic kernel, micro-kernel, and virtual machine. Discuss the general design and advantages and disadvantages of the three models.
- 2. Processes and Threads
- Classify and describe the difference between processes and threads. Discuss the differences in functionality and overhead between the two models. Furthermore, discuss the different types of threads.
- 3. Scheduling
- Discuss the methods used for CPU, disc and page-replacement scheduling covering advantages, disadvantages, and special functionalities. Furthermore, briefly discuss the different ways to measure the quality of a given scheduling algorithm.
- 4. Synchronization and Communication
- Discuss different techniques for synchronization and communication between processes in an operating system. Describe deadlocks and discuss different techniques to handle deadlocks.
- 5. Memory Management
- Describe the concept of virtual memory (logical address space) and the general aim of virtual memory. Discuss the differences between paged and segmented virtual memory, and discuss how this actually works including how this can be extended with demand paging.
- 6. File-Systems
- Describe the notion of filesystems, and discuss how these can be implemented. Discuss the problems which are introduced when directory structures, file references (e.g., symbolic links), and virtual file systems are used. Discuss other important factors which must be considered when file systems are implemented and used.
- 7. I/O and Mass-Storage Structures
- Describe what device drivers are, and discuss why operating systems use modules for device drivers. Discuss how mass-storage is handled in an operating system.
- 8. Distributed System Structures
- Describe the notion of networks, and how they can be built. Discuss network protocols, and show how an operating system can allow programs to communicate with each other. Also consider network file systems, especially NFS or AFS.
- 9. Protection
- Describe the notion of protection in an operating system, and discuss how it is used. Discuss access matrices, and show how to give and take privileges using access matrices. Also discuss which special protection mechanisms are necessary to prevent problems for computers in networks.
- 10. Security
- Describe the possible security problems in an operating system. Discuss the notions of viruses, worms and Trojan horses. Also discuss the measures taken to achieve some security in a system.