《操作系统原理与实践教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:李红卫,郭庆军,殷常鸿编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2008
  • ISBN:9787030221711
  • 页数:263 页
图书介绍:本书从实践的角度出发,系统地阐述了计算机操作系统的基本理论和实现技术,并设计开发了一个简单的基于Intel80x86CPU实模式多任务微型操作系统——MOS,将理论学习和实践应用有机地整合在一起。全书共计12章,前7章内容包括操作系统概述、进程与线程、进程同步与死锁、存储管理、设备管理、文件系统和操作系统安全;后5章介绍了MOS微型操作系统的开发过程,通过编写操作系统,对系统引导与初始化、处理机与进程管理实践、存储管理实践、文件系统实践和设备管理实践等方面的设计与实现进行了详细的分析。

第1章 操作系统概述 1

1.1计算机系统概述 1

1.1.1计算机硬件系统 1

1.1.2计算机软件系统 3

1.1.3计算机系统的层次结构 3

1.2操作系统概述 4

1.2.1操作系统的定义 4

1.2.2操作系统的功能 5

1.3操作系统的发展 6

1.3.1无操作系统的计算机 6

1.3.2批处理阶段 7

1.3.3操作系统的形成 9

1.3.4操作系统的发展方向 9

1.4操作系统的分类 9

1.4.1多道批处理系统 10

1.4.2分时系统 10

1.4.3实时系统 11

1.4.4个人计算机操作系统 12

1.4.5嵌入式操作系统 12

1.4.6多处理机操作系统 12

1.4.7 网络操作系统 13

1.4.8分布式操作系统 13

1.5操作系统结构 14

1.5.1单体结构 14

1.5.2层次结构模型 14

1.5.3虚拟机结构 15

1.5.4客户机/服务器模型与微核结构 15

1.6操作系统的特性及性能评价 16

1.6.1操作系统的特性 16

1.6.2操作系统的主要性能指标 17

小结 18

思考与练习题 19

第2章 进程与线程 20

2.1进程概述 20

2.1.1程序与计算 20

2.1.2进程的定义 21

2.1.3进程与程序的联系与区别 21

2.1.4进程的特征 22

2.2进程的状态和进程控制块 22

2.2.1进程的状态 22

2.2.2进程控制块 25

2.2.3进程控制块的组织 26

2.3进程控制 27

2.4线程 28

2.4.1线程的概念 28

2.4.2线程与进程的比较 29

2.4.3线程的实现 30

2.5处理机调度 32

2.5.1作业调度 32

2.5.2交换调度 36

2.5.3进程调度 37

小结 42

思考与练习题 43

第3章 进程同步与死锁 44

3.1进程的互斥与同步 44

3.1.1临界资源和临界区 45

3.1.2进程互斥的实现 46

3.1.3进程同步的实现 51

3.1.4经典的同步与互斥问题 53

3.1.5管程 59

3.2进程通信 61

3.2.1共享存储区 61

3.2.2消息通信 62

3.2.3管道通信 62

3.3死锁 63

3.3.1死锁的概念 63

3.3.2死锁产生的原因和必要条件 64

3.3.3解决死锁问题的基本方法 65

3.3.4死锁的预防 66

3.3.5死锁的避免 67

3.3.6死锁的检测和解除 70

3.3.7饥饿 72

小结 72

思考与练习题 73

第4章 存储管理 75

4.1存储管理概述 75

4.1.1计算机存储系统分层结构 75

4.1.2用户程序的处理过程 76

4.1.3存储管理的基本概念 77

4.2分区存储管理 79

4.2.1单一连续区存储管理 79

4.2.2固定分区存储管理 79

4.2.3可变式分区存储管理 80

4.2.4内存碎片与移动 83

4.3覆盖与交换 84

4.3.1覆盖 84

4.3.2交换 84

4.4分页式存储管理 85

4.4.1分页式存储器的基本原理 85

4.4.2分页式存储管理的地址映射 86

4.4.3联想存储器和快表 87

4.4.4多级页表 87

4.5请求页式存储管理 89

4.5.1虚拟存储器的原理 89

4.5.2请求页式原理 89

4.5.3请求页式存储器的地址映射 90

4.5.4页面置换算法 91

4.5.5系统抖动 92

4.5.6请求页式存储管理性能分析 93

4.6分段式存储管理 94

4.6.1分段存储器的原理 94

4.6.2分段存储器地址映射 94

4.6.3分段和分页的比较 95

4.7段页式存储管理 95

小结 96

思考与练习题 97

第5章 设备管理 98

5.1 I/O系统的硬件 98

5.1.1 I/O系统的结构 98

5.1.2设备的类型 99

5.1.3设备控制器 100

5.1.4通道 101

5.1.5 I/O控制方式 103

5.2 I/O系统的软件 105

5.2.1 I/O软件的设计目标 105

5.2.2中断处理程序 105

5.2.3设备无关性软件 106

5.2.4用户空间的I/O软件 107

5.2.5 I/O软件的层次结构 107

5.3缓冲技术 108

5.3.1缓冲的引入 108

5.3.2单缓冲 108

5.3.3双缓冲 109

5.3.4循环缓冲 109

5.3.5缓冲池 110

5.4设备分配 112

5.4.1设备分配的原则与策略 112

5.4.2设备分配的数据结构 113

5.4.3设备的分配流程 115

5.5 I/O控制 115

5.5.1 I/O控制的概念 115

5.5.2 I/O控制的功能 115

5.5.3 I/O控制的实现 116

5.5.4设备驱动程序 116

5.6虚拟设备 117

5.6.1虚拟设备的概念 117

5.6.2 SPOOLing系统 118

5.7硬盘管理 119

5.7.1硬盘的结构与原理 119

5.7.2硬盘的性能参数 121

5.7.3硬盘调度算法 122

5.7.4磁盘调度算法的比较 124

5.7.5 RAID 125

小结 127

思考与练习题 128

第6章 文件系统 130

6.1文件系统概述 130

6.1.1文件的概念 130

6.1.2文件系统 132

6.2文件的结构与存取方法 134

6.2.1文件的逻辑结构 134

6.2.2文件的物理结构 135

6.2.3文件的存取方法 137

6.3辅存空间管理 138

6.3.1辅存空间分配 138

6.3.2空闲空间管理 141

6.4文件目录管理 144

6.4.1文件目录概念 144

6.4.2文件目录结构 145

6.4.3文件目录操作 148

6.5文件的共享与保护 148

6.5.1文件的共享 149

6.5.2文件的保护 149

6.6文件系统的用户接口 150

小结 151

思考与练习题 152

第7章 操作系统安全 154

7.1操作系统安全概述 154

7.1.1操作系统的威胁源 154

7.1.2操作系统安全的含义 157

7.1.3操作系统的安全功能 157

7.1.4操作系统漏洞扫描与安全评测的概念 158

7.1.5操作系统安全评测方法 159

7.1.6操作系统安全评测准则 159

7.2操作系统的安全机制 161

7.2.1硬件安全 162

7.2.2标识与鉴别 163

7.2.3访问控制 163

7.2.4密码技术 166

7.2.5监控与审计日志 167

小结 167

思考与练习题 168

第8章 引导程序的设计 169

8.1 PC机启动过程 169

8.2引导程序的设计 170

8.2.1 FAT文件系统 170

8.2.2内存的布局 175

8.2.3引导程序的设计 175

8.2.4引导程序的设计实践 177

8.2.5在虚拟机环境中引导系统 181

8.3一个简单的命令处理程序设计 181

8.3.1EXE可执行文件格式 182

8.3.2EXE启动代码 183

8.3.3 MOS命令处理程序的处理过程 184

8.3.4 MOS命令处理程序的实践 184

8.4 MOS操作系统的层次结构 189

小结 189

实践题 190

第9章 进程管理实践 191

9.1 MOS系统进程管理概述 191

9.1.1进程的调度算法 191

9.1.2进程状态的变化及进程控制块 192

9.1.3实现进程控制的全局变量 193

9.1.4系统调用的实现 194

9.1.5进程上下文切换 195

9.1.6进程堆栈初始化 195

9.1.7 MOS系统进程控制 196

9.1.8 IDLE进程的设计 197

9.1.9用户进程优先级 198

9.2时钟中断处理程序 199

9.2.1与时钟相关的概念 199

9.2.2 8253/8254可编程定时/计数器 199

9.2.3时钟中断处理程序的设计 200

9.2.4与时间相关的函数介绍 202

9.2.5进程管理初始化 203

9.3进程状态变迁实践 203

9.3.1用户系统调用接口 203

9.3.2用户应用程序的设计 204

9.3.3用户应用程序的实践 204

9.4进程的同步与互斥 206

9.4.1信号量的实现 206

9.4.2用户系统调用接口 207

9.4.3利用信号量实现进程互斥的实践 208

9.4.4利用信号量实现进程同步的实践 211

小结 214

实践题 214

第10章 存储管理实践 215

10.1 MOS存储管理概述 215

10.1.1 MOS系统存储管理 215

10.1.2 MOS系统内存管理系统调用 216

10.1.3内存管理初始化 217

10.2 MOS存储管理实践 217

10.2.1用户系统调用接口 217

10.2.2内存分配与回收实践 218

小结 220

实践题 221

第11章 文件系统实践 222

11.1 MOS文件系统概述 222

11.1.1 MOS文件系统数据结构的定义 222

11.1.2文件系统调用功能 223

11.2 MOS文件系统实践 226

11.2.1用户系统调用接口 226

11.2.2写文件应用程序的实践 227

11.2.3读文件应用程序的实践 230

小结 233

实践题 233

第12章 设备管理实践 234

12.1 PC机中断系统简介 234

12.1.1中断原理 234

12.1.2 PC机中断子系统 236

12.1.3中断向量表 236

12.2异步串行通信适配器INS 8250简介 236

12.3 MOS系统的异步串行通信 239

12.3.1设备管理数据结构 239

12.3.2串行通信设备的初始化及串口中断处理程序 240

12.3.3串行通信设备管理系统调用 240

12.4 MOS系统的异步串行通信实践 241

12.4.1用户系统调用接口 241

12.4.2异步通信实践 242

小结 246

实践题 246

附录A常用工具的用法 247

A.1 NASM汇编器 247

A.1.1 NASM汇编器的介绍 247

A.1.2 NASM用法与MASM的区别 247

A.2 Bochs介绍 248

A 2.1 Bochs的安装 248

A 2.2设置Bochs系统 248

A.2.3 Bochs常用调试命令 249

A.3 MOS系统中用到的Borland C++函数介绍 251

附录B MOS系统开发环境的建立 255

B.1 MOS软硬件环境 255

B.2软件的安装 255

B.3创建映像文件 256

B.3.1利用Bochs软件自带的Image生成工具 256

B.3.2利用WinImage创建DOS格式软盘映像文件 257

附录C MOS软件包目录结构 258

附录D BIOS功能调用 261

D.1 T 0x10视频服务功能表 261

D.2 T 0x13磁盘服务功能 262

主要参考文献 263