《操作系统》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:罗宇,邹鹏,邓胜兰等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121261213
  • 页数:318 页
图书介绍:本书是“十二五”普通高等教育本科国家级规划教材和国防科技大学国家精品课程主讲教材。本书以多道程序技术为基础,以通用操作系统主要功能部件为主线,介绍操作系统的概念、功能、设计等内容。包括:绪论,操作系统运行机制与用户界面,进程与处理机管理,进程同步与通信、进程死锁,存储管理,设备管理,文件系统,并行与分布式操作系统,保护与安全,系统虚拟机,Linux操作系统实例。附录提供与课程配套的实验与课程设计参考资料。配套有实验教材《Linux操作系统实验教程》,为任课教师免费提供电子课件和习题解答。

第1章 绪论 1

1.1 什么是操作系统 1

1.1.1 计算机系统的软件构成 1

1.1.2 操作系统作为特殊子程序 2

1.1.3 操作系统作为资源管理者 3

1.1.4 操作系统提供程序并发运行机制 4

1.2 操作系统的发展历史 5

1.2.1 监督程序 5

1.2.2 专用操作系统 8

1.2.3 多种方式操作系统 13

1.2.4 PC操作系统、并行与分布式操作系统及发展 13

1.3 主要操作系统介绍 14

1.3.1 Windows系列及MS DOS 15

1.3.2 UNIX大家族(SVR4,BSD,Solaris,AIX,HP UX) 17

1.3.3 自由软件Linux和freeBSD等 21

习题1 25

第2章 操作系统运行机制与用户界面 26

2.1 中断和异常 26

2.1.1 中断和异常的区别 26

2.1.2 中断的分级 27

2.2 中断/异常响应和处理 29

2.2.1 中断/异常响应 29

2.2.2 中断/异常处理 31

2.3 操作系统运行模型 34

2.4 系统调用 36

2.5 人机界面 40

2.5.1 命令语言 40

2.5.2 图形化的用户界面 42

2.6 小结 44

习题2 44

第3章 进程与处理机管理 45

3.1 进程描述 45

3.1.1 进程定义 46

3.1.2 进程控制块 47

3.2 进程状态 49

3.2.1 进程的创建与结束 50

3.2.2 进程状态变化模型 51

3.2.3 进程挂起 53

3.3 进程控制与调度 55

3.3.1 进程执行 55

3.3.2 进程调度 57

3.3.3 调度算法 60

3.4 作业与进程的关系 64

3.5 线程的引入 66

3.6 小结 68

习题3 68

第4章 进程同步与通信、进程死锁 70

4.1 并发执行的实现 70

4.1.1 并发编程方法 70

4.1.2 并发执行的实现 71

4.2 进程的同步与互斥 72

4.2.1 同步与临界段问题 73

4.2.2 解决临界段问题的硬件实现方法 74

4.2.3 信号量 76

4.2.4 管程 79

4.2.5 进程同步与互斥举例 80

4.3 消息传递原理 84

4.3.1 消息传递通信原理 84

4.3.2 消息传递通信示例 85

4.3.3 管道通信简介 87

4.4 死锁 87

4.4.1 死锁示例 87

4.4.2 死锁定义 89

4.4.3 死锁防止 92

4.4.4 死锁避免 93

4.4.5 死锁检测 95

4.4.6 死锁的恢复 97

4.4.7 死锁综合处理 97

4.5 小结 98

习题4 99

第5章 存储管理 103

5.1 连续空间分配 103

5.1.1 单道连续分配 103

5.1.2 多道固定分区法 106

5.1.3 多道连续可变分区法 107

5.2 不连续空间分配 110

5.2.1 页式管理 110

5.2.2 段式管理 114

5.2.3 段页式管理 116

5.2.4 改进的页式管理 118

5.3 虚拟存储管理 118

5.3.1 页式虚存的基本思想 119

5.3.2 页式虚存管理实现 119

5.3.3 多级页表 122

5.3.4 页面替换策略 124

5.4 小结 130

习题5 131

第6章 设备管理 134

6.1 I/O硬件概念 134

6.1.1 常见外部设备分类 134

6.1.2 设备控制器(I/O部件) 135

6.1.3 I/O控制方式 136

6.1.4 I/O控制方式的发展过程 139

6.2 设备I/O子系统 139

6.2.1 设备的使用方法 139

6.2.2 I/O层次结构 142

6.2.3 设备驱动程序 144

6.2.4 缓冲技术 147

6.3 存储设备 150

6.3.1 常见存储外部设备 150

6.3.2 磁盘调度 153

6.3.3 磁盘阵列 156

6.4 小结 160

习题6 161

第7章 文件系统 162

7.1 文件结构 162

7.1.1 文件概念 162

7.1.2 文件的逻辑结构 163

7.1.3 文件的物理存储 164

7.1.4 文件控制块 166

7.2 文件目录结构 167

7.2.1 一级目录结构 167

7.2.2 二级目录结构 168

7.2.3 树形目录结构 169

7.2.4 无环图目录结构 170

7.2.5 目录操作 171

7.3 文件存储器空间布局与管理 171

7.4 文件访问接口 173

7.4.1 传统文件系统调用的实现 173

7.4.2 存储映像文件访问 175

7.5 文件保护 176

7.5.1 文件访问保护 176

7.5.2 文件备份 178

7.6 文件系统的基本模型 179

7.7 FAT文件系统磁盘布局 182

7.8 小结 183

习题7 184

第8章 并行与分布式操作系统 185

8.1 并行操作系统 185

8.1.1 对称多处理机 185

8.1.2 线程概念 187

8.1.3 线程实现 193

8.1.4 线程调度 198

8.2 分布式系统 202

8.2.1 分布式系统特点 203

8.2.2 几种分布式应用模型 205

8.2.3 分布式系统实现模型 208

8.2.4 分布式操作系统主要研究内容 210

8.2.5 分布式系统基础——通信协议层次简介 211

8.3 小结 214

习题8 215

第9章 保护与安全 216

9.1 安全威胁 216

9.1.1 病毒 216

9.1.2 蠕虫 217

9.1.3 特洛伊木马 217

9.1.4 隐蔽通道 218

9.2 安全机制 218

9.2.1 硬件保护机制 219

9.2.2 标识与鉴别 219

9.2.3 存取控制 221

9.2.4 最小特权管理 222

9.2.5 安全审计 223

9.2.6 入侵检测 224

9.2.7 网络信息安全技术 225

9.3 Linux的安全机制 228

9.4 安全评测标准 230

9.4.1 TCSEC橘皮书 230

9.4.2 中国国标GB17859-1999 232

9.5 小结 232

习题9 233

第10章 系统虚拟机 234

10.1 虚拟机概述 234

10.1.1 为什么需要虚拟机 234

10.1.2 虚拟机管理器的分类 235

10.1.3 系统虚拟化的优势及发展目标 235

10.1.4 虚拟机管理器的架构 236

10.2 CPU的虚拟化 237

10.2.1 软件完全虚拟化 237

10.2.2 硬件辅助虚拟化 238

10.3 内存虚拟化 239

10.3.1 软件实现内存虚拟化 239

10.3.2 EPT页表辅助内存虚拟化 240

10.4 I/O的虚拟化 240

10.4.1 完全的软件I/O虚拟化 241

10.4.2 半虚拟化设备 241

10.5 小结 242

习题10 243

第11章 Linux操作系统实例 244

11.1 进程管理 244

11.1.1 进程与进程描述符 244

11.1.2 进程状态及切换时机 245

11.1.3 进程的调度算法 247

11.1.4 进程的创建与消亡 248

11.2 存储管理 250

11.2.1 物理内存的管理 250

11.2.2 进程地址空间的管理 253

11.3 文件系统 256

11.3.1 VFS 256

11.3.2 EXT2文件系统 262

11.3.3 主要文件系统中系统调用的处理流程 266

11.4 设备管理 268

11.4.1 设备文件的概念 268

11.4.2 设备模型基础 269

11.4.3 相关数据结构 269

11.4.4 块设备文件的open(),read()操作 272

11.5 中断、异常及系统调用 273

11.5.1 中断/异常的基本知识 274

11.5.2 异常处理函数 274

11.5.3 系统调用 275

11.5.4 中断的处理 275

11.5.5 软中断 278

11.6 SysV进程间通信 279

11.6.1 共有的特性 279

11.6.2 信号量 281

11.6.3 消息队列 283

11.6.4 共享内存 284

习题11 287

附录A bash脚本编程简介 288

A.1 注释和简单命令 288

A.2 环境变量 288

A.3 控制结构 289

A.3.1 if语句 289

A.3.2 case语句 290

A.3.3 for语句 291

A.3.4 while语句和until语句 291

A.4 函数 292

A.5 小结 293

附录B 实现一个简单的Linux命令解释器 294

B.1 myshell的语法 294

B.2 程序框架 294

B.3 命令行的语法分析 295

B.4 简单命令的执行 298

B.5 Makefile 298

B.6 小结 298

附录C Linux常用命令 299

C.1 用户终端命令 299

C.2 vi编辑器的使用 307

附录D Linux常用函数 309

D.1 进程管理函数 309

D.2 文件管理函数 311

D.3 进程间通信函数 313

D.4 多线程库函数 316

参考文献 318