Module 06-23635 (2011)
Operating Systems with C/C++ (Extended)
Level 4/M
Matthew Smart Eike Ritter | Semester 1 | 20 credits |
Co-ordinator: Eike Ritter
Reviewer: Antoni Diller
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
Detailed Syllabus
- Role of Operating System
- Processes
- Scheduling
- Memory Management
- File Systems
- Pointers
- Libraries in C
- C++
- Linux Kernel Programming
- Operating Systems for Embedded Systems