School of Engineering and Technology, (SET)

AT81.16 : Real Time Systems  3(2-3)
This course focuses on complexities of real-time systems including OS kernels, scheduling, semaphore, message queue, I/O systems, memory management, synchronization, and communication. Fundamental challenges in real-time embedded computing are described, together with design methodologies and models of computation.

The objects and services that are a part of most Real-Time Operating System kernels are described and real-time system design is explored in detail. The objective of the course is to provide students fundamental knowledge on Real-Time Systems, and their applications.
Catalog Description:
The students on the completion of this course would be able to:
         Apply knowledge learned on Real-time Systems design and Real-time operating system, software tools, and technique to solve problems
         Select appropriated Real-time scheduling and Real-time Operating Systems
         Analyze the performance bottleneck of the system


Course Outline:
I.             Introduction to Real-Time Embedded Systems
1.      Embedded Systems
2.      Real-Time Systems

II.          Basic Embedded System Development
1.      Linkers and Linking Process
2.      Mapping Executable Images into Target Embedded Systems

III.       Embedded Systems Initialization
1.      Target System Boot Scenarios
2.      Software Initialization Sequences
3.      On-chip Debugging

IV.       Real-Time Operating Systems
1.      Scheduler Algorithms
2.      Objects and Services Subsystems

V.          Introduction to Task Subsystems
1.      Task States and Scheduling
2.      Synchronization, Communications, and Concurrency

VI.       Inter-process Communication
1.      Semaphores
2.      Message Queues
2.      Pipe, Signals, and Event Registers

VII.    Exceptions, Interrupts, and Timer
1.      Processing General Exception
2.      Spurious interrupts
3.      Real-time Clocks and System Clocks
4.      Programmable Interval Interrupt Timer

VIII.  I/O subsystems
1.      Basic I/O Concept
2.      I/O Subsystems

IX.       Memory Management
1.      Dynamic Memory Allocation
2.      Blocking/non-blocking Memory Functions

X.          Synchronization and Communication
1.      Resource Synchronization Method
2.      Communication
3.      Deadlock Avoidance

X.          Device Driver Design
1.      Type of Devices
2.      Device Driver Module Design
3.      Character Devices/Block Devices

Laboratory Sessions:
  • Real-time operating systems 
  • Multi-threading programming 
  • Semaphore and mutex study
  • Scheduling
  • Memory management
  • Interrupts
1.     S. Siewert: Real-Time Embedded Components and Systems with Linux and RTOS, Mercury Learning & Information, 2nd edition, 2016
1.     Q. Li: Real-Time Concepts for Embedded Systems, CMP book, 1st edition, 2003
2.     P. A. Laplante, and S. J. Ovaska: Real-Time Systems Design and Analysis: Tools for the Practitioner, Wiley-IEEE Press; 4th edition, 2011
3.     J. W. S. Liu: Real-Time Systems, Prentice Hall, 1st edition, 2000
A.    M. K. Cheng: Real-Time Systems: Scheduling, Analysis, and Verification, Wiley-Interscience, 1 edition, 2002
1.     IEEE Transactions on Computer, IEEE
2.     IEEE Transactions on Circuits and Systems, IEEE
3.     IEEE Transactions on Power Electronics, IEEE
4.     IEEE Transactions on VLSI Systems, IEEE
5.     IEEE Transactions on CAD of Integrated Circuits and Systems, IEEE
6.     IEEE Design & Test of Computers, IEEE
7.     ACM Transactions on Embedded Computing Systems, ACM
8.     ACM Transactions on Design Automation on Electronic Systems, ACM
Lectures: 30 hours
Laboratory sessions: 45 hours
Presentations: 3 hours
Self-study: 90 hours
Teaching Method:
The lectures provide the students with the basic understanding of the subject. To increase understanding on the subject and become active learners, the students are required to do laboratory assignments, literature review, and presentation. The laboratory assignments strengthen their understanding and give them a chance to work in group. The literature review is the individual assignment. The presentation is a part of the individual assignment for personal development and knowledge sharing.

Grading System:
The final grade will be computed according to the following components: final exam 40%; assignments 5%, laboratories 10% presentation 5% and project 40%. Open-book examination is used.

An “A” would be awarded if a student can demonstrate clear understanding of the knowledge learned in class as well as from the laboratory assignments and literature reviews.

A “B” would be awarded if a student can understand the basic principles of the knowledge learned in class, from the laboratory assignments and from literature reviews.

A “C” would be given if a student can understand partially the basic principles of the knowledge learned in class, from the laboratory assignments and from literature reviews.

A “D” would be given if a student shows lack of understanding of the knowledge learned in class, from the laboratory assignments and from literature reviews.