WM392-15 Real Time Operating Systems
Introductory description
In the era of digitization, the computing devices are expected to perform complex and critical tasks. The operating systems including embedded operating system (EOS), robot operating system (ROS), real-time operating system (RTOS), etc. are the fundamental software in computer systems that support the devices to perform tasks so it is very important that operating systems should be stable and efficient. In particular, real time operating systems play a vital role in applications where timing predictability, responsiveness, and reliability are paramount, enabling the development of embedded systems that perform critical tasks with precision and efficiency.
This module contributes to AHEP 4 learning outcomes for Partial CEng and BCS accreditation criteria for Full CITP as referenced in the learning outcomes.
Module aims
This module aims to understand the concepts of various operating systems such as EOS, ROS, DOS, RTOS, etc. and to cover the core principles of operating systems including process, threads, scheduling, deadlocks, memory systems and file systems. The fundamental concepts related to time and resource limitation in real time operating systems will also be discussed. In particular, by developing an application practically using a real time operating system, it will further improve the understanding of real time operating system.
Outline syllabus
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
- Type of operating Systems
- Processes and threads
- Process scheduling and state
- C Programming
- Inter-process communication
- Threads vs. processes
- Kernel vs user threads
- Concurrency and synchronization
- Scheduling
- CPU Scheduler
- Scheduling criteria and algorithms
- Thread scheduling
- Deadlock
- Mutual exclusion
- Critical section
- Priority Inversion
- Priority Inheritance
- Race condition
- Critical section
- Semaphores
- Memory system and virtual memory
- File systems, disk scheduling and I/O
- Design and analysis of real time system software
- Reliability and fault tolerance
- Real time communication
- Real time systems for multiprocessor systems
Learning outcomes
By the end of the module, students should be able to:
- Identify the fundamental principles of an operating system and recognise how it effectively handles file, memory, processes, and device resources [AHEP:4 – C6] [CITP: 2.1.1].
- Critically discuss processor architecture components and how processes work effectively across the components [CITP: 2.1.10].
- Comprehensively evaluate the factors related to race condition and mutual exclusion with time and resource limitations for concurrency management [CITP: 2.2.1].
- Effectively apply the understanding of real time operating system to real application problems by implementing the solutions [AHEP:4 - C5] [CITP: 2.2.5].
Indicative reading list
- Wang, K. C., “ Embedded and real-time operating systems”, Springer 2017, ISBN: 9783319515175
- A. Holt, “ Embedded operating systems; a practical approach”, Springer 2018, ISBN : 978 319729770
- C. Naresh, “Principles of operating systems”, Oxford University Press, 2015, ISBN : 9780198082873.
- J. Schauffele, “Automotive software engineering; principles, processes, methods and tools”, SAE International, 2005, ISBN: 0768014905.
View reading list on Talis Aspire
Subject specific skills
Contributes to the occupational standard for Digital and Technology Solutions Professional (ST0119):
Identify risks, determine mitigation strategies and opportunities for improvement in a digital and technology solutions project (S2).
Initiate, design, code, test and debug a software component for a digital and technology solution (S4).
Initiate, design, implement and debug a data product for a digital and technology solution (S10).
Research, investigate, and evaluate innovative technologies or approaches in the development of a digital and technology solution (S14).
Identify and define software engineering problems that are non-routine and incompletely specified (S16).
Provide recommendations as to the most appropriate software engineering solution (S17).
Implement software engineering projects using appropriate software engineering methods, approaches and techniques (S19).
Transferable skills
Digital Literacy (Has the capabilities that enable living, learning and working in a digital society. Comfortable with using digital media to communicate, solve problems, manage information, collaborate, create and share content.)
Problem Solving (Use rational and logical reasoning to deduce appropriate and well-reasoned conclusions. Retain an open mind, optimistic of finding solutions, thinking laterally and creatively to look beyond the obvious. Knows how to learn from failure.)
Critical Thinking (Recognise patterns, themes and key messages from sometimes confused and incomplete data. Make informed decisions on the value of a range of sources allowing an evidence based conclusion based on this analysis.)
Professionalism (Prepared to operate autonomously. Aware of how to be efficient and resilient. Manages priorities and time. Self-motivated, setting and achieving goals, prioritising tasks)
Information Literacy (Critical awareness of how information is gathered, used, managed and synthesised. Understanding of the relative value of different sources and the importance of provenance. The systematic collection, analysis and evaluation of information in the investigation of a topic.)
Study time
Type | Required |
---|---|
Lectures | 10 sessions of 1 hour (7%) |
Seminars | 5 sessions of 1 hour (3%) |
Work-based learning | 15 sessions of 1 hour (10%) |
Online learning (scheduled sessions) | 15 sessions of 1 hour (10%) |
Online learning (independent) | 5 sessions of 1 hour (3%) |
Other activity | 5 hours (3%) |
Private study | 35 hours (23%) |
Assessment | 60 hours (40%) |
Total | 150 hours |
Private study description
Self-guided study: Reading relevant chapters in the reading list, and other online resources.
Professional development: Reflecting on learning and experience gained.
Other activity description
Online support and consultancy in support of assessments and group project work.
Costs
No further costs have been identified for this module.
You must pass all assessment components to pass the module.
Assessment group A2
Weighting | Study time | Eligible for self-certification | |
---|---|---|---|
Assessment component |
|||
Programming Project Report 1 | 40% | 24 hours | Yes (extension) |
This assessment includes a written report and plus programming development for a couple of missions to find solutions for the given tasks by implementing applications related to operating system file, process, resource, etc. For this reason, the report word length is slightly shorter than a typical report. |
|||
Reassessment component is the same |
|||
Assessment component |
|||
Programming Project Report 2 | 60% | 36 hours | Yes (extension) |
This assessment includes a written report and plus programming development for a couple of missions to find solutions for the given tasks by designing and implementing applications using real time operating systems. For this reason, the report word length is slightly shorter than a typical report. |
|||
Reassessment component is the same |
Feedback on assessment
Feedback will be given as appropriate to the assessment type:
- Written summative feedback on reports.
- Verbal feedback given during seminar/tutorial sessions.
Courses
This module is Core for:
- Year 4 of UWMS-H65B Undergraduate Digital and Technology Solutions (Data Analytics)
- Year 4 of DWMS-H652 Undergraduate Digital and Technology Solutions (Data Analytics) (Degree Apprenticeship)
- Year 4 of UWMS-H65D Undergraduate Digital and Technology Solutions (Software Engineering)
- Year 4 of DWMS-H654 Undergraduate Digital and Technology Solutions (Software Engineering) (Degree Apprenticeship)
This module is Optional for:
- Year 4 of UWMS-H65E Undergraduate Digital and Technology Solutions (Cyber)
- Year 4 of DWMS-H655 Undergraduate Digital and Technology Solutions (Cyber) (Degree Apprenticeship)
- Year 4 of UWMS-H65C Undergraduate Digital and Technology Solutions (Network Engineering)
- Year 4 of DWMS-H653 Undergraduate Digital and Technology Solutions (Network Engineering) (Degree Apprenticeship)