Subject description - AD4B35PSR

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
AD4B35PSR Real-Time Systems Programming
Roles:PO, V Extent of teaching:14KP+6KC
Department:13135 Language of teaching:CS
Guarantors:  Completion:Z,ZK
Lecturers:  Credits:6
Tutors:  Semester:Z


The goal of this subject is to give students basic knowledge in the area of software design for embedded systems with real-time operating systems (RTOS) with emphasis to practical experience. Students will solve several simple tasks to get basic knowledge about RTOS VxWorks and to measure timing parameters of the RTOS and hardware, which are necessary when choosing a platform for a given application. Then a more complicated task (motor control) will be solved, which will fully utilize means of RTOS VxWorks. During lectures, students will become familiar with real-time systems theory, which can be used to formally prove the timing correctness of the applications. Moreover, some software engineering techniques, which help with increasing of quality of safety-critical systems will be discussed.

Course outlines:

1. Real-Time operating systems, requirements, properties
2. VxWorks OS
4. Advanced use of C language, GNU C compiler
5. Coding standards, version control systems, certifications
6. Memory access timing; dynamic memory management
7. Clock driven scheduling
8. Dynamic priority scheduling
9. Static priority scheduling
10. Problems in analysis of real-time systems
11. Shared resource management
12. Shared resource management II.
13. Other real-time operating systems; interrupt subsystem; support for different HW platforms (BSP)
14. Combining real-time tasks with non-real-time tasks

Exercises outline:

1. Introduction to VxWorks OS and its IDE. Compilation, debugging, event viewer.
2. Task 1: VxWorks API: mutexes, semaphores.
3. Task 2: VxWorks API: message queues timers
4. Task 3: VxWorks API: processes, shared memoy
5. Task 4: Benchmak of OS scheduler latency
6. Task 5: Memory access timing (cache, prefetching, ...)
7. Task 6: Ethernet communication timing
8. Task 7: Mutex blocking timing (priority inheritance,...)
9. Test; assignment of task 8 - motor control
10. Solving of task 8
11. Solving of task 8
12. Solving of task 8
13. Delivery of task 8
14. Assesment


1. Robbins, K., Robbins, S.: Practical UNIX Programming: A Guide to Concurrency, Communication and Multithreading. Prentice Hall, 1996
2. Liu J. W. S.: Real-Time Systems, Prentice Hall, 2000
3. Burns A., Wellings A.: Real-Time Systems and Programming Languages (Third Edition). Addison Wesley Longmain, 2001.
4. VxWorks manuals (


Zájemce musí zvládat základy programování v jazyce C a programování vícevláknových aplikací. Výhodou je absolvování předmětu A0B35APO. Stránky předmětu:


Subject is included into these academic programs:

Program Branch Role Recommended semester
BKEEM1 Applied Electrical Engineering V 5
BKEEM_BO Common courses V 5
BKEEM2 Electrical Engineering and Management V 5
BKKYR1 Robotics V 5
BKKYR_BO Common courses V 5
BKKYR3 Systems and Control V 5
BKKYR2 Sensors and Instrumentation V 5
BKKME1 Communication Technology V 5
BKKME_BO Common courses V 5
BKKME4 Network and Information Technology V 5
BKKME3 Applied Electronics V 5
BKKME2 Multimedia Technology V 5
BKOI1 Computer Systems PO 5
BIS(ECTS)-D Intelligent Systems V
BKSTMWM Web and Multimedia V
BKSTMSI Software Engineering V
BKSTMMI Manager Informatics V
BKSTMIS Intelligent Systems V
BKSTM_BO Common courses V
BSI(ECTS)-D Software Engineering V
BWM(ECTS)-D Web and Multimedia V
BMI(ECTS)-D Manager Informatics V

Page updated 10.7.2020 12:51:53, semester: Z,L/2020-1, L/2019-20, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)