计算机类专业教育 > 操作系统类

操作系统(第三版)

书号:9787113109684 套系名称:21世纪高等院校计算机专业规划教材

作者:刘振鹏 王 煜 张 明 出版日期:2010-07-01

定价:32.00 页码 / 开本:328 /16

策划编辑:秦绪好 孟欣 责任编辑:孟欣

适用专业:无 适用层次:本科

最新印刷时间:

资源下载
教学课件 教学素材
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  •         本书为普通高等教育“十一五”国家级规划教材,是在《操作系统(第二版)》的基础上修订而成的。与第二版相比,第三版在结构、内容上都作了调整、修改和增删。全书内容包括:操作系统的形成、类型、结构和功能,用户接口和作业管理,进程与进程管理,进程的同步与通信,存储器管理,文件管理,设备管理以及网络与分布式系统等。本书以Linux操作系统为例,具体分析了当代操作系统的设计思想和实现技术。本书内容丰富,结构清晰,突出基础,注重应用,强调理论与实践的结合,适合作为高等院校计算机及相关专业的教材,也可供计算机爱好者自学使用。另外,本书对于从事计算机应用和开发的技术人员也具有一定的参考价值。
  •         操作系统是计算机系统中必不可少的系统软件之一,它出现于20世纪50年代末,至今已有50多年。操作系统是计算机课程体系中很重要的一门专业核心基础原理课程。操作系统的研发能力也能够体现计算机软件发展的水平。因此,一本适用的操作系统教材十分重要。本书是根据编者在多年教学和科研的基础上撰写的。《操作系统》第一版出版于2003年,第二版出版于2007年,入选为普通高等教育“十一五”国家级规划教材。编者在使用本书的这几年中,通过在第一线的教学实践,积累了大量的经验,并收集了使用本书的众多教师和学生的反馈意见。经过反复推敲、论证,编者对原书内容做了调整,修改和增删了一些内容,更加着重于突出重点内容。本书是关于操作系统的基本概念、基本方法、设计原理和实现的教材,其目的在于可以系统、全面地讲解操作系统的概念、原理和实现。修订后的《操作系统(第三版)》仍分8章,并在每章之后添加了小结。本书的内容包括:第1章操作系统引论,介绍操作系统的概念和操作系统的形成与发展、操作系统的类型和功能,研究操作系统的观点以及操作系统的硬件环境,并增加了嵌入式操作系统和操作系统结构设计模式的介绍。第2章用户接口和作业管理,重点介绍了操作系统的用户接口,并对操作系统作业管理的概念和功能以及批处理作业的管理方式进行了分析,删除了交互式作业管理的有关内容。第3、4章详细介绍了进程和线程的基本概念、进程控制、进程调度、同步和通信以及死锁,修改、完善并增加了一些进程同步问题的算法,补充了一些例题和死锁的检测算法。第5章存储器管理,介绍了存储器管理的概念和功能,增加了工作集和抖动等内容。第6章文件管理,介绍了文件管理的基本概念和功能,增加了NTFS文件系统的实现介绍,删除了文件的成组和分解的内容。第7章设备管理,介绍了设备管理的基本概念和内容,并对原有内容进行了调整,使其具有更好的逻辑性。第8章网络与分布式系统,介绍了网络操作系统和分布式操作系统的一些知识。《操作系统(第三版)》保持了原书的一贯风格,以先进性、简明性和理论与实践并重为编写的指导原则,系统地讲述了操作系统的基本概念、原理和实现技术,并以Linux操作系统为例,具体分析了当代操作系统的设计思想和实现技术。本次教材修订中,王煜编写了第2、3、4、6章,张明编写了第5、7章,何操、陆全华、谢晓峰编写了第1章,李苗在编写了第8章,最后由刘振鹏统稿。本书在写作和两次再版过程中,得到了许多专家和众多院校操作系统任课教师的大力支持和帮助,他们提出了许多中肯的意见和诚挚的建议,编者向他们表示衷心的感谢。感谢中国铁道出版社的各位编辑和图书推广人员,他们为本书高质量的出版以及被更多院校选用做出了巨大贡献。限于编者水平有限,书中难免还有不足之处,恳请读者批评指正。 编 者
  • 第1章  引论 1
    1.1  操作系统的概念 1
    1.1.1  计算机系统 1
    1.1.2  什么是操作系统 3
    1.1.3  操作系统的目标 4
    1.2  操作系统的形成与发展 4
    1.2.1  操作系统的形成 5
    1.2.2  操作系统的进一步发展 12
    1.2.3  推动操作系统发展的主要动力 17
    1.3  研究操作系统的几种观点 18
    1.3.1  软件的观点 18
    1.3.2  计算机系统资源管理的观点 18
    1.3.3  进程的观点 19
    1.3.4  用户与计算机硬件系统之间接口的观点 19
    1.3.5  虚机器观点 20
    1.3.6  服务提供者观点 20
    1.4  操作系统的功能与特征 21
    1.4.1  操作系统的功能 21
    1.4.2  操作系统的特征 26
    1.5  操作系统结构设计 27
    1.5.1  传统的操作系统结构 27
    1.5.2  现代的操作系统结构 29
    1.6  操作系统的硬件环境 31
    1.6.1  中央处理机 31
    1.6.2  存储系统 34
    1.6.3  缓冲技术 36
    1.6.4  中断技术 37
    1.6.5  时钟 43
    小结 44
    习题 45
    第2章  用户接口和作业管理 46
    2.1  概述 46
    2.1.1  作业的基本概念 46
    2.1.2  用户接口 47
    2.2  命令接口 48
    2.2.1  联机命令接口 48
    2.2.2  脱机命令接口 50
    2.3  系统调用 51
    2.3.1  系统调用的概念 51
    2.3.2  系统调用的处理过程 52
    2.4  作业管理 53
    2.4.1  作业控制块和作业表 53
    2.4.2  作业的建立 54
    2.4.3  批处理作业的调度 55
    2.4.4  作业的执行 58
    2.4.5  作业的终止与撤销 58
    2.4.6  作业状态 59
    小结 60
    习题 60
    第3章  进程与进程管理 62
    3.1  进程的引入 62
    3.1.1  前趋图的定义 62
    3.1.2  程序顺序执行 63
    3.1.3  程序并发执行 63
    3.1.4  多道程序设计 65
    3.2  进程 66
    3.2.1  进程的概念 66
    3.2.2  进程的基本状态及其转换 67
    3.2.3  进程控制块 70
    3.2.4  进程控制 72
    3.3  进程调度 77
    3.3.1  调度的基本概念 77
    3.3.2  进程调度算法 78
    3.3.3  进程调度的时机和过程 82
    3.4  线程的基本概念 83
    3.4.1  线程的引入 83
    3.4.2  线程的定义和属性 84
    3.4.3  线程与进程的比较 85
    3.4.4  线程的实现机制 86
    3.5  Linux的进程与进程管理 87
    3.5.1  Linux的进程结构与进程控制 87
    3.5.2  Linux的核心进程调度 88
    小结 94
    习题 95
    第4章  进程同步与通信 97
    4.1  进程间的相互作用 97
    4.1.1  进程间的联系 97
    4.1.2  利用软件方法解决进程互斥问题 99
    4.1.3  利用硬件方法解决进程互斥问题 102
    4.1.4  信号量机制 103
    4.1.5  经典进程同步问题 107
    4.1.6  管程机制 115
    4.2  进程通信 121
    4.2.1  进程通信的类型 121
    4.2.2  直接通信和间接通信 123
    4.2.3  消息缓冲队列通信机制 124
    4.3  死锁 125
    4.3.1  产生死锁的原因和必要条件 126
    4.3.2  预防死锁 129
    4.3.3  避免死锁 130
    4.3.4  检测死锁 134
    4.3.5  解除死锁 136
    4.4  Linux进程间通信 136
    4.4.1  Linux进程通信的基本概念 136
    4.4.2  Linux消息队列 139
    4.4.3  Linux的信号量 142
    4.4.4  共享内存 144
    4.4.5  Linux系统调用与进程通信 146
    4.4.6  进程通信信号 146
    小结 147
    习题 148
    第5章  存储器管理 151
    5.1  概述 151
    5.1.1  存储体系 151
    5.1.2  存储管理的目的 151
    5.1.3  存储管理的任务 152
    5.1.4  程序的链接和装入 153
    5.1.5  存储管理方式的分类 155

    5.2  连续存储管理方式 156
    5.2.1  单一连续分配 156
    5.2.2  分区分配 156
    5.3  覆盖技术与交换技术 161
    5.3.1  覆盖技术 161
    5.3.2  交换技术 162
    5.4  分页存储管理方式 162
    5.4.1  工作原理 163
    5.4.2  动态地址变换 164
    5.4.3  快表 165
    5.4.4  两级和多级页表 166
    5.4.5  分配与回收 167
    5.5  分段存储管理方式 167
    5.5.1  工作原理 168
    5.5.2  动态地址变换 168
    5.5.3  存储保护 169
    5.5.4  分页和分段的主要区别 169
    5.6  段页式存储管理方式 169
    5.6.1  工作原理 170
    5.6.2  地址变换 170
    5.7  虚拟存储器 171
    5.7.1  概述 171
    5.7.2  分页虚拟存储管理 172
    5.7.3  分段虚拟存储管理 180
    5.8  Linux的内存管理 182
    5.8.1  Linux存储管理的重要数据结构 182
    5.8.2  页表的管理 184
    5.8.3  页面分配和回收 184
    5.8.4  页面换入 185
    5.8.5  换出与丢弃页面 186
    5.8.6  页面错误的处理 187
    5.8.7  页面cache 188
    5.8.8  Linux的swap cache 188
    5.8.9  内核cache的管理 189
    小结 191
    习题 192

    第6章  文件管理 194
    6.1  概述 194
    6.1.1  文件和文件系统 194
    6.1.2  文件的分类 195
    6.2  文件的结构和存取方式 196
    6.2.1  文件的存取方式 196
    6.2.2  文件的逻辑结构 197
    6.2.3  存储介质 198
    6.2.4  文件的物理结构 201
    6.3  文件目录 209
    6.3.1  文件控制块 210
    6.3.2  文件目录结构 210
    6.3.3  目录的查找和目录的改进 212
    6.4  文件系统的实现 214
    6.4.1  打开文件表 214
    6.4.2  外存空间管理 215
    6.5  文件的使用 217
    6.5.1  主要操作 217
    6.5.2  文件共享 219
    6.6  文件系统的安全性和数据一致性 222
    6.6.1  防止人为因素造成的文件不安全性 223
    6.6.2  防止系统因素或自然因素造成的文件不安全性 225
    6.6.3  文件系统的数据一致性 229
    6.7  磁盘调度 230
    6.7.1  磁盘I/O时间 231
    6.7.2  磁盘的移臂调度 231
    6.7.3  磁盘的优化分布 233
    6.8  Linux的文件系统 234
    6.8.1  Linux文件系统的结构 234
    6.8.2  Linux文件类型 235
    6.8.3  Linux文件系统的目录 235
    6.8.4  Linux文件的查找 236
    6.8.5  Linux文件的操作 236
    6.8.6  Linux文件的共享 239
    6.8.7  Linux文件目录操作 240
    6.8.8  Linux文件的一致性处理 240
    6.8.9  Linux EXT2文件系统 241
    6.8.10  EXT2位示图和I结点图 242
    6.8.11  Linux高速缓存 243
    小结 245
    习题 246
    第7章  设备管理 248
    7.1  概述 248
    7.1.1  设备的分类 248
    7.1.2  设备管理的目标和功能 249
    7.2  I/O硬件特点 250
    7.2.1  设备组成 250
    7.2.2  设备接口 250
    7.2.3  设备控制器 250
    7.2.4  通道 251
    7.2.5  I/O控制方式 253
    7.2.6  缓冲技术 256
    7.3  I/O软件的组成 259
    7.3.1  I/O软件的目标 259
    7.3.2  中断处理程序 259
    7.3.3  设备驱动程序 261
    7.3.4  独立于设备的软件 262
    7.3.5  用户空间的I/O软件 264
    7.4  设备分配 264
    7.4.1  设备分配中的数据结构 265
    7.4.2  设备独立性 266
    7.4.3  设备分配 267
    7.5  虚拟设备 268
    7.5.1  Spooling技术 268
    7.5.2  共享打印机 269
    7.5.3  Spooling系统的优缺点 270
    7.6  Linux的I/O设备管理 270
    7.6.1  Linux中的设备文件 270
    7.6.2  Linux的设备驱动程序 271
    7.6.3  Linux的中断处理 276
    小结 278
    习题 278
    第8章  网络与分布式系统 280
    8.1  分布式系统概述 280
    8.1.1  分布式系统的概念 280
    8.1.2  通信结构 281
    8.1.3  开放式系统互连通信结构 284
    8.2  网络服务器 288
    8.2.1  服务器的结构 289
    8.2.2  磁盘和文件服务器 290
    8.2.3  文件高速缓冲存储器的一致性问题 290
    8.2.4  打印机服务器 291
    8.2.5  调制解调器服务器 292
    8.3  分布式进程管理 292
    8.3.1  分布式进程的状态及其转换 292
    8.3.2  处理机管理 293
    8.4  进程迁移 294
    8.4.1  进程迁移机制 295
    8.4.2  迁移处理 296
    8.5  分布式进程通信 297
    8.5.1  信息传送机制 297
    8.5.2  远程过程调用 298
    8.5.3  确定分布式系统的全局状态 300
    8.6  分布式进程同步与互斥 303
    8.6.1  事件定序法 303
    8.6.2  分布式互斥 304
    8.6.3  分布式算法 306
    8.7  分布式进程死锁问题 309
    8.7.1  资源分配中的死锁 309
    8.7.2  消息通信中的死锁 311
    小结 312
    习题 313
    参考文献 314