第1章 绪论 1
1.1 汽车司机的例子 2
1.2 实时计算中的问题 4
1.3 实时系统的结构 6
1.4 任务分类 7
1.5 本书内容 8
第2章 实时系统的特征及其任务 11
2.1 引言 11
2.2 实时系统的性能度量指标 11
2.3 估计程序运行时间 23
2.4 深入阅读的建议 33
第3章 任务分配和调度 37
3.1 引言 37
3.2 经典的单处理器调度算法 43
3.3 IRIS任务的单处理器调度 88
3.4 任务分配 100
3.5 模式转换 116
3.6 容错调度 118
3.7 深入阅读的建议 122
第4章 编程语言与工具 127
4.1 引言 127
4.2 需求语言特性 127
4.3 数据类型 131
4.4 控制结构 134
4.5 促进层化分解 136
4.6 封装 138
4.7 运行错误(异常)处理 142
4.8 重载和普通类 146
4.9 多任务 147
4.10 低级语言编程 155
4.11 任务调度 156
4.12 定时规范 158
4.13 一些实验语言 159
4.14 编程环境 162
4.15 实时支持 167
4.16 深入阅读的建议 168
第5章 实时数据库 171
5.1 引言 171
5.2 基本定义 171
5.3 实时数据库与通用数据库 172
5.4 主内存数据库 177
5.5 事务优先级 179
5.6 事务中断 182
5.7 并发控制问题 182
5.8 磁盘调度算法 188
5.9 提高预测能力的二阶段法 191
5.10 串行一致性的保持 194
5.11 硬实时系统数据库 197
5.12 深入阅读的建议 201
第6章 实时通信 205
6.1 引言 205
6.2 网络拓扑 209
6.3 协议 217
6.4 深入阅读的建议 249
第7章 容错技术 253
7.1 引言 253
7.2 导致故障发生的原因 255
7.3 故障类型 257
7.4 故障检测 259
7.5 故障和差错的容忍 260
7.6 冗余技术 261
7.7 数据差异性 283
7.8 逆向检查 284
7.9 恶意的或者是拜占庭式的故障 284
7.10 完整的故障处理 289
7.11 深入阅读的建议 290
第8章 可靠性评估技术 295
8.1 引言 295
8.2 参数值的获取 295
8.3 硬件冗余的可靠性模型 298
8.4 软件错误模型 314
8.5 考虑时间因素 319
8.6 深入阅读的建议 321
第9章 时钟同步 325
9.1 引言 325
9.2 时钟 325
9.3 一个无容错同步算法 329
9.4 故障的影响 332
9.5 硬件实现的容错同步 334
9.6 软件同步 347
9.7 深入阅读的建议 359
附录 建模方法的回顾 362
A.1 基本概率论的复习 362
A.2 Z变换和Laplace变换 364
A.3 一些重要的概率分布函数 367
A.4 马尔可夫建模的基础 374
A.5 排队论的简单介绍 393
A.6 深入阅读的建议 396