操作系统笔记(第四版) 汤小丹

1. 索引目录

《计算机操作系统》| 第一章 操作系统引论 知识梳理

《计算机操作系统》| 第二章 进程管理(进程和线程) 知识梳理

《计算机操作系统》| 第二章 进程管理(处理机调度) 知识梳理

《计算机操作系统》| 第二章 进程管理(进程同步) 知识梳理

《计算机操作系统》| 第二章 进程管理(死锁) 知识梳理

《计算机操作系统》| 第四章 存储器管理 知识梳理

《计算机操作系统》| 虚拟存储器 知识梳理

《计算机操作系统》| 设备管理 知识梳理

《计算机操作系统》| 文件管理 知识梳理

操作系统 第一章习题

操作系统 第二章习题

操作系统 第三章习题

操作系统 第四章习题

操作系统 第五章习题

操作系统 第六章习题

页表
寻道时间最长

【记忆】
线程与进程的区别
113 产生死锁的原因和必要条件
虚拟存储技术
信号量

2. 题型

银行家算法
页面置换算法(填空)
寻找磁道

3. 重点

3.1. 第1章

3.1.1. P2 OS作为…的接口

OS作为用户与计算机硬件系统之间的接口

3.1.2. P7 多道批处理系统,分时,实时系统(特点 理解)

多道程序设计特征:多道性,无序性,调度性
优点:1.资源利用率高
2.系统吞吐量大
缺点:3.平均周转时间长
4.无交互能力
分时系统特征:多路性,独立性,及时性,交互性。
实时系统特征:多路性,独立性,及时性,交互性,可靠性。
3.1.3. P32 微内核,了解(34,25)
微内核os结构是基于客户/服务器模式。

3.2. 第2章

3.2.1. P35 前趋图(转化)

前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。
画出下面四条语句的前趋图:
S1: a=x+y;
S2: b=z+1;
S3: c=a-b;
S4: w=c+1;
答:其前趋图为:
操作系统笔记(第四版) 汤小丹

3.2.2. P39 进程的组成(45)和状态(7行,40页)

三种状态之间的转换

3.2.3. P43 进程控制块PCB作用

试说明PCB的作用,为什么说PCB是进程存在的唯一标志?
答:PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。

3.2.4. P45 进程控制块组织方式

进程控制块的组织方式有哪几种?
线性方式、链接方式、索引方式

3.2.5. P47 原语操作

一个操作中的所有动作要么全做,要么全不做。换言之,它是一个不可分割的基本单位。

3.2.6. P53,P55 临界资源与临界区

临界资源:多道程序系统中存在许多进程,它们共享各种资源,然而有很多资源一次只能供一个进程使用。**一次仅允许一个进程使用的资源称为临界资源。**许多物理设备都属于临界资源,如输入机、打印机、磁带机等。
临界区:访问临界资源的那段代码称为临界区。

3.2.7. P61 信号量

为使多个进程能互斥地访问某临界资源,只需为该资源设置一信号量metex,并设其初始值为1,然后将各进程访问该资源的临界区CS置于wait(mutex)和signal(mutex)操作之间即可。
申请临界资源:对mutex执行wait操作。
释放临界资源:对mutex执行signal操作。

3.2.8. P62 管程,特点

代表共享资源的数据结构以及由对该共享数据结构实施操作的一组过程所组成的资源管理程序共同构成了一个操作系统的资源管理模块,我们称之为管程。

管程由四部分组成:

管程的名称;
局部于管程的共享数据结构说明;
对该数据结构进行操作的一组过程;
对局部于管程的共享数据设置初始值的语句。

3.2.9. P81 线程的定义

线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。

3.2.10. P82 线程与进程的比较(记忆)

同一进程可以包含多个线程,一个进程中至少包含一个线程,一个线程只能存在于一个进程中。
进程结束,该进程下的所有线程将销毁,而一个线程结束不会影响同一进程中的其他线程。
在操作系统中,进程是拥有系统资源的独立单元,它可以拥有自己的资源,而线程不能,但是能够访问其隶属进程的资源。

3.2.11. P91 (9,11,19题)

试说明进程在三个基本状态之间转换的典型原因。
答:

  1. 就绪状态→执行状态:进程分配到CPU资源
  2. 执行状态→就绪状态:时间片用完
  3. 执行状态→阻塞状态:I/0请求
  4. 阻塞状态→就绪状态:I/0完成
    为什么要在0S中引入线程?
    答:在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使0S具有更好的并发性,提高CPU的利用率。进程是分配资源的基本单位,而线程则是系统调度的基本单位。

3.3. 第3章

3.3.1. P92 处理机调度的层次

高级调度:又称长程调度或作业调度,他的调度对象是作业,将外存处于后备队列的作业调入内存,为他们创建进程,分配必要的资源,并将它们放入就绪队列。(用于多道批处理系统,在分时和实时中不设置)
低级调度:又称进程调度或短程调度,调度对象是进程(或内核级线程)决定就绪队列中的哪个进程应获得处理机,并由分派程度将处理机分配给选中的进程。(必须:多道批处理,分时,实时OS)
中级调度:对称内存调度,提高内存利用率和系统吞吐量

3.3.2. P95 作业三阶段三状态

三个阶段:收容、运行、完成
三种状态:后备状态、运行状态、完成状态

3.3.3. P96 先来先服务,短作业优先服务,高响应比

高响应比:优先权=等待时间+要求服务时间要求服务时间高响应比:优先权=\frac{等待时间+要求服务时间}{要求服务时间}
高响应比:优先权=
要求服务时间
等待时间+要求服务时间

3.3.4. P99 进程调度方式,抢占方式和非抢占方式

3.3.5. P101 轮转调度,周转时间,带权周转时间

轮转调度:

周转时间=完成时间-到达时间
带权周转时间=周转时间/服务时间

3.3.6. P115 死锁的定义和原因,必要条件

何谓死锁?产生死锁的原因和必要条件是什么?
答:
死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;
产生死锁的原因有二:一是竞争资源,二是进程推进顺序非法;
必要条件是:互斥条件,请求和保持条件,不剥夺条件和环路等待条件。

3.3.7. P120 利用银行家算法(掌握)

31 在银行家算法中,若出现下述资源分配情

操作系统笔记(第四版) 汤小丹
试问:
(1)该状态是否安全?
(2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
答:
(1)该状态是安全的,因为存在一个安全序列 P0P3P4P1P2
​ 下表为该时刻的安全序列表。
操作系统笔记(第四版) 汤小丹
(2)若进程P2提出请求Request(1, 2, 2,2)后,系统不能将资源分配给它,若分配给进程P2,系统还剩的资源情况为(0, 4, 0, 0),此时系统中的资源将无法满足任何一个进程的资源请求,从而导致系统进入不安全状态,容易引起死锁的发生。

3.3.8. P126 四种条件

选择被终止的进程时应考虑的若干因素:

进程的优先级大小
进程已执行了多少时间,还需要多少时间方能完成
进程在运行中已经使用资源的多少,以后还需要多少资源
进程的性质是交互式的还是批处理式的。

3.3.9. P127(7题)

试说明低级调度的主要功能。
答:(1)保存处理机的现场信息(2)按某种算法选取进程(3)把处理机分配给进程。

3.4. 第4章

3.4.1. P139 基于顺序的,四种算法优缺点,选择题,四种算法

分区存储管理中常采用哪些分配策略?比较它们的优缺点。
分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。
首次适应算法的优缺点:保留了高址部分的大空闲区,有利于后到来的大型作业的分配;低址部分不断被划分,留下许多难以利用的、小的空闲区,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。
循环首次适应算法的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销;缺乏大的空闲分区,从而导致不能装入大型作业。
最佳适应算法的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多难以利用的小的空闲区。
最坏适应算法的优缺点:给文件分配分区后剩下的的空闲区不至于太小,产生碎片的几率最小,对中小型文件分配分区操作有利;使存储器中缺乏大的空闲区,对大型文件的分区分配不利。

3.4.2. P142 重定位

3.4.3. P148 分页存储,分段,段页式

3.4.4. P149 页表

3.4.5. P158 分页和分段的主要区别

26 分页和分段有何区别?
答:

共同点:分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换;
不同点:
从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;
页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;
分页的作业地址空间是一维的,而分段的作业地址空间是二维的。

3.4.6. P162 7,8,10,19,26

3.5. 第5章

3.5.1. P164 虚拟存储器的定义(166页)

虚拟存储器的特征
3. 虚拟存储器有哪些特征?其中最本质的特征是什么?
答:虚拟存储器有多次性、对换性、虚拟性三大特征。最本质的特征是虚拟性。

3.5.2. P174 缺页率

页面置换算法:先进先出、最近最久未使用

3.5.3. P181 什么是抖动现象,产生抖动的原因

什么是抖动?产生抖动的原因是什么?
抖动(Thrashing)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送入磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,使得系统把大部分时间用在了页面的调进换出上,而几乎不能完成任何有效的工作,我们称这种现象为”抖动”。
产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率,可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于”抖动”状态。

3.6. 第6章

3.6.1. P200 IO通道,IO作用

3.6.2. P213 无关性

与设备无关性的基本含义是什么?为什么要设置该层?
答:为了提高OS的可适应性和可扩展性,在现代OS中都毫无例外地实现了设备独立性,也称设备无关性。基本含义:应用程序独立于具体使用的物理设备。为了实现设备独立性而引入了逻辑设备和物理设备两概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。
优点:
设备分配时的灵活性
易于实现I/0重定向(用于I/0操作的设备可以更换(即重定向),而不必改变应用程序。

3.6.3. P220 假脱机系统,为什么引入

3.6.4. P224 缓冲

引入缓冲的主要原因是什么?
答:缓和CPU与I/0设备之间速度不匹配的矛盾;减少对CPU的中断频率;放宽对中断响应时间的限制;解决数据力度不匹配的问题:提高CPU和I/0设备之间的并行性。

3.6.5. P232 磁盘访问时间

操作系统笔记(第四版) 汤小丹

3.6.6. P233 寻道时间(掌握)
操作系统笔记(第四版) 汤小丹

3.7. 第7章

3.7.1. P249 文件目录作用,方便查找

文件目录是指:为实现“按名存取”,必须建立文件名与辅存空间中物理地址的对应关系,体现这种对应关系的数据结构称为文件目录。

实现“按名存取”
提高对目录的检索速度
文件共享
允许文件重名

3.8. 第8章

3.8.1. P280 位示图

位示图是利用二进制的一位来表示磁盘中的一个盘块的使用情况。当其值为“0”时,表示对应的盘块空闲;为“1”时,表示已经分配。有的系统把"0"作为盘块已分配的标记,把“1”作为空闲标志。(它们的本质上是相同的,都是用一位的两种状态标志空闲和已分配两种情况。)磁盘上的所有盘块都有一个二进制位与之对应,这样,由所有盘块所对应的位构成一个集合,称为位示图。

3.9. 第9章

3.9.1. P298 操作系统提供的接口

一般地,操作系统向用户提供了两类接口:用户接口和程序接口。值得说明的是,在Internet广为流行的今天,OS又增加了一种面向网络的网络用户接口。