没有合适的资源?快使用搜索试试~ 我知道了~
QNX SDP 7.0 QNX Neutrino系统架构
需积分: 48 110 下载量 7 浏览量
2020-03-03
11:40:58
上传
评论 7
收藏 2.74MB PDF 举报
温馨提示
试读
312页
QNX SDP 7.0 QNX_Neutrino_RTOS_System_Architecture.pdf
资源推荐
资源详情
资源评论
QNX
®
Neutrino
®
RTOS
System Architecture
QNX
®
Software Development Platform 7.0
©
1996–2019, QNX Software Systems Limited, a subsidiary of BlackBerry
Limited. All rights reserved.
QNX Software Systems Limited
1001 Farrar Road
Ottawa, Ontario
K2K 0B3
Canada
Voice: +1 613 591-0931
Fax: +1 613 591-3579
Email: info@qnx.com
Web: http://www.qnx.com/
BLACKBERRY, EMBLEM Design, QNX, EMBLEM Design, MOMENTICS,
and NEUTRINO are the trademarks or registered trademarks of
BlackBerry Limited, its subsidiaries and/or affiliates, used under license,
and the exclusive rights to such trademarks are expressly reserved. All
other trademarks are the property of their respective owners.
Patents per 35 U.S.C. § 287(a) and in other jurisdictions, where allowed:
http://www.blackberry.com/patents
Electronic edition published: May 02, 2019
Contents
About This Guide..................................................................................................................................9
Typographical conventions........................................................................................................10
Technical support.....................................................................................................................12
Chapter 1: The Philosophy of the QNX Neutrino RTOS............................................................................13
An embeddable POSIX OS?.......................................................................................................14
Product scaling........................................................................................................................15
Why POSIX for embedded systems?...........................................................................................16
Why QNX Neutrino for embedded systems?.................................................................................18
Microkernel architecture...........................................................................................................19
The OS as a team of processes.......................................................................................20
A true kernel.................................................................................................................20
System processes..........................................................................................................21
Interprocess communication.....................................................................................................23
QNX Neutrino as a message-passing operating system......................................................23
Network distribution of kernels..................................................................................................24
Single-computer model..................................................................................................24
Flexible networking.......................................................................................................24
Chapter 2: The QNX Neutrino Microkernel.............................................................................................27
The implementation of the QNX Neutrino RTOS..........................................................................28
POSIX realtime and thread extensions.............................................................................28
System services.......................................................................................................................29
Threads and processes..............................................................................................................30
Thread attributes...........................................................................................................32
Thread life cycle...........................................................................................................33
Thread scheduling....................................................................................................................37
Scheduling priority........................................................................................................37
Scheduling policies.......................................................................................................39
IPC issues....................................................................................................................43
Thread complexity issues...............................................................................................43
Synchronization services...........................................................................................................45
Mutexes: mutual exclusion locks.....................................................................................45
Condvars: condition variables.........................................................................................47
Barriers........................................................................................................................48
Sleepon locks...............................................................................................................50
Reader/writer locks........................................................................................................51
Safely sharing mutexes, barriers, and reader/writer locks between processes.......................51
Semaphores..................................................................................................................52
Synchronization via scheduling policy.............................................................................53
Synchronization via message passing..............................................................................53
Synchronization via atomic operations.............................................................................53
Synchronization services implementation.........................................................................54
QNX
®
Neutrino
®
RTOS
Clock and timer services...........................................................................................................55
Time correction.............................................................................................................56
Timers..........................................................................................................................56
Interrupt handling....................................................................................................................59
Interrupt latency...........................................................................................................59
Scheduling latency........................................................................................................60
Nested interrupts..........................................................................................................60
Interrupt calls...............................................................................................................61
Chapter 3: Interprocess Communication (IPC)........................................................................................65
Synchronous message passing...................................................................................................66
Message copying......................................................................................................................68
Simple messages.....................................................................................................................71
Channels and connections........................................................................................................72
Pulses.....................................................................................................................................74
Priority inheritance and messages..............................................................................................75
Server boost.................................................................................................................75
Message-passing API................................................................................................................77
Robust implementations with Send/Receive/Reply.......................................................................78
Events....................................................................................................................................80
I/O notification..............................................................................................................81
Signals....................................................................................................................................82
Special signals..............................................................................................................83
Summary of signals.......................................................................................................85
POSIX message queues............................................................................................................88
Shared memory........................................................................................................................90
Shared memory with message passing.............................................................................90
Creating a shared-memory object....................................................................................91
mmap()
.....................................................................................................................92
Typed memory.........................................................................................................................96
Implementation-defined behavior....................................................................................96
Practical examples......................................................................................................100
Pipes and FIFOs....................................................................................................................102
Chapter 4: The Instrumented Microkernel............................................................................................103
Instrumentation at a glance.....................................................................................................104
Event control.........................................................................................................................105
Modes of emission......................................................................................................105
Ring buffer.................................................................................................................106
Data interpretation.................................................................................................................107
System analysis with the IDE.......................................................................................108
Proactive tracing....................................................................................................................109
Chapter 5: Multicore Processing.........................................................................................................111
Asymmetric multiprocessing (AMP)..........................................................................................112
Symmetric multiprocessing (SMP)...........................................................................................113
Contents
Booting an x86 SMP system.........................................................................................113
How the SMP microkernel works...................................................................................114
Critical sections..........................................................................................................115
Bound multiprocessing (BMP).................................................................................................117
A viable migration strategy...........................................................................................118
Choosing between AMP, SMP, and BMP...................................................................................119
Chapter 6: Process Manager...............................................................................................................121
Process management..............................................................................................................122
Process primitives.......................................................................................................122
Process loading...........................................................................................................126
Memory management.............................................................................................................127
Memory Management Units (MMUs).............................................................................127
Memory protection at run time.....................................................................................128
Quality control............................................................................................................129
Full-protection model..................................................................................................130
Locking memory..........................................................................................................131
Pathname management..........................................................................................................133
Resolving pathnames...................................................................................................133
Symbolic prefixes........................................................................................................137
File descriptor namespace...........................................................................................139
Chapter 7: Dynamic Linking...............................................................................................................143
How shared objects are used...................................................................................................145
Memory layout for a typical process..............................................................................146
Runtime linker............................................................................................................146
Loading a shared library at runtime...............................................................................147
Symbol name resolution...............................................................................................148
Chapter 8: Resource Managers...........................................................................................................149
What is a resource manager?...................................................................................................150
Why write a resource manager?.....................................................................................150
The types of resource managers....................................................................................151
Communication via native IPC......................................................................................152
Resource manager architecture...............................................................................................154
Message types............................................................................................................154
The resource manager shared library.............................................................................155
Summary..............................................................................................................................160
Chapter 9: Filesystems......................................................................................................................161
Filesystems and pathname resolution.......................................................................................162
Filesystem classes..................................................................................................................163
Filesystems as shared libraries.....................................................................................163
io-blk...................................................................................................................164
Filesystem limitations..................................................................................................167
Image filesystem....................................................................................................................168
QNX
®
Neutrino
®
RTOS
剩余311页未读,继续阅读
资源评论
guetcw
- 粉丝: 181
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功