School of Computer Science

Module 06-23635 (2012)

Operating Systems with C/C++ (Extended)

Level 4/M

Eike Ritter Semester 1 20 credits
Co-ordinator: Eike Ritter
Reviewer: John Barnden

The Module Description is a strict subset of this Syllabus Page.

Aims

The aims of this module are to:

  • describe the role of an operating system
  • show how resource management is done in an OS
  • explain the fundamentals of system-level programming in C/C++ (e.g. pointers, structures, and the build process)
  • evaluate security mechanisms in OS
  • explore, through theory and practical exercises, techniques of memory management, scheduling, synchronisation, inter-process communication, file-systems and hardware I/O
  • explore trends in virtualisation, emulation and the increasing use of sophisticated OS in embedded/mobile systems
  • explore very low level aspects of the computer

Learning Outcomes

On successful completion of this module, the student should be able to:

  • describe the general role of an OS and understand prevalent OS architectures
  • for a given set of problems, conduct a suitable decomposition into processes and threads
  • comprehend, write, build, and package system- and kernel-level code written in C/C++
  • demonstrate an understanding of the process of kernel development, such as kernel compilation and module development
  • devise appropriate security mechanisms in a given situation and demonstrate an understanding of the role an operating system can and should play in establishing security
  • demonstrate an understanding of how the computer may be controlled at the lowest level (e.g. in assembly and via low-level kernel manipulation)

Taught with

  • 06-23636 - Operating Systems with C/C++

Teaching methods

3 hours of lectures per week, 2 hours of lab work per week


Assessment


Detailed Syllabus

  1. Role of Operating System
  2. Processes
  3. Scheduling
  4. Memory Management
  5. File Systems
  6. Pointers
  7. Libraries in C
  8. C++
  9. Linux Kernel Programming
  10. Operating Systems for Embedded Systems

Programmes containing this module