Unit 1
Introduction to QNX OS Architecture: Overview of QNX OS architecture: microkernel, process manager, and standards. Protected address spaces, process/thread model, and scheduling. Introduction to inter-process communication (IPC) and synchronization. Resource managers and shared objects.
Unit 2
Processes, Threads, and Synchronization: Process management: creation, termination, and memory protection. Thread management: creation, termination, and synchronization. Synchronization techniques: mutexes, semaphores, and condition variables. Hands-on exercises: process/thread creation and synchronization.
Unit 3
Inter-Process Communication (IPC): Overview of IPC methods in QNX: message passing, pulses, and shared memory. Comparing IPC methods: advantages and disadvantages. Practical implementation of IPC in QNX. Hands-on exercises: message passing and shared memory.
Unit 4
Hardware Programming and Timing: Hardware access methods: IO-mapped and memory-mapped IO. Interrupt handling and DMA-safe memory allocation. Timing architecture: periodic timing, one-shot timing, and timeouts. Hands-on exercises: interrupt handling and timing mechanisms.
Unit 5
Building and Configuring QNX Boot/OS Images: Overview of QNX boot/OS image structure. Components of a boot image: startup code, kernel, drivers, and scripts. Building and loading boot images onto target hardware. Introduction to resource managers and their implementation.