Module 23635 (2010)

Syllabus page 2010/2011

06-23635
Operating Systems with C/C++ (Extended)

Level 4/M

Eike Ritter:10
Nick Blundell:10
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, boot-sector programming in assembly).


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: 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
6demonstrate an understanding of how the computer may be controlled at the lowest level (e.g. in assembly and via low-level kernel manipulation) Examination, coursework

Restrictions, Prerequisites and Corequisites

Restrictions:

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

Prerequisites:

06-19343 (Software System Components 1), 06-19321 (Software System Components 2) (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. to be completed

Last updated: 5 August 2010

Source file: /internal/modules/COMSCI/2010/xml/23635.xml

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