- UCAS course code
- UCAS institution code
MEng Electronic Engineering / Course details
Year of entry: 2023
- View tabs
- View full page
Course unit details:
|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.
On the successful completion of the course, students will be able to:
| || |
| || |
| || |
| || |
| || |
Teaching and learning methods
21 Lectures, 1 Introductory Lab, 5 Worked Tutorial Sheets (online).
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.
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.
|Scheduled activity hours|
|Practical classes & workshops||3|
|Independent study hours|
|Peter Green||Unit coordinator|