Lectures:
• Fundamentals of operating systems. Real-time requirements and its use in control systems. Comparison with operating systems for common use.
• Basic concepts. Hard and soft real-time. Parallelism and its solutions on various hardware platforms. Preemptive and cooperative multitasking.
• Processes and threads. Comparison of different models used in real-time operating systems.
• Real-time operating system kernel. Microkernel, monolithic and hybrid kernels.
• Issues of operating system for a control application choose.
• Overview of real-time operating systems. QNX. Linux and its real-time expansion. FreeRTOS.
• Processes and threads synchronization in real-time operating system. Deadlines. Process scheduling.
• Synchronous and asynchronous communication between the processes. Messages, signals.
• Shared resource management. Path expression. Mutex, semaphore and other tools.
• Memory management methods suitable for real-time tasks. Static and dynamic memory allocation. Memory fragmentation and defragmentation.
• Interrupt handling and communication with peripherals. Drivers for real-time operating systems.
• File systems and their comparison with standard operating systems. File protection mechanism.
• POSIX standard for real-time operating systems. Windows operating systems and its real-time extension. Perspectives of operating system development for real-time work. Fault tolerant systems. Programming languages.
Projects:
• Project 1 - Implementation of control application for Raspberry Pi platform (or minicomputers with real-time operating system). The project is solved in teams and topic is interconnection of real peripherals and their real-time control.
Computer laboratories:
• Practical introduction to the real-time operating system architecture.
• Project 1 assignment. Terminal basics.
• Fundamentals work in the development environment for real-time applications.
• Processes and threads.
• Process and thread scheduling.
• Process synchronization and intercommunication.
• Interrupt handling in real-time application.
• Memory management.
• Implementation of a simple driver for the real-time operating system.
• Using operating system tools to run real-time applications.
• Processing of project 1.
• Presentation of project 1.
• Credit test.
• Credit.
• Fundamentals of operating systems. Real-time requirements and its use in control systems. Comparison with operating systems for common use.
• Basic concepts. Hard and soft real-time. Parallelism and its solutions on various hardware platforms. Preemptive and cooperative multitasking.
• Processes and threads. Comparison of different models used in real-time operating systems.
• Real-time operating system kernel. Microkernel, monolithic and hybrid kernels.
• Issues of operating system for a control application choose.
• Overview of real-time operating systems. QNX. Linux and its real-time expansion. FreeRTOS.
• Processes and threads synchronization in real-time operating system. Deadlines. Process scheduling.
• Synchronous and asynchronous communication between the processes. Messages, signals.
• Shared resource management. Path expression. Mutex, semaphore and other tools.
• Memory management methods suitable for real-time tasks. Static and dynamic memory allocation. Memory fragmentation and defragmentation.
• Interrupt handling and communication with peripherals. Drivers for real-time operating systems.
• File systems and their comparison with standard operating systems. File protection mechanism.
• POSIX standard for real-time operating systems. Windows operating systems and its real-time extension. Perspectives of operating system development for real-time work. Fault tolerant systems. Programming languages.
Projects:
• Project 1 - Implementation of control application for Raspberry Pi platform (or minicomputers with real-time operating system). The project is solved in teams and topic is interconnection of real peripherals and their real-time control.
Computer laboratories:
• Practical introduction to the real-time operating system architecture.
• Project 1 assignment. Terminal basics.
• Fundamentals work in the development environment for real-time applications.
• Processes and threads.
• Process and thread scheduling.
• Process synchronization and intercommunication.
• Interrupt handling in real-time application.
• Memory management.
• Implementation of a simple driver for the real-time operating system.
• Using operating system tools to run real-time applications.
• Processing of project 1.
• Presentation of project 1.
• Credit test.
• Credit.