嵌入式操作系统基础μC/OS-II和LinuxPDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:任哲,潘树林,房红征编著
- 出 版 社:北京:北京航空航天大学出版社
- 出版年份:2006
- ISBN:7810778978
- 页数:422 页
第1章 操作系统的基本概念 1
1.1 计算机操作系统 1
1.1.1 什么是计算机操作系统 1
1.1.2 操作系统的功能 2
1.1.3 操作系统的服务和用户接口 7
1.2 操作系统的内核是由中断驱动的 9
1.2.1 中断和中断处理 9
1.2.2 系统时钟的实现 11
1.3 进程和线程的基本概念 11
1.3.1 进程的概念 11
1.3.2 进程的结构 13
1.3.3 线程的概念 15
1.4 进程管理 16
1.4.1 进程(线程)调度 17
1.4.2 进程(线程)的同步与通信 20
1.4.3 进程的其他管理 22
1.5 存储管理 22
1.5.1 计算机存储器的层次 22
1.5.2 存储空间的段页式分区 23
1.5.3 虚拟存储器的概念 25
1.6 I/O与设备管理 26
1.6.1 I/O设备及其抽象 26
1.6.2 操作系统的设备无关性 27
1.6.3 操作系统对设备的管理 28
1.7 文件管理 29
1.7.1 文件、文件结构和文件系统 30
1.7.2 文件的管理 31
1.8 宏内核与微内核 32
1.8.1 内核 32
1.8.2 简述宏内核与微内核 33
1.9 操作系统的分类 35
1.9.1 单用户操作系统 35
1.9.2 批处理操作系统 35
1.9.3 分时操作系统 35
1.10 操作系统的Shell 36
1.9.4 实时操作系统 36
1.11 操作系统的引导和装入 37
1.12 本章小结 38
第2章 实时操作系统的基本概念 40
2.1 实时系统及其特点 40
2.1.1 什么是实时系统 40
2.1.2 实时系统的特点 42
2.2 计算机实时操作系统 43
2.2.1 实时操作系统 43
2.2.2 关于内核的可剥夺性 46
2.2.3 实时调度 47
2.2.4 实时进程的可调度性 50
2.2.5 实时系统的时钟 51
2.2.6 实时系统的存储管理 52
2.2.7 实时系统与普通系统的比较 53
2.3 本章小结 53
第3章 嵌入式系统和嵌入式实时操作系统 54
3.1 嵌入式系统的基本概念 54
3.1.1 什么是嵌入式系统 54
3.1.2 嵌入式系统的发展历程 56
3.1.3 嵌入式系统的特点 58
3.2 嵌入式实时操作系统 59
3.2.1 什么是嵌入式实时操作系统 59
3.2.2 微内核 60
3.2.3 嵌入式实时操作系统的可裁剪性及其实现 62
3.3 常见的嵌入式实时操作系统简介 63
3.3.1 常见的源码开放的嵌入式操作系统 63
3.3.2 常见的商业嵌入式操作系统 65
3.4 本章小结 67
第4章 嵌入式实时操作系统μC/OS-Ⅱ及其任务 68
4.1 μC/OS-Ⅱ概述 68
4.1.1 μC/OS-Ⅱ的特点 68
4.1.2 μC/OS-Ⅱ的文件结构 70
4.1.3 μC/OS-Ⅱ可裁剪性的实现 73
4.3 μC/OS-Ⅱ任务的存储结构 74
4.2 μC/OS-Ⅱ的任务 74
4.4 μC/OS-Ⅱ任务的状态 76
4.5 μC/OS-Ⅱ任务的优先级别 77
4.6 任务控制块 78
4.6.1 任务控制块的结构 78
4.6.2 任务控制块链表 79
4.7 任务堆栈 82
4.7.1 任务堆栈的创建 82
4.7.2 任务堆栈的初始化 85
4.8 系统任务 85
4.8.1 空闲任务 85
4.8.2 统计任务 86
4.9 临界区 87
4.10 本章小结 87
第5章 μC/OS-Ⅱ的任务管理 88
5.1 就绪任务的管理 88
5.1.1 就绪任务表的结构 88
5.1.2 就绪任务表的操作 90
5.2 任务的创建 93
5.2.1 用函数OSTaskCreate()创建任务 93
5.2.2 用函数OSTaskCreateExt()创建任务 96
5.2.3 创建任务的一般方法 97
5.3 任务的挂起和恢复 100
5.3.1 挂起任务 101
5.3.2 恢复任务 102
5.4 其他任务管理函数 103
5.4.1 任务优先级别的修改 103
5.4.2 任务的删除 103
5.4.3 查询任务的信息 106
5.5 本章小结 106
第6章 μC/OS-Ⅱ的任务调度 107
6.1 调度器OSSched()的任务调度部分 107
6.2 调度器OSSched()的任务切换部分 109
6.2.2 任务的切换 110
6.2.1 任务断点的保存 110
6.3 调度的时机 113
6.4 本章小结 113
第7章 μC/OS-Ⅱ的初始化和启动 114
7.1 μC/OS-Ⅱ的初始化 114
7.1.1 μC/OS-Ⅱ需要初始化的数据结构及全局变量 114
7.1.2 μC/OS-Ⅱ的初始化 115
7.2 μC/OS-Ⅱ的启动 117
7.3 一个示例 120
7.4 本章小结 128
8.1 μC/OS-Ⅱ的中断 129
8.1.1 μC/OS-Ⅱ的中断过程 129
第8章 μC/OS-Ⅱ的中断与时钟 129
8.1.2 中断级任务切换函数 133
8.1.3 临界段的处理 133
8.2 μC/OS-Ⅱ的时钟 135
8.3 μC/OS-Ⅱ的时间管理 137
8.3.1 任务的延时 137
8.3.2 取消任务的延时 138
8.3.3 获取和设置系统时间 140
8.4 本章小结 140
9.1 任务间的同步和事件控制块 141
9.1.1 任务间的同步 141
第9章 任务的同步与通信 141
9.1.2 事件 142
9.1.3 事件控制块 155
9.1.4 事件控制块的基本操作函数 156
9.1.5 空事件控制块链表 158
9.2 信号量及其操作 159
9.2.1 信号量 159
9.2.2 信号量的操作 160
9.3 任务优先级反转和互斥型信号量 167
9.3.1 任务优先级的反转现象 168
9.3.2 互斥型信号量 173
9.4 消息邮箱及其操作 176
9.4.1 消息邮箱 176
9.4.2 消息邮箱的操作 177
9.5 消息队列及其操作 182
9.5.1 消息队列 182
9.5.2 消息队列的操作 186
9.6 本章小结 192
第10章 信号量集 193
10.1 信号量集的结构 193
10.1.1 信号量集的标志组 193
10.1.2 等待任务链表 194
10.1.3 对等待任务链表的操作 196
10.2.1 创建信号量集 198
10.2 信号量集的操作 198
10.2.2 请求信号量集 200
10.2.3 向信号量集发送信号 200
10.2.4 查询信号量集的状态 201
10.2.5 删除信号量集 201
10.3 本章小结 201
第11章 μC/OS-Ⅱ的内存管理 202
11.1 内存控制块 202
11.1.1 内存的划分 202
11.1.2 内存控制块OS_MEM的结构 203
11.1.3 空内存控制块链表 204
11.2 内存的管理 204
11.2.1 创建内存分区 205
11.2.2 请求获得一个内存块 207
11.2.3 释放一个内存块 209
11.2.4 查询一个内存分区的状态 210
11.3 本章小结 210
第12章 关于μC/OS-Ⅱ的其他问题 211
12.1 关于μC/OS-Ⅱ的几个问题 211
12.1.1 μC/OS-Ⅱ只是一个微内核 211
12.1.2 关于μC/OS-Ⅱ的Shell 211
12.2 μC/OS-Ⅱ在PC机上的测试台 212
12.3 μC/OS-Ⅱ在PC机上的移植 213
12.3.1 任务切换函数OSCtxSw() 213
12.3.2 任务切换宏OS_TASK_SW() 214
12.3.3 中断级任务切换函数OSIntCtxSw() 215
12.3.4 PC机中DOS的系统时钟 217
12.3.5 PC机中μC/OS-Ⅱ的系统时钟 217
12.3.6 μC/OS-Ⅱ系统时钟中断服务程序 218
12.3.7 在任务中安装μC/OS-Ⅱ系统时钟的中断向量 219
12.3.8 在任务中由μC/OS-Ⅱ返回DOS环境 219
12.4 本章小结 220
第13章 基于ARM的μC/OS-Ⅱ 221
13.1 移植规划 221
13.1.1 编译器的选择 221
13.1.2 ARM7工作模式的选择 221
13.2.1 文件OS_CPU.H的编写 222
13.2 移植 222
13.2.2 文件OS_CPU_C.C的编写 224
13.2.3 文件OS_CPU_A.S的编写 230
13.2.4 关于中断及时钟节拍 233
13.3 移植μC/OS-Ⅱ到LPC2000 235
13.3.1 挂接SWI软件中断 236
13.3.2 中断及时钟节拍中断 236
13.3.3 一个基于μC/OS-Ⅱ和ARM的应用程序实例 237
13.4 本章小结 239
14.1 Linux系统简介 240
14.1.1 Linux系统的发展 240
第14章 Linux基础知识 240
14.1.2 Linux系统的结构 241
14.1.3 Linux系统的特点 241
14.1.4 Linux内核的版本号 243
14.1.5 Linux的一些商业版 243
14.2 Linux系统的嵌入式应用 244
14.3 Linux中的C语言和汇编语言 247
14.3.1 Linux中的C语言 247
14.3.2 Linux中的汇编语言 248
14.4 Linux的链表数据结构 249
14.4.1 Linux链表的设计思想 250
14.4.2 链表头的创建及链表节点的插入 251
14.4.3 链表节点的访问 253
14.4.4 链表的其余操作的宏和函数 254
14.4.5 哈希链表 255
14.4.6 RCU(Read-Copy Update) 256
14.5 本章小结 256
第15章 Linux的进程 257
15.1 Linux的进程 257
15.1.1 Linux进程的状态 257
15.1.2 Linux用户进程的组成 258
15.1.3 Linux的进程控制块 259
15.2 Linux进程的创建 261
15.2.1 系统调用fork() 262
15.2.2 系统调用execve() 265
15.2.3 系统调用exit() 266
15.2.4 系统调用wait() 267
15.2.5 系统调用vfork() 267
15.3 Linux的进程调度 268
15.3.1 进程的运行队列 268
15.3.2 调度原则 268
15.3.3 普通进程的调度策略 269
15.3.4 实时进程的调度策略 272
15.3.5 Linux的调度时机 273
15.3.6 Linux调度的实时性 273
15.4.2 优化了的优先级计算方法 274
15.4 Linux 2.6对调度器的改进 274
15.4.1 就绪进程队列runqueue 274
15.5 本章小结 277
第16章 Linux的内存管理 278
16.1 内存管理的目标 278
16.2 虚拟内存 279
16.2.1 虚拟内存的概念 279
16.2.2 Linux的虚拟内存技术 284
16.2.3 Linux的页表结构 290
16.3 Linux虚拟内存空间的结构 291
16.3.1 Linux虚拟内存的用户空间 292
16.3.2 Linux虚拟内存的内核空间 296
16.4.1 Linux描述物理内存的数据结构 299
16.4 Linux的物理内存结构及管理 299
16.4.2 Linux进程与物理内存的关系 300
16.5 进程与虚拟内存和物理内存的关系 301
16.6 物理内存的分配与回收 301
16.6.1 物理页框的分配 302
16.6.2 物理页框的回收 303
16.6.3 守护进程 304
16.7 Linux内存管理的总貌 304
16.8 内核空间的slab分配模式 305
16.9 本章小结 308
17.1.1 文件的基本概念 309
第17章 Linux的文件系统 309
17.1 文件及文件系统 309
17.1.2 文件系统的一般结构 310
17.2 文件的存储方式 311
17.2.1 文件存储的物理结构 311
17.2.2 链接分配方式 311
17.2.3 文件的索引分配方式 313
17.2.4 空闲空间的管理 313
17.3 目录文件及其结构 314
17.3.1 一体化目录文件 314
17.3.2 分立式目录文件 315
17.4.1 常用的文件系统 316
17.4 常用的文件系统及文件系统的基本组成 316
17.4.2 文件系统基本组成与实现 317
17.5 Ext2文件系统 317
17.5.1 Ext2的索引节点 317
17.5.2 Ext2的目录及目录项 320
17.5.3 Ext2文件系统在外存上的存储结构 322
17.5.4 Ext2文件的操作函数集 325
17.6 Linux的虚拟文件系统 325
17.6.1 虚拟文件系统的基本概念 325
17.6.2 VFS的超级块 327
17.6.3 VFS的dentry结构 328
17.6.4 VFS的i节点 330
17.6.5 VFS与实际文件系统的关系 331
17.7 文件的页缓冲区 332
17.8 文件系统的注册、安装与卸载 333
17.9 Linux的proc文件系统 336
17.9.1 proc文件系统的作用 336
17.9.2 proc文件系统的安装 337
17.10 文件系统与进程的关联 337
17.10.1 进程与其打开文件的关系 337
17.10.2 进程与文件系统的关系 340
17.10.3 进程与文件系统及其所打开文件的关系 340
17.12 本章小结 341
17.11 VFS的操作界面 341
第18章 Linux的中断、时钟和系统调用 343
18.1 Linux外部中断程序的前半部分和后半部分 343
18.2 Linux的外部中断及其前半部分的执行 344
18.2.1 中断通道 344
18.2.2 中断源及中断服务例程 345
18.2.3 中断请求队列 345
18.2.4 通道的中断处理程序IRQn_interrupt 349
18.3 Linux中断后半部分的执行 352
18.3.1 历史上的bottom half 352
18.3.2 任务队列 354
18.3.3 Linux的小任务机制 356
18.3.4 软中断 359
18.4 Linux的时钟与时间系统 361
18.4.1 时钟及时钟中断 361
18.4.2 Linux的时间系统 362
18.5 Linux的系统调用 362
18.5.1 系统调用接口、系统调用例程和内核服务例程的概念 363
18.5.2 系统调用接口、系统调用例程和内核服务例程的实现 364
18.5.3 内核服务例程与系统调用接口 367
18.5.4 用户自定义系统调用例程 367
18.6 本章小结 368
第19章 Linux模块简介 370
19.1 模块的基本概念 370
19.1.1 什么是模块 370
19.1.2 模块示例 371
19.2 Linux模块的实现机制 373
19.2.1 可移出符号 373
19.2.2 模块的引用计数器 374
19.2.3 模块的结构 374
19.2.4 modutils程序 375
19.3 本章小结 375
20.1.1 设备的标识 376
20.1.2 块设备和字符设备 376
第20章 Linux的设备驱动基础 376
20.1 外部设备的基本概念 376
20.1.3 外部设备的硬件接口 377
20.1.4 外部设备与处理器的联络方式 378
20.2 设备驱动程序的基本概念 378
20.2.1 设备驱动程序的函数跳转表 378
20.2.2 设备驱动程序中的中断服务程序 379
20.2.3 Linux的设备驱动程序应是一个内核模块 379
20.3 字符设备驱动程序的注册 381
20.4 设备驱动程序对存储器的使用 382
20.5 设备文件 382
20.5.1 设备文件的基本概念 382
20.5.3 设备文件及操作接口 383
20.5.2 设备文件与设备驱动程序之间的关系 383
20.6 本章小结 384
第21章 Linux进程的同步与通信 385
21.1 管道 385
21.1.1 匿名管道 385
21.1.2 命名管道 390
21.2 信号 390
21.2.1 信号的基本概念 391
21.2.2 进程对信号的响应 391
21.2.3 信号的安装 392
21.2.4 信号的发送 393
21.3.1 System V IPC 394
21.2.5 可靠信号与不可靠信号 394
21.3 System V IPC机制 394
21.3.2 消息队列 396
21.3.3 共享内存 400
21.3.4 信号量集 402
21.4 本章小结 403
第22章 μCLinux简介 405
22.1 Linux在嵌入式应用中的局限 405
22.2 μCLinux的架构 406
22.3 μCLinux的内存管理 407
22.3.1 无MMU的内存管理 407
22.3.2 内存管理的Flat模式 407
22.3.3 内存管理模块的启动与初始化 408
22.3.4 Flat可执行文件格式 409
22.4 μCLinux的文件系统 409
22.4.1 romfs文件系统 410
22.4.2 ramfs文件系统 413
22.4.3 闪存与JFFS2文件系统 414
22.5 μCLinux的开发环境 420
22.5.1 GNU开发套件 420
22.5.2 μCLinux的打印终端 420
22.5.3 交叉编译调试工具 420
22.6 本章小结 421
参考文献 422
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《红树林》莫言著 2019
- 《物联网与嵌入式技术及其在农业上的应用》马德新 2019
- 《细菌蛋白分泌系统研究方法与操作规程》(法)劳雷·詹来特,埃里克·卡斯卡莱斯编者;褚怡,崔改泵责编郑福英,宫晓炜,陈启伟,刘永生译者 2019
- 《云架构操作系统基础 Red Hat Enterprise Linux 7》李贺华 2018
- 《痘病毒学及痘苗病毒实验操作指南 2012》(美)斯图亚特·N.艾萨克斯 2019
- 《大气二次污染手工监测标准操作程序》袁鸾,岳玎利,郁建珍,钟流举 2019
- 《中国食品药品检验检测技术系列丛书 中国药品检验标准操作规范 2019版》中国食品药品检定研究院 2019
- 《中小学机器人 教学程序与操作指南 中》刘清明主编 2019
- 《家庭营养操作流程》王新颖,黄迎春主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019