图书介绍
实时系统与编程语言PDF|Epub|txt|kindle电子书版本网盘下载
![实时系统与编程语言](https://www.shukui.net/cover/26/30830549.jpg)
- (英)Alan Burns ,(英)Andy Wellings著;王振宇,陈利等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111139879
- 出版时间:2004
- 标注页数:578页
- 文件大小:42MB
- 文件页数:596页
- 主题词:实时操作系统;程序语言
PDF下载
下载说明
实时系统与编程语言PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录1
出版者的话1
专家指导委员会1
译者序1
前言1
第1章 实时系统引论1
1.1 实时系统的定义1
1.2 实时系统的例子2
1.2.1 过程控制2
1.2.2 制造业3
1.2.3 通信、指挥与控制4
1.3.1 大且复杂5
1.3 实时系统的特征5
1.2.4 广义嵌入式计算机系统5
1.3.2 实数处理6
1.3.3 极其可靠和安全7
1.3.4 独立系统部件的并发控制7
1.3.5 实时设施8
1.3.6 同硬件接口的交互8
1.3.7 高效的实现和执行环境9
小结9
相关阅读材料9
第2章 设计实时系统11
2.1 记号系统的级别12
2.2 需求规格说明12
2.3.1 封装13
2.3 设计活动13
2.3.2 内聚和耦合14
2.3.3 形式化方法14
2.4 设计方法15
2.4.1 JSD16
2.4.2 Mascot317
2.4.3 HRT-HOOD18
2.4.4 统一建模语言(UML)19
2.5 实现19
2.5.1 汇编语言20
2.5.2 顺序系统实现语言20
2.5.3 高级并发编程语言20
2.5.4 通用语言设计标准21
2.6 测试22
2.7 原型建造23
2.8 人机交互24
2.9 设计的管理25
小结26
相关阅读材料27
练习27
第3章 小型编程29
3.1 Ada、Java、C和occam2概述29
3.2 词法约定29
3.3 整体风格30
3.4 数据类型31
3.4.1 离散类型32
3.4.2 实数33
3.4.3 结构化数据类型35
3.4.4 动态数据类型和指针37
3.4.5 文件39
3.5 控制结构39
3.5.1 顺序结构39
3.5.2 判断结构40
3.5.3 循环结构43
3.6 子程序46
3.6.1 参数传递模式和机制46
3.6.2 过程47
3.6.3 函数49
3.6.4 子程序指针50
3.6.5 插入式展开51
小结51
相关阅读材料52
练习52
第4章 大型编程55
4.1 信息隐藏55
4.2 分别编译59
4.3 抽象数据类型60
4.4 面向对象编程61
4.4.1 OOP和Ada62
4.4.2 OOP和Java65
4.4.3 继承和Java66
4.4.4 对象类69
4.5.1 Ada类属编程70
4.5 可重用性70
4.5.2 Java中的接口73
小结75
相关阅读材料76
练习76
第5章 可靠性和容错77
5.1 可靠性、失效和故障78
5.2 失效模式79
5.3 故障预防与容错80
5.3.1 故障预防80
5.3.2 容错81
5.4 N版本程序设计82
5.3.3 冗余82
5.4.1 表决比较84
5.4.2 N版本程序设计的主要问题85
5.5 软件动态冗余86
5.5.1 出错检测86
5.5.2 损害隔离和评估87
5.5.3 出错恢复88
5.5.4 故障处理和继续服务90
5.6 软件容错的恢复块方法90
5.7 N版本程序设计和恢复块的比较92
5.8 动态冗余和异常93
5.9 软件可靠性的测量和预测95
5.10 安全性、可靠性和可依赖性95
小结97
练习98
相关阅读材料98
第6章 异常和异常处理101
6.1 老式实时语言中的异常处理101
6.1.1 反常返回值101
6.1.2 强迫性分支102
6.1.3 非局部go to102
6.1.4 过程变量103
6.2 现代异常处理104
6.2.1 异常及其表示104
6.2.2 异常处理程序的定义域105
6.2.4 恢复模型与终止模型的对比107
6.2.3 异常传播107
6.3 Ada、Java和C中的异常处理110
6.3.1 Ada110
6.3.2 Java117
6.3.3 C123
6.4 其他语言中的异常处理124
6.4.1 CHILL124
6.4.2 CLU125
6.4.3 Mesa126
6.4.4 C++126
6.5 恢复块和异常127
小结129
练习130
相关阅读材料130
第7章 并发编程135
7.1 进程概念135
7.2 并发执行138
7.3 进程表示140
7.3.1 合作例程140
7.3.2 分叉与汇合140
7.3.3 cobegin142
7.3.4 显式进程声明142
7.3.5 occam2的并发执行143
7.3.6 Ada的并发执行144
7.3.7 Java的并发执行148
7.3.8 Ada、Java和occam2的比较154
7.3.9 POSIX的并发执行155
7.4 一个简单的嵌入式系统159
小结164
相关阅读材料165
练习165
第8章 基于共享变量的同步和通信169
8.1 互斥和条件同步169
8.2 忙等待170
8.3 挂起和恢复175
8.4 信号量177
8.4.1 挂起进程179
8.4.2 实现180
8.4.3 活性181
8.4.5 Ada信号量编程举例182
8.4.4 二元信号量和定量信号量182
8.4.6 使用C和POSIX的信号量编程184
8.4.7 对信号量的批评186
8.5 条件临界区186
8.6 管程187
8.6.1 Modula-l189
8.6.2 Mesa190
8.6.3 POSIX互斥锁和条件变量192
8.6.4 嵌套管程调用194
8.6.5 对管程的批评194
8.7 保护对象195
8.7.1 入口调用和屏障197
8.7.2 保护对象和标记类型199
8.8 同步方法200
8.8.1 等待和通知201
8.8.2 继承和同步206
小结208
相关阅读材料210
练习210
第9章 基于消息的同步与通信219
9.1 进程同步219
9.2 进程指名和消息结构220
9.3 Ada和occam2的消息传递语义221
9.3.1 occam2模型221
9.3.2 Ada模型222
9.3.3 异常处理和会合225
9.4.1 occam2的ALT226
9.4 选择性等待226
9.4.2 Ada的Select语句230
9.4.3 不确定性、选择性等待和同步原语232
9.5 POSIX消息233
9.6 CHILL语言236
9.7 远程过程调用238
小结239
相关阅读材料240
练习240
第10章 原子动作、并发进程和可靠性247
10.1 原子动作247
10.1.1 两阶段原子动作248
10.1.3 对原子动作的需求249
10.1.2 原子事务249
10.2 并发语言中的原子动作250
10.2.1 信号量251
10.2.2 管程252
10.2.3 用Ada实现原子动作253
10.2.4 用Java实现原子动作254
10.2.5 用occam2实现原子动作258
10.2.6 原子动作的语言框架259
10.3 原子动作和向后出错恢复260
10.3.1 会话260
10.3.2 对话和会谈261
10.4 原子动作和向前出错恢复262
10.4.2 异常和内部原子动作263
10.4.1 并发引发的异常的分辨263
10.5 异步通知264
10.6 POSIX信号265
10.6.1 阻塞信号267
10.6.2 处理信号267
10.6.3 忽略信号268
10.6.4 生成信号268
10.6.5 一个POSIX信号的简单例子268
10.6.6 信号和线程269
10.6.7 POSIX和原子动作270
10.7 实时Java中的异步事件处理271
10.8 Ada中的异步控制转移272
10.8.1 异常和ATC274
10.8.2 Ada和原子动作274
10.9 实时Java 中的异步控制转移281
小结291
相关阅读材料292
练习292
第11章 资源控制297
11.1 资源控制和原子动作297
11.2 资源管理298
11.3 表达能力和易用性298
11.3.1 请求类型299
11.3.3 服务器状态301
11.3.4 请求参数301
11.3.2 请求顺序301
11.3.5 请求者优先级305
11.3.6 小结306
11.4 重排队设施306
11.4.1 重排队的语义309
11.4.2 重排队到其他入口310
11.5 不对称指名和安全性312
11.6 资源的使用313
11.7 死锁313
11.7.1 死锁发生的必要条件313
11.7.2 处理死锁的方法314
小结316
练习317
相关阅读材料317
第12章 实时设施321
12.1 时间的概念321
12.2 时钟访问323
12.2.1 occam2 中的TIMER323
12.2.2 Ada的时钟包324
12.2.3 实时Java中的时钟326
12.2.4 C和POSIX中的时钟329
12.3 进程延迟330
12.3.1 相对延迟330
12.3.2 绝对延迟330
12.4 超时的编程332
12.4.1 共享变量通信和超时332
12.4.2 消息传递和超时333
12.4.3 动作上的超时337
12.5 规定时间性需求339
12.6 时序作用域340
12.7 时序作用域的语言支持342
12.7.1 Ada、occam2和C/POSIX343
12.7.2 实时Euclid和Pearl344
12.7.3 实时Java346
12.7.4 DPS349
12.7.5 Esterel350
12.8 容错351
12.8.1 时间性错误检测和向前出错恢复352
12.8.2 时间性错误检测和向后出错恢复358
12.8.3 模式改变和基于事件的重配置359
小结361
相关阅读材料362
练习363
第13章 调度365
13.1 简单进程模型365
13.2 循环执行方法366
13.3 基于进程的调度368
13.3.1 调度方法368
13.3.2 抢占和非抢占368
13.3.3 FPS和速率单调优先级分配368
13.4 基于利用率的可调度性测试369
13.5 FPS的响应时间分析372
13.6 EDF的响应时间分析375
13.7 最坏情况执行时间376
13.8.1 硬进程和软进程377
13.8 偶发和非周期进程377
13.8.3 非周期进程和EDF服务器378
13.8.2 非周期进程和固定优先级服务器378
13.9 D<T的进程系统379
13.10 进程交互和阻塞380
13.11 高限优先级协议383
13.11.1 立即高限优先级协议385
13.11.2 高限协议、互斥和死锁385
13.11.3 阻塞和EDF386
13.12 一个可扩充的进程模型386
13.12.1 合作调度386
13.12.2 启动抖动387
13.12.3 任意的时限389
13.12.5 引入偏移量390
13.12.4 容错390
13.12.6 优先级分配392
13.13 动态系统和联机分析392
13.14 基于优先级系统的编程393
13.14.1 Ada394
13.14.2 POSIX397
13.14.3 实时Java399
13.14.4 实时Java的其他设施402
小结402
相关阅读材料403
练习404
14.1 分布式系统的定义409
第14章 分布式系统409
14.2 论题一览411
14.3 语言支持412
14.3.1 远程过程调用412
14.3.2 分布式对象模型413
14.4 分布式编程系统和环境413
14.4.1 occam2414
14.4.2 Ada416
14.4.3 Java419
14.4.4 CORBA421
14.5 可靠性423
14.5.1 开放系统互连424
14.5.3 轻量级协议和局域网426
14.5.2 TCP/IP层426
14.5.4 组通信协议427
14.5.5 处理器失效428
14.6 分布式算法432
14.6.1 分布式环境中的事件排序432
14.6.2 全局时间的实现433
14.6.3 实现稳定存储434
14.6.4 故障性进程出现时达成一致435
14.7 分布式环境中的时限调度437
14.7.1 分配437
14.7.2 调度对通信链路的访问439
14.7.3 整体调度441
小结442
练习444
相关阅读材料444
第15章 低级编程447
15.1 硬件输入/输出机制447
15.1.1 状态驱动448
15.1.2 中断驱动448
15.1.3 中断驱动设备所需的要素449
15.1.4 一个简单的I/O系统的例子451
15.2 语言要求452
15.2.1 模块性和封装设施452
15.2.2 设备处理的抽象模型453
15.3 Modula-1454
15.3.1 设备寄存器的寻址和操纵454
15.3.2 中断处理455
15.3.3 一个终端驱动程序的例子456
15.3.4 Modula-1设备驱动方法的问题459
15.4 Ada460
15.4.1 设备寄存器的寻址和操作460
15.4.2 中断处理462
15.4.3 一个简单的驱动程序的例子464
15.4.4 通过特别指令访问I/O设备467
15.5 实时Java468
15.5.1 设备寄存器的寻址和操纵468
15.5.2 中断处理470
15.6 occam2470
15.6.1 一个设备驱动程序的例子472
15.7 C和老式实时语言476
15.6.2 occam2设备驱动的困难476
15.8 设备驱动程序的调度477
15.9 存储管理479
15.9.1 堆管理479
15.9.2 栈管理484
小结484
相关阅读材料485
练习485
第16章 执行环境491
16.1 执行环境的作用491
16.2 剪裁执行环境493
16.2.1 Ada中的受限任务493
16.3 调度模型495
16.2.2 POSIX495
16.3.1 非微小的上下文切换时间的建模496
16.3.2 偶发进程的建模497
16.3.3 实时时钟处理程序的建模497
16.3.4 高速缓存对最坏情况执行时间分析的影响499
16.4 硬件支持499
16.4.1 传输机和occam2500
16.4.2 ATAC和Ada500
小结501
相关阅读材料501
练习502
17.1 矿井排水503
17.1.1 功能需求503
第17章 Ada案例研究503
17.1.2 非功能需求504
17.2 HRT-HOOD设计方法506
17.3 逻辑体系结构设计506
17.3.1 第一级分解507
17.3.2 水泵控制器507
17.3.3 环境监控器509
17.3.4 数据记录器和操作员控制台509
17.4 物理体系结构设计509
17.5 翻译到Ada511
17.5.1 水泵控制器对象512
17.5.2 环境监控520
17.5.3 气流传感器处理对象523
17.5.4 CO传感器处理对象524
17.5.5 数据记录器525
17.5.6 操作员控制台526
17.6 容错和分布526
17.6.1 设计错误526
17.6.2 处理器和通信失效527
17.6.3 其他硬件失效527
小结528
相关阅读材料528
练习528
第18章 结论529
附录 实时Java规格说明533
参考文献553
索引565