Real-time Systems
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BIE-SRC | KZ | 4 | 2+2 |
- Lecturer:
- Tutor:
- Supervisor:
- Department of Digital Design
- Synopsis:
-
Students will get basic knowledge in the theory of RTOS, formal instruments for design of such systems, applied software engineering, and security aspects that lead to quality improvement in software products. Students will also be able to solve a more complex task - time critical model controlling - in which they can use advantages of a graphical programming environment and further advanced tools for programming on RTOSs.
- Requirements:
-
Basic C programming and programming of multithreaded applications.
- Syllabus of lectures:
-
1. Characteristis of real-time operating systems (RTOS), categorization.
2. RTOS, properties, types.
3. RTOS components and their functionality.
4. Task time scheduling, interrupts.
5. Handling of requests.
6. Memory and peripheral management.
7. UML language, diagrams for real-time.
8. [2] SDL language: blocks, processes, synchronization, state automata, communication, data, signals, variables.
9. Analysis, simulation, and code generation.
10. Validation and testing.
11. Fundamentals of design of complex systems.
12. Example analysis.
- Syllabus of tutorials:
-
1. Acquainting with the RTOS and its development environment. Compilation, debugging, event viewer.
2. Task 1: mutexes, semaphores.
3. Task 2: message queues, timers.
4. Task 3: processes, shared memory.
5. Task 4: OS task scheduler.
6. Task 5: impact of memory access on the run time (cache, prefetching, ...).
7. [2] Simulation measurements.
8. Task 6 assignment - controlling a more complex system.
9. [3] Solving task 6.
10. Submission of task 6.
- Study Objective:
-
The purpose of the module is to learn students basic knowledge in the area of software development of controlling systems equipped with an real-time operating system (RTOS). During the seminars, students will solve several smaller tasks to get acquainted with the basic RTOS components and to measure timing parameters of the OS and the hardware that are necessary when an application specific platform is selected. Then they will solve a more complex task.
- Study materials:
-
1. Robbins, K. A., Robbins, S. ''Practical Unix Programming: a Guide to Concurrency, Communication, and Multithreading''. Prentice Hall PTR, 1995. ISBN 0134437063.
2. Liu, J. W. S. ''Real-Time Systems''. Prentice Hall, 2000. ISBN 0130996513.
3. Burns, A., Wellings, A. ''Real Time Systems and Programming Languages: Ada 95, Real-Time Java and Real-Time C/POSIX''. Addison Wesley, 2001. ISBN 0201729881.
- Note:
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Computer Engineering (Presented in English) (compulsory course of the specialization)
- Informatics (Presented in English) (VO)