Skip to navigation | Skip to main content | Skip to footer

This is an archived syllabus from 2017-2018

COMP25111 Operating Systems syllabus 2017-2018

COMP25111 Operating Systems

Level 2
Credits: 10
Enrolled students: 235

Course leader: Jim Garside

Additional staff: view all staff


  • Pre-Requisite (Compulsory): COMP16121
  • Pre-Requisite (Compulsory): COMP16212

Additional requirements

  • Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Assessment methods

  • 90% Written exam
  • 10% Practical skills assessment
Sem 1 Lecture 1.1 Fri 14:00 - 15:00 -
Sem 1 Lecture 1.1 Tue 16:00 - 17:00 -
Sem 1 w2+ Lab LF31 Fri 09:00 - 10:00 G
Sem 1 w2+ Lab LF31 Fri 10:00 - 11:00 I
Sem 1 w2+ Lab LF31 Wed 11:00 - 12:00 F
Sem 1 w2+ Lab G23 Mon 14:00 - 15:00 H
Themes to which this unit belongs
  • Computer Architecture


An operating system is typically the 'lowest' layer of software in a computer.  It provides an abstracted interface so that applications can run on diverse hardware without modification and it provides security which prevents misbehaving software from crashing the hardware or disturbing other tasks which may be running simultaneously.

This course unit provides an introduction to the major principles of implementation of an operating system and some experience in how these features may be exploited by the 'higher' software layers. Note that this module is currently undergoing major redevelopment and modernisation and, whilst the principles will not change, some of the details both in the syllabus and teaching methods may differ in the autumn.


This course unit assumes that students are familiar with the idea that their applications programs run on some sort of 'box'. The intention is to peel back another layer to see how the system software - and in a few cases the associated hardware - conspire to run that application safely and securely, despite the hardware itself - processors, memory, filestore etc. - differing from case to case.  It also seeks to illuminate the services a typical operating system provides, some of which will probably be unfamiliar, in a practical way.

To support this material there will also be some revision of (or an introduction to, for a few students) some architectural features and enough material on the C language to enable someone already familiar with (say!) Java to be able to poke around the machine.



  • Overview; abstraction layers; purpose.


  • Basic C programming and pointers
  • Memory map and structure
  • Virtual memory, paging; caches et alia.
  • Processes & threads


  • Protection, priority, real-time constraints
  • Scheduling, context switching

Device management

  • Ownership, protection
  • Polling, Interrupts, DMA

File systems

  • File organisation; types; security

Multiprocessors, hypervisors and future stuff

Teaching methods


22 in total, 2 per week


11 hours in total, 1 hour weekly sessions

Assessment breakdown
Exam:  85%
Mid-term test:  5%
Coursework:  10%

Feedback methods

The intention is to automate as much feedback as possible by providing many small 'exercises' to illuminate the various concepts.  Some exercises may only take a few minutes - at least for those who grasp the concept immediately - others a bit longer but wherever feasible misconceptions will be highlighted immediately and more 'goes' provided.  There is a strong intent to keep the assessment elements as minimal as sensible during the duration of the course. 

Scheduled'laboratories' are intended to support the on-line systems which will be available at all times; they are not for generating marks.

Lectures and other material are intended to guide one sensible path through the various interdependent topics.

Inevitably, there will also be an examination at the end of the semester.

Study hours

  • Assessment written exam (2 hours)
  • Lectures (24 hours)
  • Practical classes & workshops (11 hours)

Employability skills

  • Analytical skills
  • Problem solving
  • Research
  • Other

Learning outcomes

On successful completion of this unit, a student will be able to:

Learning outcomes are detailed on the COMP25111 course unit syllabus page on the School of Computer Science's website for current students.

Reading list

Operating system concepts with JavaSilberschatz, Abraham; Galvin, Peter B.; Gagne, Greg0470398795, 9780470398791John Wiley & Sons2010
Operating system conceptsSilberschatz, Abraham; Galvin, Peter B.; Gagne, Greg9780470128725, 9780470279939J. Wiley & Sons2009
Operating system concepts Silberschatz, Abraham.9781118063330Wiley2013
Modern operating systemsTanenbaum, Andrew S.0138134596, 9780138134594Pearson / Prentice Hall2009
Modern operating systemsTanenbaum, Andrew S., 1944- author.9781292061955Pearson2015
Operating systems: a modern perspectiveNutt, Gary J.0201773449, 0321189558Addison Wesley2003
Operating systems principlesBic, Lubomir; Shaw, Alan C.0130266116, 9780130266118Prentice Hall2003
Applied operating system conceptsSilberschatz, Abraham; Galvin, Peter B.; Gagne, Greg0471365084Wiley2000
Applied operating system concepts : Windows XP update Silberschatz, Abraham.0471263141Wileyc2003.
Operating systems: internals and design principlesStallings, William013230998X, 9780132309981Pearsonc2011
Operating Systems : International Edition.Stallings, William.9781447930143Pearson Education UK2013
Operating systems : internals and design principles Stallings, William, author.9781292061351Pearson2015
Operating systems: design and implementationTanenbaum, Andrew S.; Woodhull, Albert S.0131429388, 0131429876Pearson / Prentice Hall2006
How to Research [Paperback]Blaxter, Loraine.033523867XOpen University Press; 4 edition (1 Aug 2010)2010. How to Research: Booksnullnullnullnull

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.