注册 登录 进入教材巡展
#
  • #

出版时间:2025-11-12

出版社:机械工业出版社

以下为《计算机操作系统》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 机械工业出版社
  • 9787111793670
  • 1-1
  • 563099
  • 平装
  • 2025-11-12
  • 549
内容简介
《计算机操作系统》系统介绍了操作系统的概念、原理、方法及应用。《计算机操作系统》共12章,在操作系统概述之后,详细介绍了进程与线程、进程同步、处理器调度、死锁、内存管理、虚拟存储管理、设备管理、文件管理、系统安全和操作系统接口等,并以开源操作系统openEuler为例,介绍国产操作系统的原理以及应用案例。每章后附有习题,并且在部分章节给出了操作系统原理在Linux环境下的实践应用。
《计算机操作系统》可作为高等学校计算机类专业,如计算机科学与技术、软件工程、网络工程、网络空间安全、物联网工程等的本科生教材,也可供考研学生复习使用。
目录
前言

第1章 操作系统概述 1
1.1 什么是操作系统 1
1.1.1 操作系统的目标 1
1.1.2 操作系统的作用 2
1.1.3 操作系统的定义 3
1.1.4 操作系统实例 4
1.2 操作系统的发展历史 6
1.2.1 ENIAC与串行处理 6
1.2.2 单道批处理系统 7
1.2.3 多道批处理系统 9
1.2.4 分时系统 10
1.2.5 实时系统 11
1.2.6 通用操作系统 12
1.2.7 网络操作系统 12
1.2.8 分布式操作系统 13
1.3 操作系统的基本特性 13
1.3.1 并发性(Concurrency) 14
1.3.2 共享性(Sharing) 14
1.3.3 虚拟性(Virtual) 14
1.3.4 异步性(Asynchronism) 15
1.4 操作系统的主要功能 15
1.4.1 处理器管理功能 15
1.4.2 存储器管理功能 16
1.4.3 设备管理功能 17
1.4.4 文件管理功能 17
1.4.5 接口管理功能 18
1.5 操作系统的结构设计 18
1.5.1 传统操作系统结构 18
1.5.2 微内核操作系统结构 20
1.5.3 动态可扩展结构 21
1.6 习题 22
第2章 进程与线程 23
2.1 前驱图和程序执行 23
2.1.1 前驱图 23
2.1.2 程序顺序执行 23
2.1.3 程序并发执行 24
2.2 进程的描述 25
2.2.1 进程的定义和特征 25
2.2.2 进程的基本状态与转换 27
2.2.3 挂起操作和进程状态的转换 28
2.2.4 进程控制块 29
2.3 进程的控制 30
2.3.1 操作系统内核 30
2.3.2 进程的创建 30
2.3.3 进程的终止 32
2.3.4 进程的阻塞与唤醒 33
2.3.5 进程的挂起与激活 34
2.4 进程通信 34
2.4.1 进程通信的类型 35
2.4.2 共享存储器系统 35
2.4.3 消息传递系统 37
2.4.4 管道通信系统 40
2.4.5 客户机/服务器系统 41
2.5 线程 44
2.5.1 线程的引入 45
2.5.2 什么是线程 45
2.5.3 线程的特点 46
2.5.4 线程间的同步和通信 46
2.5.5 线程的状态和线程控制块 47
2.5.6 线程的实现 48
2.6 案例:Linux系统中的进程与线程 50
2.6.1 Linux系统中的进程结构 50
2.6.2 Linux系统中的进程管理和调度 50
2.6.3 Linux系统中的进程间通信机制 51
2.6.4 Linux系统中的线程 52
2.7 习题 52
第3章 进程同步 53
3.1 并发的原理 53
3.1.1 进程同步的概念 53
3.1.2 与时间有关的错误 54
3.1.3 临界区问题 56
3.1.4 软件同步机制 57
3.1.5 硬件同步机制 58
3.2 信号量机制 59
3.2.1 信号量的概念 59
3.2.2 信号量的应用 62
3.3 管程机制 64
3.3.1 管程的概念 64
3.3.2 条件变量 65
3.4 经典的进程同步问题 66
3.4.1 生产者-消费者问题 66
3.4.2 读者-写者问题 68
3.4.3 哲学家进餐问题 71
3.5 案例:Linux系统中的进程同步机制 73
3.5.1 Linux系统进程同步概述 73
3.5.2 Linux互斥锁 74
3.5.3 Linux信号量 76
3.5.4 Linux条件变量 77
3.5.5 Linux读写锁 78
3.5.6 Linux文件锁 79
3.6 习题 80
第4章 处理器调度 81
4.1 处理器调度概述 81
4.1.1 处理器调度的层次 81
4.1.2 作业与作业调度 82
4.1.3 进程调度 83
4.1.4 处理器调度算法的目标 84
4.2 处理器调度算法 86
4.2.1 先来先服务调度算法 86
4.2.2 最短作业优先调度算法 87
4.2.3 轮转调度算法 88
4.2.4 优先级调度算法 90
4.2.5 高响应比优先调度算法 91
4.2.6 多级反馈队列调度算法 92
4.2.7 基于公平原则的调度算法 94
4.3 实时调度 95
4.3.1 实现实时调度的基本条件 95
4.3.2 实时调度算法的分类 96
4.3.3 实时调度算法 97
4.4 多处理器调度 100
4.4.1 多处理器系统的类型 101
4.4.2 自调度 101
4.4.3 组调度 101
4.5 案例:Linux系统中的进程调度策略 101
4.5.1 Linux进程结构 101
4.5.2 Linux进程状态与运行模式 103
4.5.3 Linux进程控制 105
4.5.4 调度器与调度算法 107
4.5.5 进程调度策略的配置 109
4.6 习题 112
第5章 死锁 114
5.1 死锁的概念 114
5.2 产生死锁的条件和处理方法 115
5.2.1 必要条件 115
5.2.2 处理死锁的基本方法 116
5.3 死锁的预防 116
5.3.1 预先分配策略 117
5.3.2 有序分配策略 117
5.4 死锁的避免 118
5.4.1 系统安全状态 118
5.4.2 银行家算法 119
5.5 死锁的检测与解除 121
5.5.1 死锁的检测 121
5.5.2 死锁的解除 123
5.6 死锁的综合处理策略 124
5.7 案例:Linux系统中的死锁分析 124
5.7.1 使用pstack和gdb工具对死锁程序进行分析 124
5.7.2 在Linux系统上分析死锁 125
5.8 习题 130
第6章 内存管理 132
6.1 程序的链接与加载 132
6.1.1 程序的链接 132
6.1.2 程序的加载 133
6.1.3 重定位 134
6.2 连续分配存储管理 134
6.2.1 单一连续分区方式 134
6.2.2 固定分区方式 134
6.2.3 动态分区方式 136
6.2.4 伙伴系统 141
6.3 基本分页存储管理 142
6.3.1 分页基本思想 142
6.3.2 地址变换过程 143
6.3.3 引入快表的地址变换机构 144
6.3.4 多级页表 145
6.4 基本分段存储管理 146
6.4.1 分段基本思想 146
6.4.2 地址变换过程 147
6.4.3 分段与分页的比较 147
6.5 段页式存储管理 148
6.5.1 段页式基本思想 148
6.5.2 地址变换机构 149
6.6 案例:Linux内存API的应用 150
6.6.1 内存类型 150
6.6.2 malloc()调用 150
6.6.3 free()调用 150
6.7 习题 151
第7章 虚拟存储管理 152
7.1 虚拟存储管理概述 152
7.1.1 局部性原理 152
7.1.2 对换 153
7.1.3 虚拟存储的定义 154
7.2 请求分页存储管理 154
7.2.1 请求分页页表结构 154
7.2.2 请求分页地址变换 156
7.2.3 驻留集管理 157
7.2.4 调入与清除管理 160
7.3 页面置换算法 161
7.3.1 最佳置换算法 161
7.3.2 先进先出置换算法 162
7.3.3 最近最久未使用置换算法 162
7.3.4 时钟置换算法 163
7.3.5 最近最少使用置换算法 164
7.4 请求分段存储管理 164
7.4.1 请求分段段表结构 165
7.4.2 请求分段地址转换 165
7.4.3 分段的共享与保护 166
7.5 案例:Linux内存虚拟化及
页式地址变换 168
7.5.1 内存虚拟化 168
7.5.2 地址变换 169
7.5.3 页式地址变换 170
7.6 习题 170
第8章 设备管理 171
8.1 设备分类 171
8.2 接口 172
8.2.1 设备与设备控制器之间的接口 172
8.2.2 设备控制器 173
8.2.3 I/O通道 174
8.3 I/O控制方式 175
8.3.1 程序直接控制方式 175
8.3.2 中断控制方式 176
8.3.3 直接存取控制方式 176
8.3.4 通道控制方式 178
8.4 I/O软件设计 179
8.4.1 中断处理程序 179
8.4.2 设备驱动程序 180
8.4.3 设备独立性软件 181
8.4.4 用户层I/O 182
8.5 缓冲管理 182
8.5.1 缓冲的引入 182
8.5.2 单缓冲 183
8.5.3 双缓冲 184
8.5.4 循环缓冲 184
8.5.5 缓冲池 185
8.6 磁盘存储器管理 186
8.6.1 磁盘性能参数 187
8.6.2 磁盘调度算法 188
8.7 案例:Linux中断处理 191
8.8 习题 193
第9章 文件管理 194
9.1 文件和文件系统 194
9.1.1 文件系统功能 194
9.1.2 文件结构 195
9.1.3 文件名和文件类型 196
9.1.4 文件系统结构 197
9.2 文件逻辑组织 198
9.2.1 文件分类 198
9.2.2 堆文件 199
9.2.3 顺序文件 199
9.2.4 索引顺序文件 200
9.2.5 索引文件 201
9.2.6 直接文件和哈希文件 201
9.3 文件目录 201
9.3.1 文件控制块和索引节点 202
9.3.2 单级目录和两级目录 203
9.3.3 多级目录 205
9.3.4 目录查询技术 206
9.3.5 目录文件 207
9.4 文件共享与保护 208
9.4.1 访问权限 208
9.4.2 共享模式 209
9.4.3 文件保护 211
9.5 外存空间管理 212
9.5.1 文件分配 213
9.5.2 文件物理组织 213
9.5.3 空闲表和空闲链表 217
9.5.4 位示图 218
9.5.5 UNIX成组链接 219
9.6 分布式文件系统 220
9.6.1 分布式存储技术 220
9.6.2 GFS 221
9.6.3 HDFS文件结构 222
9.6.4 HDFS文件接口 226
9.7 案例:Linux文件操作 228
9.7.1 Linux文件概述 228
9.7.2 读写文件 229
9.7.3 获取文件信息 229
9.7.4 删除文件 230
9.7.5 硬链接 230
9.7.6 符号链接 231
9.8 习题 231
第10章 系统安全 232
10.1 系统保护与安全环境 232
10.1.1 系统安全目标及特性 232
10.1.2 主要安全威胁 233
10.1.3 操作系统安全问题 234
10.2 数据加密技术 236
10.2.1 数据加密方法 236
10.2.2 数字签名和数字证书 237
10.3 操作系统加固 239
10.3.1 操作系统安装与更新 239
10.3.2 删除不必要的服务、应用与协议 239
10.3.3 对用户和组进行配置 240
10.3.4 对资源控制进行配置 240
10.3.5 安装额外的安全控制工具 240
10.3.6 安全性维护 241
10.4 可信系统 241
10.4.1 可信计算 242
10.4.2 可信操作系统体系结构 243
10.4.3 可信操作系统关键技术 243
10.4.4 可信应用 244
10.5 案例:Linux系统权限 244
10.5.1 权限类别 244
10.5.2 权限管理 246
10.6 习题 247
第11章 操作系统接口 248
11.1 交互接口 248
11.1.1 联机命令接口 248
11.1.2 图形用户接口 249
11.2 系统调用 250
11.2.1 系统调用的概念 250
11.2.2 系统调用的类型 251
11.2.3 系统调用的实现 251
11.2.4 API与系统调用的实现 253
11.3 Shell命令语言 254
11.3.1 Shell简介 254
11.3.2 简单的Shell命令 255
11.3.3 重定向与管道命令 257
11.3.4 通信命令 258
11.3.5 后台命令 259
11.4 案例:Linux系统的用户接口 259
11.4.1 Linux的命令行用户接口 259
11.4.2 Linux的图形用户接口 260
11.4.3 Linux的系统调用 262
11.5 习题 263
第12章 案例—openEuler操作系统 264
12.1 openEuler系统概述 264
12.1.1 简介 264
12.1.2 安装流程 264
12.1.3 使用方式 265
12.2 安装配置 265
12.2.1 安装VirtualBox 265
12.2.2 安装openEuler 265
12.2.3 安装桌面 268
12.3 基本设置 269
12.3.1 电源管理 269
12.3.2 文件管理 270
12.3.3 目录管理 270
12.3.4 用户管理 273
12.3.5 权限管理 274
12.3.6 用户切换 275
12.3.7 软件包管理 276
12.4 Hadoop环境搭建 276
12.4.1 节点设置机器名 276
12.4.2 配置静态IP 277
12.4.3 配置免密钥登录 277
12.4.4 配置JDK 278
12.4.5 设置Hadoop参数 279
12.4.6 格式化HDFS 282
12.4.7 启动Hadoop 282
12.5 习题 283
参考文献 284