Back close

Course Detail

Course Name Real-time Operating System Using QNX
Course Code 26ELC331
Program B. Tech. in Electrical and Computer Engineering
Credits 3
Campus Amritapuri ,Coimbatore, Bengaluru

Syllabus

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.

Experiments

Lab Experiments

  • QNX configuration and application development using QNX Momentics IDE.
  • Process and thread creation, management, and synchronization.
  • Implementation of IPC methods: passing message and shared memory.
  • Interrupt handling and hardware access programming.
  • Building and deploying QNX boot/OS images.
  • Mini capstone project: Design and implement a QNX-based embedded system.

Objectives and Outcomes

Course Objectives

  • Understand the architecture and core concepts of the QNX RTOS.
  • Learn to develop and debug applications using the QNX Momentics IDE.
  • Gain knowledge of process and thread management, including synchronization techniques.
  • Explore Inter-Process Communication (IPC) methods and their applications in QNX.
  • Understand hardware programming concepts, including interrupt handling and memory access.
  • Learn to build and configure QNX boot/OS images for embedded systems. 

Course Outcomes

CO1: Understand the QNX OS architecture and its microkernel.

CO2: Develop and debug QNX-based applications using appropriate tools.

CO3: Apply process/thread management and synchronization techniques in QNX.

CO4: Implement inter-process communication methods for real-time systems.

CO5: Configure and build QNX boot/OS images for specific hardware platforms.

CO6: Develop strong knowledge on the POSIX standards that help in System Application Development.

CO-PO Mapping

PO/PSO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PSO1 PSO2 PSO3
CO
CO1 3 2 1 1
CO2 3 3 2 2 3 1 1 2 3 1
CO3 3 3 3 3 3 1 1 1 1 1
CO4 3 3 3 3 3 1 1 1 3 1
CO5 3 3 3 3 3 1 1 2 2 2
CO6 2 2 1 1 1 1 1 1 1 1

Text Books / References

References:

  • QNX Neutrino RTOS User’s Guide, QNX Software Systems.
  • Brian Amos, Hands-on RTOS with Microcontrollers, Packt Publishing, 2020.
  • Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Operating System Concepts, 9th Edition, Wiley, 2018.
  • Michael Barr, Anthony Massa, Programming Embedded Systems: With C and GNU Development Tools, O’Reilly Media, Inc., 2006.

QNX Resources:

QNX Everywhere page – https://blackberry.qnx.com/en/products/qnx-everywhere

QNX Gitlab page – https://gitlab.com/qnx

QNX on Reddit: https://www.reddit.com/r/QNX/

QNX on StackOverflow: https://stackoverflow.com/questions/tagged/qnx

QNX on YouTube: https://www.youtube.com/qnxcam

QNX open-source projects: https://gitlab.com/qnx/projects

QNX on github: https://github.com/qnx-ports

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now