1 / 16

QNX Neutrino Microkernel System Architecture

QNX Neutrino Microkernel System Architecture. 914396 林承昆 904363 方國州. Outline. Introduction Architecture overview Processes and Threads Message-passing system Conclusion. Introduction.

kumiko
Download Presentation

QNX Neutrino Microkernel System Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. QNX Neutrino Microkernel System Architecture 914396林承昆 904363方國州

  2. Outline • Introduction • Architecture overview • Processes and Threads • Message-passing system • Conclusion

  3. Introduction • Neutrino is a microkernel implementation of the core POSIX features used in embedded real-time systems, alone with the fundamental QNX message-passing services

  4. Architecture overview • Definition of “Microkernel” from QNX“A microkernel OS is structured as a tiny kernel that provides the minimal services used by a team of optional cooperating processes, which in turn provide the high-level OS functionality”

  5. A true kernel should ONLY provide • Thread services • Signal services • Message-passing services • Synchronization services • Scheduling services • Timer services

  6. Non-kernel processes

  7. Modularity of kernel • Kernel becomes open and easily extensible • Make it possible to “hot-plug” kernel components – HA (High availability)

  8. Processes and threads

  9. Thread scheduling • The thread scheduler • schedules threads across processes • makes scheduling decision whenever the execution status of any thread changes • performs context switch from one thread to another whenever the running thread: • Is blocked • Is preempted • yields

  10. Scheduling algorithm • FIFO scheduling • Round-robin scheduling • Adaptive scheduling • Sporadic scheduling

  11. Sporadic scheduling • Normal priority (N) • Initial budget (C) • Low priority (L) • Replenishment period (T) T = 40 C = 10

  12. Message-passing system • Synchronous message passing • The primary form of IPC in QNX and Neutrino • Other forms of IPC are built over this native message passing • Non-blocking pulses • Pulses are often used as a notification mechanism within interrupt handlers

  13. Synchronous message passing

  14. Synchronous message passing • Channels and connections • Client connection map directly into file descriptors • The channel has three queues associated with threads • waiting for message • have sent a message that hasn’t yet been receive • have sent a message that has been received but not yet replied to

  15. Synchronous message passing • Message copying • IOV (input/output vector) or pointer to buffer

  16. Non-blocking pulses • Fixed size – four bytes for data and one plus a single byte code

More Related