Module 06-23636 (2011)
Operating Systems with C/C++
Level 3/H
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
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
Taught with
- 06-23635 - Operating Systems with C/C++ (Extended)
Teaching methods
3 hours of lectures per week, 2 hours of lab work per week
Assessment
- Sessional: 1.5 hour examination (80%), coursework (20%)
- Supplementary: 100% examination
Detailed Syllabus
- Role of Operating System
- Processes
- Scheduling
- Memory Management
- File Systems
- Pointers
- Libraries in C
- C++
- Linux Kernel Programming
Programmes containing this module
- BSc Artificial Intelligence & Computer Science [0144]
- BSc Artificial Intelligence & Computer Science [9502]
- BSc Computer Science [4436]
- BSc Computer Science with an Industrial Year [9499]
- BSc Computer Science with Study Abroad [5571]
- MEng Computer Science/Software Engineering [4754]
- MEng Computer Science/Software Engineering with an Industrial Year [9501]