基本信息·出版社:人民邮电出版社 ·页码:323 页 ·出版日期:2009年02月 ·ISBN:7115190372/9787115190376 ·条形码:9787115190376 ·版本:第1版 · ...
商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
|
计算机操作系统 |
|
|
|
计算机操作系统 |
|
基本信息·出版社:人民邮电出版社
·页码:323 页
·出版日期:2009年02月
·ISBN:7115190372/9787115190376
·条形码:9787115190376
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:普通高等教育“十一五”国家级规划教材,高等学校计算机系列
内容简介 操作系统是现代计算机系统中必不可少的重要系统软件,也是计算机专业的必修课程。《计算机操作系统》深入浅出地对操作系统的基本原理进行了描述,并以UNIX和Windows操作系统为例,分析了操作系统的实现思想。
《计算机操作系统》共分为11章。主要内容包括操作系统的基本概念和作用、不同操作系统的特点,进程和线程的基本概念、处理器调度、进程的同步与通信、死锁,传统存储器管理和虚拟存储器管理,设备管理,文件管理和磁盘管理,用户接口,操作系统结构等。
《计算机操作系统》的内容符合计算机专业“计算机操作系统”教学大纲要求,并涵盖2009年硕士研究生全国统一入学考试大纲的内容。
《计算机操作系统》可作为计算机及相关专业的教材,也可供初学者学习参考。
编辑推荐 教材编写思路
《计算机操作系统》被评为普通高等教育“十一五”国家级规划教材,也是四川大学省级精品课程“操作系统原理”的配套教材。《计算机操作系统》深入浅出地对操作系统的基本原理进行了描述,并以UNIX和Windows操作系统为例,分析了操作系统的实现思想。《计算机操作系统》在内容选择和组织上注重操作系统原理与实际应用结合,使学生在掌握理论知识的同时,能够将所学理论应用到实际操作系统中,培养和提高学生的专业技能和创新意识。《计算机操作系统》的内容符合计算机专业“计算机操作系统”教学大纲要求,并涵盖2009年硕士研究生全国统一入学考试大纲的内容。
适用教学对象
《计算机操作系统》可作为计算机及相关专业的教材,也可供初学者学习参考。
辅助教学资源
教学课件和相关源代码。
目录 第1章 导论 1
1.1 操作系统与计算机 1
1.1.1 计算机的组织结构 1
1.1.2 操作系统与计算机 2
1.1.3 操作系统的概念和使用操作系统的目的 2
1.2 操作系统的功能和特征 3
1.2.1 操作系统的功能 3
1.2.2 操作系统的特征 6
1.3 操作系统的发展 7
1.3.1 早期的系统 7
1.3.2 批处理系统 8
1.3.3 多道程序系统 10
1.3.4 分时操作系统 11
1.3.5 实时操作系统 13
1.3.6 个人计算机操作系统 15
1.3.7 网络操作系统 16
1.3.8 分布式操作系统 17
1.3.9 嵌入式操作系统 19
1.4 IBM计算机与操作系统 20
1.4.1 早期的IBM计算机 20
1.4.2 具有批处理系统的计算机 22
1.4.3 IBM 360家族 23
1.4.4 IBM AS400 25
1.4.5 IBM大型主机 27
1.5 本章小结 28
练习1 29
第2章 进程的描述与控制 30
2.1 进程描述 30
2.1.1 进程概念和特征 30
2.1.2 进程的基本状态及转换 32
2.1.3 具有挂起功能的进程状态和转换 33
2.1.4 进程的描述 35
2.2 进程控制 38
2.2.1 进程创建 38
2.2.2 进程的结束 39
2.2.3 进程阻塞和唤醒 40
2.2.4 进程的挂起和激活 40
2.2.5 执行的模式 41
2.2.6 操作系统的运行 41
2.3 前趋图 42
2.4 UNIX操作系统的进程描述和控制 43
2.4.1 UNIX操作系统的进程状态 43
2.4.2 UNIX操作系统进程的描述和控制 44
2.4.3 UNIX操作系统的多级进程关系 45
2.5 线程的描述与控制 46
2.5.1 线程及其特征 46
2.5.2 线程的状态与控制 48
2.5.3 线程库 48
2.5.4 线程的实现 49
2.5.5 线程模型 51
2.6 Solaris操作系统线程 52
2.6.1 Solaris系统中的进程与线程 52
2.6.2 Solaris系统中的线程状态 54
2.7 本章小结 55
练习2 55
第3章 处理器调度 57
3.1 处理器调度的层次 57
3.1.1 高级调度 57
3.1.2 中级调度 60
3.1.3 低级调度 60
3.2 评价调度算法的准则 63
3.3 调度算法 65
3.3.1 作业调度算法 65
3.3.2 进程调度算法 71
3.4 线程调度 75
3.5 实时调度 76
3.5.1 实时调度需要满足的条件 76
3.5.2 实时调度算法 78
3.6 多处理器调度 79
3.6.1 多处理器中同步的粒度 80
3.6.2 多处理器调度的设计要点 80
3.6.3 线程调度策略 82
3.7 Windows 2000/XP系统的处理器调度 85
3.7.1 Windows 2000/XP中的线程调度 85
3.7.2 Windows 2000/XP中线程调度的数据结构 86
3.7.3 Windows 2000/XP线程调度的相关问题 86
3.7.4 对称多处理器系统上的线程调度 87
3.8 本章小结 89
练习3 90
第4章 进程同步与进程通信 93
4.1 进程并发 93
4.1.1 程序的顺序执行 93
4.1.2 进程的并发性 94
4.1.3 进程间的竞争和协作 96
4.1.4 进程同步 97
4.2 临界区管理 99
4.2.1 临界资源和临界区 99
4.2.2 进程同步准则 99
4.2.3 早期的临界区管理方法 100
4.3 信号量机制 108
4.3.1 整型信号量 108
4.3.2 记录型信号量 113
4.3.3 AND型信号量集 114
4.3.4 信号量集 116
4.3.5 一些信号量实现问题 116
4.4 用信号量解决经典进程同步问题 118
4.4.1 生产者和消费者问题 118
4.4.2 读者和写者问题 121
4.4.3 哲学家就餐问题 124
4.5 管程 124
4.5.1 管程的定义 125
4.5.2 Hoare和Hanse观点 127
4.5.3 管程的应用 133
4.6 进程通信 136
4.6.1 共享存储区通信机制 136
4.6.2 消息传递通信机制 137
4.6.3 管道通信机制 140
4.7 线程的同步和通信 143
4.7.1 线程之间的同步 143
4.7.2 线程之间的通信 145
4.7.3 Windows 2000/XP中的同步和通信 145
4.8 本章小结 147
练习4 147
第5章 死锁 150
5.1 死锁的产生 150
5.1.1 死锁产生的原因 150
5.1.2 死锁产生的条件 151
5.1.3 处理死锁的基本方法 152
5.1.4 资源分配图 152
5.2 死锁预防 153
5.3 死锁避免 156
5.3.1 系统的安全状态 156
5.3.2 银行家算法 158
5.4 死锁的检测和解除 161
5.4.1 检测死锁 161
5.4.2 死锁解除 163
5.5 线程死锁 165
5.6 本章小结 165
练习5 166
第6章 存储器管理 167
6.1 存储器管理概述 167
6.1.1 存储器的层次 167
6.1.2 程序准备执行 168
6.1.3 覆盖技术 171
6.1.4 紧凑技术 172
6.1.5 对换技术 172
6.2 连续存储空间管理 173
6.2.1 单一连续分配 173
6.2.2 固定分区分配方式 173
6.2.3 可变分区分配 175
6.3 分页式存储管理 178
6.3.1 分页存储管理的基本原理 179
6.3.2 页表 180
6.3.3 地址变换机构 181
6.3.4 快表 181
6.3.5 多级页表 182
6.3.6 反置页表(Inverted Page Table) 185
6.3.7 分页存储管理中的页面共享和保护 185
6.4 分段式存储管理 186
6.4.1 分段存储管理 186
6.4.2 分段存储管理中的段表和地址变换机构 187
6.4.3 分段式存储管理与分页存储管理的区别 188
6.4.4 具有分页的分段 188
6.4.5 段的共享和保护 189
6.5 本章小结 190
练习6 191
第7章 虚拟存储器管理 192
7.1 虚拟存储器的基本概念 192
7.1.1 虚拟存储器的概念 192
7.1.2 虚拟存储器的特征 194
7.2 请求分页虚拟存储管理 194
7.2.1 请求分页的硬件支持 194
7.2.2 分页虚拟存储器管理实施中的策略问题 197
7.3 页面置换算法 199
7.3.1 先进先出(FIFO)页面置换算法 200
7.3.2 最佳(optimal)页面置换算法 201
7.3.3 最近最久未使用(LRU)页面置换算法 202
7.3.4 时钟(clock)置换算法 203
7.4 页面调度性能 204
7.4.1 页面调度对系统性能的影响分析 204
7.4.2 工作集模型 207
7.5 请求分段存储管理方式 207
7.5.1 请求分段的实现 208
7.5.2 段页式虚拟存储器管理的实现 208
7.5.3 具有分页的分段实例:MULTICS操作系统 209
7.6 Windows 2000/XP系统存储器管理实例 209
7.6.1 基于分页管理的Windows 2000/XP 210
7.6.2 Windows 2000/XP系统的虚拟存储管理实现 211
7.6.3 Windows 2000/XP的内存空间分配 212
7.6.4 Windows 2000/XP内存页面级保护机制 214
7.7 本章小结 214
练习7 214
第8章 输入/输出设备管理 216
8.1 输入/输出系统 216
8.1.1 输入/输出系统 217
8.1.2 输入/输出设备 219
8.1.3 设备管理的功能 220
8.2 设备控制器 220
8.2.1 设备控制器及其主要功能 220
8.2.2 设备控制器的组成 221
8.3 输入/输出控制方式 222
8.3.1 轮流测试(polling) 222
8.3.2 中断方式(interrupts) 223
8.3.3 直接存储器访问(DMA)方式 224
8.3.4 通道(channel)方式 225
8.4 缓冲管理 229
8.4.1 缓冲的引入 229
8.4.2 单缓冲区 229
8.4.3 双缓冲区 230
8.4.4 循环缓冲区 231
8.4.5 缓冲池(buffer pool) 233
8.5 输入/输出软件 235
8.5.1 中断处理程序 235
8.5.2 设备驱动程序 236
8.5.3 与设备无关的操作系统软件 237
8.5.4 用户级输入/输出软件 238
8.6 设备分配和回收 240
8.6.1 对设备的控制和描述信息 240
8.6.2 设备分配原则 241
8.6.3 设备分配与回收过程 243
8.7 本章小结 244
练习8 245
第9章 文件管理 246
9.1 文件和文件属性 246
9.1.1 文件的概念 246
9.1.2 文件的分类 247
9.1.3 文件属性 248
9.2 文件结构和文件实现 249
9.2.1 文件的逻辑结构 249
9.2.2 文件的物理结构 252
9.2.3 文件的实现 256
9.2.4 文件的操作 257
9.3 文件系统 257
9.3.1 文件系统及其功能 257
9.3.2 文件系统模型 258
9.3.3 文件系统的实例 259
9.4 目录管理 260
9.4.1 文件控制块 260
9.4.2 文件索引节点 261
9.4.3 单级目录结构 262
9.4.4 两级目录结构 263
9.4.5 树形目录结构 263
9.4.6 非循环图目录结构 264
9.4.7 一般图目录结构 265
9.4.8 目录实现 266
9.5 磁盘存储器管理 267
9.5.1 磁盘存储器的物理结构 268
9.5.2 对磁盘的访问 268
9.5.3 磁盘格式化 269
9.5.4 磁盘的访问时间 269
9.5.5 磁盘调度算法 270
9.5.6 磁盘的分配和回收 274
9.5.7 磁盘可靠性 278
9.5.8 独立磁盘冗余阵列(RAID) 280
9.6 文件系统性能和可靠性 281
9.6.1 磁盘高速缓存 281
9.6.2 缓冲区的提前读与延迟写 282
9.6.3 减少磁臂运动 282
9.6.4 文件系统可靠性 283
9.7 文件的共享和保护 283
9.7.1 基于i节点的文件共享方法 283
9.7.2 基于符号链方法的文件共享 284
9.7.3 文件的存取权限及验证 284
9.8 文件系统实例 285
9.8.1 CD-ROM文件系统 286
9.8.2 MS-DOS文件系统 287
9.8.3 Microsoft Windows 98文件系统 288
9.8.4 UNIX文件系统 289
9.9 本章小结 293
练习9 293
第10章 用户接口 295
10.1 命令接口 295
10.1.1 命令接口及命令分类 295
10.1.2 命令方式 296
10.1.3 常用的UNIX命令 296
10.2 图形接口 297
10.3 程序接口 298
10.3.1 系统调用函数 299
10.3.2 UNIX系统中的系统调用 299
10.4 本章小结 309
练习10 309
第11章 操作系统的性能指标和系统结构 310
11.1 操作系统的性能指标 310
11.2 操作系统结构 311
11.2.1 简单结构形式 311
11.2.2 模块化结构形式 311
11.2.3 基于层结构形式 312
11.2.4 基于微内核结构形式 314
11.2.5 虚拟机结构形式 315
11.3 UNIX和Windows的系统结构 317
11.3.1 UNIX的系统结构 317
11.3.2 Windows的系统结构 318
练习11 322
参考文献
……
序言 操作系统是计算机系统的重要组成部分,是计算机及相关专业的必修课程。
随着我国高等教育改革的深入和计算机科学技术的发展,近几年来,计算机及相关专业本科教学发生了很大的变化,对传统的课程内容及其课时进行了精简,并设置了许多新的课程,如计算机网络、分布式处理系统、计算机及信息安全、UNIX操作系统、Linux操作系统和大型计算机操作系统等。
为了适应教学改革,操作系统课程的课时从过去的近80学时降到68学时,再降到现在的48学时,课程内容和教学大纲内容也进行了相应调整,并增设了20学时的操作系统课程设计。针对这些变化,现在操作系统课堂授课内容主要围绕操作系统的管理功能展开,除进程与线程管理、存储器管理、设备管理、文件管理和用户接口外,传统操作系统教程中的内容,如网络操作系统、分布式操作系统和操作系统安全等内容,基本不包括在操作系统课程教学中,而分别设置在计算机网络、分布式处理系统、计算机及信息安全、Linux操作系统和UNIX操作系统课程中。
本书的内容组织和编写正是为了适应操作系统课程的变化。
本书的内容在完全围绕操作系统的处理器管理、存储器管理、设备管理、文件管理和用户接口功能的基础上,将操作系统结构作为独立的章节。这样,既体现了课程授课内容,又体现了操作系统课程设计的内容。
为了适应计算机新技术发展的特点,特别是多核处理器的出现,本书扩大了线程管理和多处理器调度等内容。
在操作系统课程学习中,学生普遍感到学习内容太抽象,许多原理难以掌握。本书在介绍重要的概念和原理之后,针对实际操作系统中的实现,进行了实例分析。
文摘 2.4.1 UNIX操作系统的进程状态
不同的操作系统,根据实际描述进程的需要可以定义进程的各种状态。在UNIX操作系统中,进程的状态及状态转换关系如图2.10所示。
与一般的进程状态比较,UNIX的进程描述划分更细,有9个进程状态。
(1)创建状态:进程的初始状态,进程未进入就绪状态之前的情形。
(2)内存就绪状态:进程己具备执行条件,等待系统调度程序调度进程执行。
(3)换出就绪状态:为了节约内存,将处于内存就绪状态的进程换出到外存,相当于进程的挂起就绪状态。换出就绪进程需要换入内存,成为内存就绪状态后才能被调度执行。
(4)核心态执行:处于执行状态的进程,此时进程执行的是操作系统核心程序。如果用户程序中出现系统调用,则系统调用部分切换到核心态下执行。
插图: