《操作系统教程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:屠立忠,徐金宝主编;刘晓璐,丁宋涛,王洋副主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121205095
  • 页数:245 页
图书介绍:本书共分6章,内容包括操作系统概论、处理器管理及并发进程、存储管理、设备管理、文件管理,第六章简单介绍了最流行的操作系统的基本情况;为便于读者自学和课后复习,每章都附有小结和习题。附录包括:为操作系统的基本理论实验和创新实验项目,为操作系统课程设计的案例,供教师在实际教学或读者练习过程中选择使用或参考。

第1章 操作系统概论 1

1.1操作系统的概念 1

1.1.1操作系统的定义和目标 1

1.1.2操作系统的形成和发展 2

1.1.3操作系统的主要特性 5

1.2操作系统的功能 6

1.2.1处理器管理 6

1.2.2存储管理 6

1.2.3设备管理 7

1.2.4文件管理 8

1.3操作系统的接口 8

1.3.1操作接口和操作命令 9

1.3.2程序接口与系统调用 9

1.4操作系统的结构 10

1.4.1整体式结构 10

1.4.2层次式结构 11

1.4.3客户/服务器结构 11

1.4.4虚拟机结构 11

1.5流行操作系统简介 12

1.5.1 Windows操作系统 12

1.5.2 UNIX操作系统 12

1.5.3 Linux操作系统 13

1.5.4 iOS操作系统 13

1.5.5 Android操作系统 14

本章小结 15

习题1 15

第2章 处理器管理及并发进程 17

2.1多道程序设计 17

2.1.1程序的顺序执行 17

2.1.2程序的并发执行 18

2.1.3多道程序设计 18

2.1.4并发程序执行的条件 19

2.2进程 20

2.2.1进程的定义及其属性 20

2.2.2进程的状态及其转换 21

2.2.3进程控制块 23

2.2.4进程队列 24

2.3进程的控制 25

2.3.1操作系统内核 25

2.3.2原语 26

2.3.3进程控制原语 26

2.4进程调度 28

2.4.1进程调度简介 28

2.4.2进程调度的算法 28

2.5线程及其实现 32

2.5.1为什么要引入多线程概念 33

2.5.2多线程环境下的进程和线程 33

2.5.3多线程的优点及其应用 35

2.5.4多线程实现的三种方式 36

2.5.5 Java环境下多线程设计举例 37

2.6并发进程的概念 38

2.6.1相关进程及其关系 38

2.6.2与时间有关的错误 39

2.6.3临界区概念及其管理要求 41

2.6.4临界区管理的尝试 42

2.6.5信号量与PV操作 46

2.7进程的互斥和同步 47

2.7.1进程的互斥 47

2.7.2进程的同步 50

2.7.3进程互斥和同步的关系 59

2.8管程 60

2.8.1管程的概念 60

2.8.2管程的特点及其组成 61

2.8.3汉森(Brinch Hansen)方法实现管程 62

2.8.4汉森方法实现管程的实例 63

2.9进程通信 66

2.9.1消息传递概述 66

2.9.2消息传递的两种方式 67

2.9.3消息传递应用举例 69

2.9.4信号量机制、管程和消息传递机制的关系 70

2.10死锁 70

2.10.1死锁的定义与产生的原因 70

2.10.2死锁的防止 72

2.10.3死锁的避免与银行家算法 73

2.10.4死锁的检测与解除 77

本章小结 78

习题2 79

第3章 存储管理 81

3.1存储系统的基本概念 81

3.2存储管理的基本概念 82

3.2.1存储管理的功能 82

3.2.2内存扩充技术 83

3.2.3存储管理的分类 84

3.3分区存储管理 85

3.3.1单一连续区 86

3.3.2固定分区存储管理 86

3.3.3可变分区存储管理 88

3.4简单分页存储管理 94

3.4.1基本原理 94

3.4.2地址转换 95

3.4.3相联存储器和快表 96

3.4.4页的分配与回收 97

3.4.5页的共享和保护 98

3.4.6两级和多级页表 98

3.5简单分段存储管理 100

3.5.1基本原理 100

3.5.2地址转换 101

3.5.3段的共享 102

3.5.4分段存储管理的优点 103

3.6虚拟存储管理 104

3.7请求分页虚拟存储管理 104

3.7.1基本原理 105

3.7.2主存页面分配策略 106

3.7.3页面调入策略 107

3.7.4页面置换算法 107

3.7.5缺页中断率分析 109

3.8请求分段虚拟存储管理 111

3.8.1基本原理 111

3.8.2地址转换 112

3.8.3段的动态链接 112

3.8.4段的动态增长 113

3.9请求段页式虚拟存储管理 113

本章小结 113

习题3 113

第4章 设备管理 116

4.1设备管理概述 116

4.1.1设备管理的任务与目标 116

4.1.2设备管理的功能 117

4.1.3外部设备的分类 117

4.2设备I/O控制方式 119

4.2.1程序查询方式 119

4.2.2中断方式 120

4.2.3 DMA(直接内存存取)方式 120

4.2.4 I/O通道控制方式 121

4.3设备I/O软件原理 123

4.3.1 I/O软件的目标 124

4.3.2 I/O中断处理程序 124

4.3.3设备驱动程序 125

4.3.4与设备无关的I/O软件 125

4.3.5用户级的I/O软件 125

4.4缓冲技术 126

4.5外围的设备分配、回收与启动 128

4.5.1设备类相对号和绝对号 128

4.5.2外部设备的分配和回收 129

4.6磁盘驱动调度 130

4.6.1磁盘结构 131

4.6.2磁盘调度 132

4.6.3磁盘移臂调度 133

4.6.4磁盘的旋转调度 134

4.7虚拟设备 136

4.7.1脱机工作方式 136

4.7.2 Spooling技术 137

4.7.3虚拟设备 138

本章小结 138

习题4 139

第5章 文件管理 141

5.1文件系统 141

5.1.1文件和文件系统 141

5.1.2文件的分类 142

5.1.3文件系统的功能 143

5.2文件目录 143

5.2.1目录内容 144

5.2.2目录结构 144

5.3文件结构与存取方法 147

5.3.1文件的逻辑结构及存取方法 147

5.3.2文件的物理结构及存取方法 148

5.3.3存储空间管理 151

5.4文件的使用 152

5.4.1文件访问 152

5.4.2文件控制 154

5.4.3目录管理 155

5.4.4文件的共享 155

5.5安全性和保护 156

5.5.1文件的访问权限 156

5.5.2文件的存取控制 156

5.5.3文件的完整性 158

本章小结 158

习题5 158

第6章 Windows和Linux操作系统 160

6.1 WiNDOws 2000/XP操作系统 160

6.1.1 Windows 2000/XP简介 160

6.1.2 Windows操作系统总体架构 161

6.1.3用户模式和内核模式 165

6.1.4 Windows操作系统和应用程序 167

6.2 LINUx操作系统 171

6.2.1 Linux简介 171

6.2.2 Linux Shell 172

6.2.3 vi文本编辑器 174

6.2.4 gcc编译器和gdb调试 177

本章小结 181

习题6 182

附录A 操作系统参考实验项目 183

第一部分 基本实验部分 183

实验1 进程管理 183

实验2 进程调度 184

实验3 存储管理 185

实验4 独占设备的静态分配模拟 185

实验5 文件管理 186

第二部分 创新实验部分(LINUX) 187

实验6 more命令实现 187

实验7 文件列表命令实现 191

实验8 文件系统路径命令实现 197

实验9 操作系统引导程序的实现 203

实验10 操作系统内核加载程序的实现 210

附录B 操作系统课程设计参考案例 217

案例1 多线程编程解决进程间同步和互斥问题的实现 217

案例2 固定分区/可变分区管理算法的模拟 220

案例3 页面置换算法的模拟 221

案例4 银行家算法的模拟 228

案例5 移动臂调度算法的模拟 233

案例6 一个简单文件管理器的实现 239

参考文献 245