By the end of the course students will be able to describe the basic principles used in the design of modern operating systems. In particular, they will:
- be able to distinguish different styles of operating system design.
- understand device and I/O management functions in operating systems
as part of a uniform device abstraction.
- have an understanding of disk organisation and file system
structure.
- be able to give the rationale for virtual memory abstractions in
operating systems.
- understand the main principles and techniques used to implement
processes and threads as well as the different algorithms for
process scheduling.
- understand the main mechanisms used for inter-process communication.
- understand the main problems related to concurrency and the
different synchronization mechanisms available.
- have the ability to evaluate security risks in operating systems and
understand the role operating systems can and should play in
establishing security.
Course syllabus
Content:
OS structure: kernel organisation, OS functionality