Module 23636 (2012)

Syllabus page 2012/2013

06-23636
Operating Systems with C/C++

Level 3/H

Eike Ritter
20 credits in Semester 1

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus


The Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)

Relevant Links

Module web page


Outline

This module gives a practical insight into modern operating systems, reinforcing the theory (e.g. architecture, scheduling, memory management, synchronisation) through practical exercises (e.g. system-level C/C++ programming, building and packaging software, kernel-level development).


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: Assessed by:
1describe the general role of an OS and understand prevalent OS architectures Examination, coursework
2for a given set of problems, conduct a suitable decomposition into processes and threads Examination, coursework
3comprehend, write, build, and package system- and kernel-level code written in C/C++ Examination, coursework
4demonstrate an understanding of the process of kernel development, such as kernel compilation and module development Examination, coursework
5devise appropriate security mechanisms in a given situation and demonstrate an understanding of the role an operating system can and should play in establishing security Examination, coursework

Restrictions, Prerequisites and Corequisites

Restrictions:

May not be taken by anyone who has taken or is taking 06-23635 (Operating Systems with C/C++ (Extended)).

Prerequisites:

06-19343 (Software System Components B), 06-19321 (Software System Components A) (or equivalent)

Co-requisites:

None


Teaching

Teaching Methods:

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

Contact Hours:

50


Assessment

  • Sessional: 1.5 hour examination (80%), coursework (20%)
  • Supplementary (where allowed): 100% examination

Recommended Books

None


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

Last updated: 4 April 2012

Source file: /internal/modules/COMSCI/2012/xml/23636.xml

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus