Don't just imagine your future at University, experience it first-hand!

Step into the shoes of an undergraduate student and join us for our upcoming on-campus Discover Days in Science, Engineering and Fashion. These days are tailored exclusively for Year 12s who are interested in taking their academic journey to the next level. Find your favourite subject now!

Find out more about our Discover Days in Science, Engineering and Fashion

MEng Mechatronic Engineering / Course details

Year of entry: 2024

Course unit details:
Concurrent Systems

Course unit fact file
Unit code EEEN30141
Credit rating 10
Unit level Level 3
Teaching period(s) Semester 1
Offered by Department of Electrical & Electronic Engineering
Available as a free choice unit? No


This unit will cover the following topics:

(1) The origins and nature of concurrency: inherently concurrent systems and potentially concurrent systems.

(2) Processes: basic concepts, mechanisms for creating concurrent activities.

(3) The need for interprocess communication and synchronisation: shared memory-based communication and synchronisation; critical sections, atomic actions, mutual exclusion, condition synchronisation, semaphores, monitors.

(4) Message passing: asynchronous message passing, synchronous message passing (CSP/Occam model), remote invocation (Ada model).

(5) Problems with concurrent systems: deadlock, livelock, starvation, permanent blocking, liveness and safety.

(6) Implementation of concurrent systems: introduction to operating systems, concurrency and operating systems; overall structure and functions of an operating system.

(7) Process management: process state, process descriptors, context switching, process scheduling.

Implementation of interprocess communication and synchronisation.

(8) Memory management: Memory hierarchy, process address space, virtual memory, segments, pages, address translation.

(9) File management: directory structures, file system interface, file system implementation considerations.

(10) Device management: device interfaces and data rates, polling, interrupts and exceptions, interrupt handling, priorities, vectors, memory-mapped I/O.


Unit title Unit code Requirement type Description
Microcontroller Engineering II EEEN20011 Pre-Requisite Compulsory


This course unit detail provides the framework for delivery in the current academic year and may be subject to change due to any additional Covid-19 impact.  Please see Blackboard / course unit related emails for any further updates.

The course unit aims to:

Provide an understanding of when it is appropriate to develop concurrent systems.
Introduce the benefits and difficulties of developing concurrent systems.
Develop techniques for realising concurrency in C++.
Provide an understanding of how modern operating systems support concurrency.


Learning outcomes

On the successful completion of the course, students will be able to:




  • Describe the key differences between sequential and concurrent systems.




  • Describe and analyse selected communication and synchronisation mechanisms in concurrent systems.




  • Develop concurrent programs in C++ to solve common problems in concurrency.




  • Describe and analyse the behaviour of the major components of a generic operating system.




  • Explain the interaction of the major components of a contemporary operating system under a given set of conditions.




Teaching and learning methods

 21 Lectures, 1 Introductory Lab, 5 Worked Tutorial Sheets (online).

Assessment methods

Method Weight
Other 20%
Written exam 80%


2 Blackboard tests - 30 Minutes each

Write a concurrent program in C++ to implement a given specification. - 10 hours

The coursework forms 20% of the unit assessment.

Recommended reading

C++ Concurrency in Action: Practical Multithreading, Anthony Williams, 2012

-covers the first part of the course.

Operating Systems : A Modern Perspective, G. Nutt

3rd edition, Addison-Wesley, 2003

-covers the second part of the course.

Study hours

Scheduled activity hours
Lectures 21
Practical classes & workshops 3
Tutorials 5
Independent study hours
Independent study 71

Teaching staff

Staff member Role
Peter Green Unit coordinator

Return to course details