当前位置:首页 > 工业技术
实用操作系统教程  第2版
实用操作系统教程  第2版

实用操作系统教程 第2版PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:李建伟主编;吴江红,马梁,刘依,苏静,富坤,韩红哲编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:7302434003
  • 页数:341 页
图书介绍:
《实用操作系统教程 第2版》目录

第1章 操作系统概述 1

1.1 操作系统的概念 1

1.1.1 计算机系统资源 1

1.1.2 操作系统的地位 3

1.1.3 操作系统的定义 4

1.1.4 操作系统的设计目标 5

1.2 操作系统的发展历史与分类 6

1.2.1 操作系统的发展历史 6

1.2.2 操作系统分类 10

1.3 操作系统的主要功能 20

1.3.1 处理机管理功能 20

1.3.2 内存管理功能 21

1.3.3 设备管理功能 21

1.3.4 文件管理功能 22

1.3.5 用户接口管理功能 22

1.4 操作系统的主要特征 23

1.4.1 并发执行 24

1.4.2 资源共享 24

1.4.3 一切皆虚拟 25

1.4.4 异步性 26

1.5 操作系统的结构设计 26

1.5.1 无结构操作系统 26

1.5.2 模块化结构操作系统 27

1.5.3 分层式结构操作系统 27

1.5.4 虚拟机结构操作系统 28

1.5.5 微内核结构操作系统 29

1.6 操作系统的运行环境 30

1.6.1 操作系统硬件运行环境 30

1.6.2 操作系统与其他系统软件关系 36

1.7 初识Linux操作系统 36

1.7.1 Linux概述 36

1.7.2 Linux内核设计 38

1.7.3 Linux启动和初始化过程 40

1.7.4 Linux系统调用介绍 40

习题1 41

第2章 进程、线程管理 45

2.1 进程的基本概念 45

2.1.1 程序执行过程 45

2.1.2 进程的定义和特征 49

2.1.3 进程状态和状态转换 52

2.1.4 进程控制块及其组织方式 55

2.2 进程控制 58

2.2.1 进程创建 59

2.2.2 进程执行与进程切换 60

2.2.3 进程阻塞与唤醒 61

2.2.4 进程挂起与激活 62

2.2.5 进程撤销 62

2.3 线程 63

2.3.1 进程的局限性 63

2.3.2 线程及其属性 64

2.3.3 线程状态与控制 67

2.3.4 线程间同步和通信 67

2.3.5 线程的实现 69

2.3.6 多线程模型 70

2.4 Linux进程管理概述 71

2.4.1 Linux中的进程及其进程控制块 71

2.4.2 Linux中的进程控制 76

2.4.3 Linux中的线程 77

习题2 78

第3章 进程同步与通信 80

3.1 进程同步和互斥 80

3.1.1 进程同步和互斥的基本概念 80

3.1.2 信号量机制 88

3.1.3 利用信号量解决互斥问题 89

3.1.4 利用信号量解决同步问题 90

3.2 典型进程同步问题详解 93

3.2.1 生产者-消费者问题 93

3.2.2 哲学家就餐问题 96

3.2.3 读者写者问题 99

3.3 管程机制 102

3.3.1 为何引入管程 102

3.3.2 管程的定义 103

3.3.3 条件变量 104

3.3.4 管程解决生产者-消费者问题 104

3.4 进程通信 105

3.4.1 高级通信分类 106

3.4.2 消息传递系统 107

3.5 Linux进程通信概述 110

3.5.1 管道 110

3.5.2 信号 111

3.5.3 消息队列 112

3.5.4 信号量 112

3.5.5 共享内存 112

习题3 113

第4章 处理机调度 117

4.1 三级调度体系 117

4.1.1 高级调度 118

4.1.2 中级调度 120

4.1.3 低级调度 120

4.1.4 三级调度关系 121

4.2 进程调度目标和调度方式 122

4.2.1 进程调度目标 122

4.2.2 进程调度方式 123

4.3 调度算法的评价准则 124

4.3.1 面向用户的评价准则 124

4.3.2 面向系统的评价准则 125

4.4 典型进程调度算法 126

4.4.1 先来先服务调度算法 126

4.4.2 短作业(进程)优先调度算法 127

4.4.3 最短剩余时间优先调度算法 129

4.4.4 时间片轮转调度算法 129

4.4.5 优先级调度算法 130

4.4.6 高响应比优先调度算法 132

4.4.7 多级反馈队列调度算法 133

4.5 线程调度算法 135

4.5.1 用户级线程调度 135

4.5.2 核心级线程调度 136

4.6 实时调度算法 137

4.6.1 实时调度目标和所需必要信息 137

4.6.2 抢占调度和快速切换机制 137

4.6.3 典型实时调度算法 138

4.7 Linux进程调度概述 139

习题4 141

第5章 死锁 145

5.1 死锁的基本概念和产生原因 145

5.1.1 死锁的基本概念 145

5.1.2 产生死锁的原因 147

5.2 死锁的必要条件 151

5.3 死锁的处理 152

5.3.1 死锁的处理方法 152

5.3.2 资源分配图 153

5.4 死锁的静态预防 154

5.4.1 破坏互斥条件 154

5.4.2 破坏请求和保持条件 154

5.4.3 破坏不剥夺条件 155

5.4.4 破坏环路等待条件 155

5.5 死锁的动态避免 156

5.5.1 系统安全状态 156

5.5.2 银行家算法 158

5.6 死锁的检测和解除 160

5.6.1 等待图检测死锁 161

5.6.2 多体资源类死锁检测算法 161

5.6.3 死锁解除方法 163

5.6.4 鸵鸟算法 164

5.7 线程死锁 164

习题5 164

第6章 内存管理 168

6.1 内存管理概述 168

6.1.1 存储器的层次结构 168

6.1.2 内存管理功能 169

6.1.3 内存管理目标 170

6.2 程序的链接和装入 171

6.2.1 几个基本概念 171

6.2.2 程序的链接 173

6.2.3 程序的装入 174

6.3 连续分配方式 176

6.3.1 单一连续分配 176

6.3.2 固定分区分配 176

6.3.3 可变分区分配 178

6.3.4 动态可重定位分区分配 184

6.4 基本分页存储管理方式 185

6.4.1 基本概念 186

6.4.2 基本分页管理的地址变换机构 187

6.4.3 多级页表 189

6.4.4 页面的共享与保护 191

6.4.5 基本分页存储管理优缺点 192

6.5 基本分段存储管理方式 193

6.5.1 分段存储管理的引入 193

6.5.2 基本分段管理的地址结构 193

6.5.3 基本分段管理的地址变换机构 194

6.5.4 分段共享与保护 195

6.5.5 基本分段存储管理优缺点 196

6.5.6 分页和分段的主要区别 196

6.6 基本段页式存储管理方式 196

6.6.1 基本原理与地址变换机构 196

6.6.2 Intel 80386段页式存储管理机制 198

习题6 200

第7章 虚拟存储管理 203

7.1 覆盖与交换技术 203

7.1.1 覆盖技术 203

7.1.2 交换技术 205

7.2 虚拟存储管理 206

7.2.1 程序局部性原理 206

7.2.2 虚拟存储器及其特征 207

7.3 请求分页存储管理方式 208

7.3.1 请求分页中的硬件支持 208

7.3.2 请求分页中的软件支持 210

7.3.3 页面置换算法 211

7.3.4 页面调度性能 215

7.3.5 影响缺页率因素 217

7.3.6 Belady现象 217

7.3.7 请求分页存储管理优缺点 218

7.4 请求分段存储管理方式 219

7.4.1 基本概念 219

7.4.2 请求分段存储管理优缺点 221

7.5 请求段页式存储管理方式 222

7.6 存储管理方案总结 223

7.7 Linux存储管理概述 223

7.7.1 Linux虚拟内存管理 223

7.7.2 Linux物理内存管理 228

7.7.3 页面缓存与Swap交换空间 231

习题7 232

第8章 I/O设备管理 237

8.1 I/O设备管理概述 237

8.1.1 I/O设备的分类 237

8.1.2 I/O设备的差异性 238

8.1.3 I/O设备管理的任务和功能 239

8.2 I/O系统 240

8.2.1 I/O系统结构 240

8.2.2 设备控制器 242

8.2.3 I/O控制方式 244

8.3 I/O软件 252

8.3.1 I/O软件的设计目标 252

8.3.2 I/O软件层次 253

8.3.3 I/O中断的执行流程 257

8.4 设备分配与回收 259

8.4.1 设备管理中的数据结构 259

8.4.2 设备分配与回收 261

8.4.3 SPOOLing系统 262

8.5 缓冲管理 264

8.5.1 缓冲的引入 264

8.5.2 单缓冲 265

8.5.3 双缓冲 266

8.5.4 循环缓冲 267

8.5.5 缓冲池 269

8.6 磁盘存储器管理 270

8.6.1 磁盘及其访问 270

8.6.2 磁盘调度算法 272

8.6.3 磁盘高速缓冲 276

8.7 I/O控制 278

8.7.1 I/O控制的引入 278

8.7.2 I/O控制的功能 278

8.7.3 I/O控制的实现 279

8.8 Linux设备管理 279

8.8.1 Linux设备管理概述 279

8.8.2 Linux设备管理中的数据结构 280

8.8.3 Linux的设备文件 283

8.8.4 Linux的设备驱动程序 284

习题8 291

第9章 文件系统 296

9.1 文件的基本概念 296

9.1.1 文件的概念 296

9.1.2 文件属性及其分类 297

9.2 文件系统 298

9.2.1 文件系统的概念 298

9.2.2 文件系统的组成 299

9.3 文件结构 302

9.3.1 文件逻辑结构 302

9.3.2 文件物理结构 305

9.4 文件目录和目录查询 311

9.4.1 文件目录的概念 311

9.4.2 文件目录结构 313

9.4.3 目录查询技术 316

9.5 文件存储空间管理 318

9.5.1 文件存储空间划分 318

9.5.2 文件存储空间的分配技术 318

9.5.3 空闲文件存储器空间管理方法 319

9.6 文件的共享与保护 322

9.6.1 文件共享 322

9.6.2 文件保护 323

9.7 文件系统的可靠性 325

9.7.1 文件的可靠性 325

9.7.2 文件的保密性 326

9.8 Linux文件管理 327

9.8.1 Linux虚拟文件系统 327

9.8.2 文件系统的安装与拆卸 330

9.8.3 Linux常见文件系统调用 331

9.9 EXT2文件系统 334

习题9 336

参考文献 341

返回顶部