《操作系统原理与应用》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:王育勤,程海英,彭焱等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302328896
  • 页数:305 页
图书介绍:本书重点讲述了操作系统的一般性原理和实施技术。在理论上力求系统、完整,尽量体现当代的先进研究成果。讲授方法上以UNIX操作系统为实例,介绍了操作系统中主要服务功能的实施技术和技巧。内容安排上注意由浅入深,由一般到具体,先介绍操作系统的概念和服务功能,然后一一讲述这些功能的实现算法,并在最后以Linux操作系统为基础,讨论了linux系统的安装、常用命令及其网络与通信,以其加强实践性环节。

第1章 操作系统概述 1

1.1 操作系统的发展过程 1

1.1.1 手工操作阶段 1

1.1.2 早期批处理阶段 2

1.1.3 执行系统 3

1.1.4 多道程序系统阶段 3

1.2 什么是操作系统 4

1.2.1 概念(定义) 4

1.2.2 设置操作系统的目的 5

1.2.3 操作系统的主要功能 5

1.2.4 操作系统的服务功能和方式 7

1.3 操作系统的结构 8

1.3.1 环境(外结构) 8

1.3.2 体系结构(内结构) 9

1.4 操作系统的分类 10

1.4.1 多道批处理系统 10

1.4.2 分时系统 11

1.4.3 实时系统 11

1.4.4 网络操作系统 13

1.4.5 区别 13

1.5 操作系统的特征 13

1.6 操作系统的性能 14

1.7 当前比较流行的几种微机操作系统 15

1.7.1 当前微机上的主流操作系统 15

1.7.2 如何选用操作系统 18

1.8 UNIX系统的特点和结构 19

习题 22

第2章 进程管理 23

2.1 进程管理的概念 23

2.1.1 程序的顺序执行 23

2.1.2 程序的并发执行和资源共享 23

2.1.3 程序并发执行的特性 25

2.1.4 进程 27

2.1.5 用进程概念说明操作系统的并发性和不确定性 28

2.1.6 进程的状态及其变迁 29

2.1.7 进程的组成 30

2.1.8 UNIX系统的进程映像 33

2.2 有关进程的操作 36

2.2.1 进程的创建 36

2.2.2 进程终止和父/子进程的同步 38

2.3 进程间的相互作用和通信 41

2.3.1 同步 41

2.3.2 互斥 42

2.3.3 进程的临界区和临界资源 43

2.3.4 实施临界区互斥的锁操作法 43

2.3.5 信号量与P、 V操作 46

2.3.6 高级通信机构 51

2.4 中断处理 54

2.4.1 中断及其一般处理过程 54

2.4.2 中断优先级和多重中断 57

2.4.3 中断屏蔽 57

2.4.4 中断在操作系统中的地位 58

2.4.5 UNIX系统对中断和陷入的处理 58

习题 61

第3章 处理机管理 64

3.1 概述 64

3.1.1 CPU调度的三级实现 64

3.1.2 进程的执行方式 67

3.1.3 CPU调度的基本方式 67

3.2 作业概念 68

3.2.1 作业管理的概念 68

3.2.2 作业管理的功能 71

3.3 常用的调度算法 74

3.3.1 先来先服务 74

3.3.2 最短周期优先 75

3.3.3 优先级 77

3.3.4 轮转法 77

3.3.5 可变时间片轮转法 79

3.3.6 多队列轮转法和多级反馈队列法 79

3.4 UNIX系统中的进程调度 81

习题 86

第4章 存储管理 87

4.1 引言 87

4.1.1 二级存储器及信息传送 87

4.1.2 存储器分配 87

4.1.3 存储管理的基本任务 88

4.1.4 存储空间的地址问题 89

4.1.5 用户程序的装入 90

4.1.6 存储管理的功能 92

4.1.7 内存的扩充技术 92

4.2 分区式管理技术 95

4.2.1 固定分区法 95

4.2.2 可变分区法 96

4.2.3 硬件支持 98

4.3 可重定位分区分配 98

4.4 多道程序对换技术 99

4.5 请求分页存储管理 100

4.5.1 分页管理 100

4.5.2 请求分页管理 104

4.6 段式存储管理 112

4.6.1 分段和分段的地址空间 112

4.6.2 分段管理的实现 113

4.6.3 分段共享 114

4.6.4 段的动态链接 115

4.7 段页式存储管理 117

4.7.1 基本思想 117

4.7.2 实现过程 118

4.8 UNIX系统的存储管理 119

4.8.1 对换 120

4.8.2 请求分页 122

习题 126

第5章 设备管理 128

5.1 概述 128

5.1.1 设备分类 128

5.1.2 设备管理的目标和功能 129

5.1.3 通道技术 129

5.1.4 缓冲技术 132

5.2 设备分配技术与Spooling系统 133

5.2.1 设备分配技术 133

5.2.2 Spooling系统 134

5.3 RK磁盘设备 135

5.4 UNIX系统的设备管理 136

5.4.1 UNIX设备管理的特点 136

5.4.2 与设备驱动有关的接口 137

5.4.3 块设备管理中的缓冲技术 137

5.4.4 块设备的读、写 141

5.4.5 字符设备管理 145

习题 146

第6章 文件系统 147

6.1 概述 147

6.1.1 文件及其分类 147

6.1.2 文件系统的功能 148

6.1.3 文件系统的用户界面 149

6.1.4 文件系统的层次结构 150

6.2 文件的组织和存取方法 151

6.2.1 文件的逻辑组织和物理组织 151

6.2.2 文件的存取方式 154

6.3 目录结构 155

6.3.1 一级目录结构 155

6.3.2 二级目录结构 156

6.3.3 多级目录结构 157

6.4 文件存储空间的管理 159

6.4.1 记住空间分配现状的数据结构 159

6.4.2 存储空间分配程序 161

6.5 文件保护 162

6.5.1 文件系统的完整性 162

6.5.2 文件的共享与保护保密 163

6.6 对文件的主要操作 164

6.6.1 创建文件 164

6.6.2 文件的连接与解除连接 165

6.6.3 文件的打开和关闭 165

6.6.4 文件的读、写 166

6.7 文件系统的执行过程 166

6.8 UNIX文件系统的内部实现 168

6.8.1 i节点 168

6.8.2 活动i节点的分配与释放 169

6.8.3 用户打开文件表和系统打开文件表 170

6.8.4 目录项和检索目录文件 172

6.8.5 文件的索引结构 175

6.8.6 文件卷和卷专用块 176

6.8.7 空闲i节点的管理 177

6.8.8 空闲存储块的管理 179

6.8.9 子文件系统装卸和装配块表 179

6.8.1 0各主要数据结构之间的联系 181

6.8.1 1管道文件(pipe) 181

6.9 系统调用的实例 186

习题 188

第7章 死锁 190

7.1 死锁的基本概念 190

7.1.1 什么是死锁 190

7.1.2 死锁的表示 191

7.1.3 死锁的判定法则 192

7.2 死锁的预防 193

7.3 死锁的避免 195

7.3.1 资源分配状态RAS 195

7.3.2 系统安全状态 196

7.3.3 死锁避免算法 196

7.3.4 对单体资源类的简化算法 198

7.4 死锁的检测和清除 198

7.4.1 死锁的检测 199

7.4.2 死锁的解除 200

习题 201

第8章 Linux系统的安装和初步使用 202

8.1 Linux系统的安装 202

8.1.1 安装前的准备工作 202

8.1.2 Linux分区及文件系统 203

8.1.3 Linux安装步骤 203

8.2 Linux系统运行时相关的基本概念 207

8.2.1 Linux引导程序 208

8.2.2 加载Linux内核 209

8.2.3 Linux Shell 210

8.2.4 init进程 210

8.2.5 守护进程 211

8.2.6 建立终端 212

8.3 Linux系统的初步使用 213

8.3.1 登录 213

8.3.2 虚拟控制台切换 213

8.3.3 注销 214

8.3.4 重启计算机 214

8.3.5 关闭计算机 214

第9章 使用Shell和Linux的常用命令 216

9.1 使用Linux基本命令 216

9.1.1 常用简单命令 216

9.1.2 目录管理命令 218

9.1.3 文件管理命令 220

9.2 使用命令补齐和别名功能 222

9.2.1 命令行自动补齐 222

9.2.2 命令别名 222

9.3 使用重定向和管道 223

9.3.1 重定向 224

9.3.2 管道 224

9.4 熟悉vi三种模式下的操作命令 225

9.4.1 vi的三种工作模式 225

9.4.2 vi在三种模式下的基本操作 225

9.5 使用vi建立简单的Shell脚本并运行 228

9.5.1 创建Shell脚本 228

9.5.2 运行Shell脚本 228

9.5.3 Shell编程基础 229

9.5.4 流程控制语句 232

第10章 Linux系统管理 236

10.1 磁盘和文件系统管理 236

10.1.1 用户磁盘空间管理 236

10.1.2 文件系统管理 239

10.2 账户管理和操作权限 244

10.2.1 账户管理 244

10.2.2 操作权限管理 250

10.3 进程管理 253

10.3.1 进程基本概念 253

10.3.2 进程管理操作 253

10.3.3 工作任务管理工具 255

10.3.4 守护进程 257

10.4 RPM包管理 257

10.5 TCP/IP网络配置 259

10.5.1 TCP/IP网络配置文件 259

10.5.2 TCP/IP网络配置命令 262

10.5.3 常用网络测试工具 266

第11章 文件服务器与打印服务器 268

11.1 RPM的使用 268

11.1.1 初始化RPM数据库 268

11.1.2 RPM软件包的查询功能 268

11.1.3 RPM软件包的配置文件 270

11.2 FTP匿名下载 270

11.2.1 FTP命令 270

11.2.2 安装、启动与停止vsftpd服务 271

11.2.3 配置vsftpd服务器 272

11.2.4 FTP匿名登录实例 273

11.3 Samba服务器 277

11.3.1 Samba 277

11.3.2 安装、启动与停止Samba服务 278

11.3.3 配置Samba服务 278

11.3.4 配置Samba服务的密码文件 281

11.3.5 Samba的用户映射文件 282

11.3.6 Samba服务的日志文件 283

11.3.7 Samba应用实例 283

11.3.8 Linux访问Windows的共享资源 289

11.4 Linux打印服务器 290

第12章 Internet接入与代理服务器的配置 293

12.1 调制解调器接入的配置 293

12.2 ISDN接入的配置 295

12.3 ADSL接入的配置 297

12.4 Squid代理服务器的配置 297

第13章 Linux DNS服务器配置 300

13.1 BIND的安装检查 300

13.2 高速缓存DNS服务器的配置 300

13.3 主DNS服务器的配置 301

13.4 辅助DNS服务器的配置 303

13.5 DNS客户机的配置 304

13.6 DNS的测试 304

参考文献 305