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

  • 购买积分:11 如何计算积分?
  • 作  者:王红主编;侯刚,张凤云,杨德芳副主编
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2005
  • ISBN:7508429125
  • 页数:277 页
图书介绍:本教材介绍了操作系统的基本原理及应用,并以Linux操作系统作为具体实例加以说明。全书共分七章,第一章介绍了操作系统的基本概念、功能、操作系统的发展史及Linux操作系统概述;第二章介绍了进程的概念、进程描述、进程控制、进程的同步与互斥、进程通信及线程;第三章介绍了作业调度及进程调度,介绍了死锁的概念与产生的原因,以及解决死锁的方法;第四章介绍了操作系统对内存的管理方法;第五章介绍了操作系统对文件的管理;第六章介绍了操作系统对设备的管理方法;第七章介绍了Linux系统的网络功能;第八章为现代操作系统,介绍了现代流行的UNIX、Windows 2000操作系统的特点、原理,以及分布式操作系统的概况;第九章介绍了操作系统的安全性。 本书可作为计算机专业特别是应用型本科计算机专业学生的操作系统课程教材。

目录 1

序 1

前言 1

第1章 操作系统概论 1

本章学习目标 1

1.1 操作系统的地位 1

1.2 操作系统的功能 2

1.2.1 提供人机接口 2

1.2.2 管理计算机资源 5

1.3 操作系统的发展过程 9

1.3.1 推动操作系统发展的主要动力 9

1.3.2 无操作系统的计算机系统 9

1.3.3 单道批处理系统 10

1.3.4 多道批处理系统 11

1.3.5 分时系统 12

1.3.6 实时系统 13

1.3.7 微机操作系统 14

1.3.8 网络操作系统 15

1.3.9 分布式操作系统 15

1.4 操作系统的特性 15

1.5 操作系统的体系结构 16

1.5.1 层次结构 16

1.5.2 微内核结构 16

1.6 Linux介绍 17

1.6.1 Linux简介 17

1.6.2 UNIX、GNU与Linux 18

1.6.3 Linux的历史 20

1.6.4 Linux的内核特征 22

1.6.5 Linux的发展及展望 24

本章小结 26

习题一 27

2.1 进程的基本概念 28

2.1.1 程序的顺序执行及其特征 28

本章学习目标 28

第2章 进程管理 28

2.1.2 程序的并发执行及其特征 29

2.1.3 进程的定义与特征 30

2.1.4 进程的基本状态及转换 31

2.1.5 Linux进程的状态 33

2.2 进程的描述 35

2.2.1 进程控制块PCB 35

2.2.2 进程控制块的组织方式 36

2.2.3 Linux进程的PCB 38

2.3 进程控制 39

2.3.1 进程的创建与终止 39

2.3.2 几个相关的Linux系统调用 40

2.3.3 进程的阻塞与唤醒 41

2.4 进程的同步与互斥 42

2.4.1 临界资源的概念 42

2.4.2 进程的互斥与同步 43

2.4.4 信号量机制 44

2.4.3 锁机制 44

2.5 进程同步问题举例 48

2.5.1 生产者—消费者问题 48

2.5.2 读者—写者问题 50

2.5.3 哲学家进餐问题 51

2.6 进程通信 52

2.6.1 共享存储器系统 53

2.6.2 消息传递系统 56

2.6.4 信号通信机制 60

2.6.3 管道通信系统 60

2.7 线程 63

2.7.1 线程的基本概念 63

2.7.2 线程的状态与转换操作 63

2.7.3 引入线程的好处 64

2.7.4 多线程的实现 64

本章小结 65

习题二 66

本章学习目标 68

3.1 分级调度 68

第3章 处理机调度与死锁 68

3.1.1 调度的层次 69

3.1.2 作业与进程的关系 70

3.2 作业调度 70

3.2.1 作业调度的功能 70

3.2.2 调度算法的评价及准则 73

3.3 进程调度 74

3.3.1 进程调度的功能 74

3.3.2 进程调度的时机 75

3.3.3 进程上下文的切换 75

3.3.4 Linux系统中进程调度发生的时机 76

3.4 调度算法 76

3.4.1 单道批处理系统的调度算法 77

3.4.2 多道批处理系统的调度算法 79

3.4.3 优先级调度算法 79

3.4.4 轮转调度算法 82

3.5.1 Linux系统的进程调度策略 85

3.5 Linux系统的调度算法 85

3.5.2 Linux系统的优先级调度策略 86

3.5.3 实时进程的调度策略 88

3.6 死锁问题 88

3.6.1 死锁的概念 89

3.6.2 产生死锁的原因及必要条件 89

3.6.3 解决死锁问题的基本方法 90

3.7 死锁的预防与避免 91

3.7.1 死锁的预防 91

3.7.2 死锁的避免 92

3.8 利用银行家算法避免死锁 93

3.8.1 银行家算法中的数据结构 93

3.8.2 银行家算法的实现 94

3.8.3 银行家算法的应用 95

3.9 死锁的检测与解除 97

3.9.1 死锁检测的时机 97

3.9.2 死锁的检测 97

3.9.3 死锁的解除 99

习题三 100

本章小结 100

第4章 存储器管理 102

本章学习目标 102

4.1 存储器管理概述 102

4.1.1 存储器的层次 103

4.1.2 用户程序的处理过程 103

4.2 连续分配存储管理方式 106

4.2.1 单道程序的连续分配 106

4.2.2 固定分区分配方式 107

4.2.3 动态分区分配 107

4.2.4 可重定位分区 110

4.3 分页存储管理方式 111

4.3.1 页式存储管理的系统应解决的问题 111

4.3.2 分页存储管理的基本方法 111

4.3.3 两级和多级页表 114

4.4 分段存储管理方式 116

4.4.1 分段存储管理方式的基本原理 116

4.4.3 段页式存储管理方式 118

4.4.2 信息共享 118

4.5 虚拟存储器的基本概念 121

4.5.1 虚拟存储器的引入 121

4.5.2 虚拟存储器的实现方法及其特征 122

4.6 请求分页 123

4.6.1 请求分页的实现 123

4.6.2 页面置换算法 125

4.7.1 请求分段的实现 127

4.7 请求分段存储管理 127

4.7.2 段的共享与保护 130

4.8 Linux系统的内存管理方法 131

4.8.1 Linux的分页管理机制 131

4.8.2 虚存段的组织与管理 133

4.8.3 内存的共享和保护 135

4.8.4 内存空间管理 136

4.8.5 空闲内存管理 136

4.8.6 内核态内存的申请与释放 137

4.8.7 用户态内存的申请与释放 138

4.8.8 交换空间 139

4.8.9 页交换进程和页面换出 140

4.8.10 缺页中断和页面换入 142

4.8.11 存储管理系统的缓冲机制 142

本章小结 143

习题四 144

5.1 文件管理概述 147

5.1.1 文件及其分类 147

本章学习目标 147

第5章 文件管理 147

5.1.2 文件系统及其功能 149

5.2 文件的结构 150

5.2.1 文件的逻辑结构 150

5.2.2 文件的物理结构 151

5.3 文件目录管理 155

5.3.1 文件控制块和索引节点 155

5.3.2 文件目录结构 157

5.3.3 按名存取 159

5.3.4 Linux文件目录 160

5.4 Linux文件系统 162

5.4.1 Linux文件的物理结构 163

5.4.2 Linux文件系统 164

5.5 文件存储空间的管理 168

5.5.1 空闲空间表法 168

5.5.2 空闲块链法 169

5.5.3 位示图法 169

5.5.4 空闲块成组链接法 170

5.6.1 文件的共享 172

5.6 文件共享与安全性 172

5.6.2 文件的安全性 173

5.7 Linux系统的文件操作 175

5.7.1 文件操作命令 175

5.7.2 目录操作命令 178

5.7.3 存取控制命令 179

5.7.4 磁盘存储命令 181

5.7.6 常用系统调用 182

5.7.5 磁盘操作 182

本章小结 185

习题五 186

第6章 设备管理 187

本章学习目标 187

6.1 I/O系统组成 187

6.1.1 I/O设备 187

6.1.2 设备控制器 189

6.1.3 I/O通道 190

6.2 数据传输控制方式 192

6.2.1 程序直接控制方式 192

6.2.2 中断控制方式 193

6.2.3 DMA方式 193

6.2.4 通道控制方式 194

6.3.2 中断源 197

6.3.3 中断响应 197

6.3 中断技术 197

6.3.1 中断的概念 197

6.3.4 中断处理 198

6.4 缓冲技术 199

6.4.1 缓冲的引入 199

6.4.2 单缓冲 200

6.4.3 双缓冲 200

6.4.4 循环缓冲 201

6.4.5 缓冲池 201

6.5.1 与设备分配相关的因素 202

6.5 设备分配 202

6.5.2 虚拟设备技术 204

6.6 SPOOLING系统 204

6.6.1 SPOOLING系统的简介 204

6.6.2 SPOOLING系统的组成 205

6.7 I/O控制过程 206

6.7.1 用户进程的I/O请求 206

6.7.2 设备驱动 206

6.8.1 磁盘存储格式 207

6.8.2 磁盘I/O性能 207

6.8 磁盘I/O 207

6.8.3 磁盘调度 208

6.8.4 磁盘高速缓存 209

6.9 Linux系统的设备管理 210

6.9.1 Linux系统设备管理的特点 210

6.9.2 Linux设备驱动程序的接口 210

6.9.3 Linux的磁盘高速缓存 212

6.9.4 Linux的字符设备缓冲区管理 214

6.9.5 Linux的设备驱动 215

本章小结 218

习题六 218

第7章 Linux网络基础 220

本章学习目标 220

7.1 TCP/IP协议简介 220

7.1.1 网络概述 220

7.1.2 TCP/IP协议 221

7.2 配置Linux网络 224

7.2.1 网络配置文件 224

7.2.2 手工配置TCP/IP网络 226

7.3 基本网络服务介绍 228

7.3.1 域名服务器(DNS) 228

7.3.2 Apache服务器 229

7.3.3 邮件服务器 231

7.3.4 samba服务器 232

7.4 Linux网络安全 234

7.4.1 Linux系统的文件安全 234

7.4.2 用户口令安全 235

7.4.3 防火墙技术 235

7.4.4 Linux常用的网络命令 238

本章小结 241

习题七 242

8.1.1 UNIX操作系统的发展 243

8.1 UNIX操作系统 243

8.1.2 UNIX操作系统的特点 243

本章学习目标 243

第8章 现代操作系统实例 243

8.1.3 UNIX系统的内核结构 244

8.1.4 UNIX系统的进程管理 245

8.1.5 UNIX系统的内存管理 249

8.1.6 UNIX系统的文件管理 250

8.1.7 UNIX系统的设备管理 253

8.2.1 Windows 2000概述 254

8.2 Windows 2000操作系统 254

8.2.2 Windows 2000中的进程和线程的特点 255

8.2.3 Windows 2000中进程的实现 255

8.2.4 Windows 2000中线程的实现 256

8.2.5 Windows 2000的调度算法 256

8.2.6 Windows 2000的内存管理 257

8.2.7 Windows 2000的文件系统 257

8.2.8 Windows 2000设备管理的特点 258

8.3 分布式操作系统 258

8.3.1 分布式操作系统的特性 258

8.3.2 进程迁移 259

8.3.3 分布式进程管理 260

本章小结 262

习题八 262

第9章 操作系统的安全性 264

本章学习目标 264

9.1 操作系统安全性概述 264

9.1.1 计算机系统安全性的内涵 264

9.1.2 操作系统的安全性 265

9.1.3 计算机系统安全性评价标准 266

9.2 操作系统的安全机制 268

9.2.1 内存保护机制 269

9.2.2 用户身份认证机制 269

9.2.3 访问控制技术 271

9.2.4 加密技术 273

9.2.5 病毒及其防御机制 273

9.2.6 监控和审计日志 274

本章小结 275

习题九 275

参考文献 277