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 3Inter-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 4Hardware 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 5Building 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 Experiments1. QNX configuration and application development using QNX Momentics IDE. 2. Process and thread creation, management, and synchronization. 3. Implementation of IPC methods: passing message and shared memory. 4. Interrupt handling and hardware access programming. 5. Building and deploying QNX boot/OS images. 6. 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:1 QNX Neutrino RTOS User’s Guide, QNX Software Systems. 2 Brian Amos, Hands-on RTOS with Microcontrollers, Packt Publishing, 2020. 3 Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Operating System Concepts, 9th Edition, Wiley, 2018. 4 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