
- UCAS course code
- H613
- UCAS institution code
- M20
BEng Electronic Engineering with Industrial Experience / Course details
Year of entry: 2023
- View tabs
- View full page
Course unit details:
Concurrent Systems
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 |
Overview
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.
Pre/co-requisites
Unit title | Unit code | Requirement type | Description |
---|---|---|---|
Microcontroller Engineering II | EEEN20011 | Pre-Requisite | Compulsory |
Aims
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: | Developed | Assessed | |
ILO 1 |
| Yes | Yes |
ILO 2 |
| Yes | Yes |
ILO 3 |
| Yes | Yes |
ILO 4 |
| Yes | Yes |
ILO 5 |
| Yes | Yes |
Teaching and learning methods
21 Lectures, 1 Introductory Lab, 5 Worked Tutorial Sheets (online).
Assessment methods
Method | Weight |
---|---|
Other | 20% |
Written exam | 80% |
Coursework:
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 |