【操作系统】期末复习

第一章 引论

1.了解系统硬件组织,理解软件的层次结构与虚拟机的概念;P4

2.掌握操作系统的定义,了解系统的形成和发展;

定义:用以控制和管理系统资源,方便用户使用计算机的程序的集合。

3.理解多道程序的引入,掌握多道程序设计的概念和目的;

引入:由于通道技术的出现,CPU可以直接把输入输出的工作转给通道来完成。原因是CPU与常用的输入输出设备之间速度的差距过大。故为使CPU在等待一个作业的数据传输过程中,能运行其他作业,人们在存储器中存放多道作业。

多道程序设计:把一个以上程序存放在内存,并同时运行,共享处理机时间和外部设备等系统资源。

目的:提高CPU的并行性和利用率。

4.掌握操作系统的四大功能和两大特性

四大功能:处理机管理;存储器管理;I/O设备管理;信息管理;

并发性:指进程并发执行;

共享性:指多个进程共享系统资源;

虚拟性:指将物理资源虚拟化;

异步性:指进程的运行过程的不可预测性。

5.了解操作系统的各种类型及其特点

多道批处理操作系统:一般用于计算机中心较大的计算机系统中,追求高的吞吐量。特点是各类资源管理功能既全又强。

分时操作系统:将整个工作时间分成一个个时间片,从而将CPU工作时间分别提供给多个用户使用,每个用户一次轮流使用时间片。

实时系统:“专用系统”,要求对外部事件的相应十分及时、迅速。

 

第二章 操作系统的运行环境

1.了解系统的硬件环境

2.掌握重定位及相关概念

定义:把程序中的相对地址变换成绝对地址,使程序装入主存中后能正确执行。

静态重定位:程序装入主存时,运行前,由连接装入程序进行重定位。

动态重定位:处理机每次访问主存时,由动态地址变换机构(硬件)自动进行重定位,把相对地址转换成绝对地址。

绝对地址(物理地址):存储控制部件能够识别的主存单元编号(或字节地址),也就是主存单元的实际地址。

相对地址(逻辑地址):相对于某个基准量(通常用零作基准量)编址时所使用的地址。

逻辑地址空间(相对地址的集合):一个被汇编、编译或连接装配后的目标程序所限定的地址的集合。

3.了解系统和用户的两种接口:终端命令和图形用户接口(GUI)

 

第三章 进程管理

1.理解进程的引入,掌握进程的定义及进程的特点

定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。

特点:动态性;并发性;异步性;独立性;结构性;

2.进程和程序的区别(共5点)

(1)进程是程序的执行(动态),程序是一组指令的有序集合(静态)。

(2)进程有诞生和死亡(生命过程),程序是永久的。

(3)进程 = 程序 + 数据 + 进程控制块

(4)一个程序可对应多个进程——程序的多次执行

(5)一个进程可包含多个程序

3.掌握进程三种基本状态及其变化,掌握进程的物理特性及存在标志

基本状态:运行状态(Running), 就绪状态(Ready), 阻塞/等待状态(Blocked)

存在标志:进程控制块(PCB)

4.掌握进程的队列组织

系统按进程优先级数设立几个就绪进程队列,同一优先级进程在同一队列中。系统首先取最高优先级的队列队首进程占用处理机,当时间片到来时往往重新计算优先级再将进程放回相应就绪队列中。当要等待时间时,将其挂到相应的事件等待队列中。如果某个事件发生,系统从相应等待队列中选取队首进程,并重新计算优先级,挂到就绪队列中。

5.掌握进程的创建和撤消原语,了解进程控制的其它原语(挂起与解挂操作)

挂起命令:由进程自己或其它进程发出。
解挂命令:只能由其它进程发出。

 

第四章 多线程

1.线程定义

线程是进程内一个相对独立的、可调度的执行单元。

2.进程和线程的区别

进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。

进程中至少包含一个或一个以上的线程,且多个线程共享该进程的资源,但线程并不拥有资源,只是使用它们。

 

第五章 互斥与同步

1.多道程序系统的三大特征:并行性,制约性,动态性

2.同步、互斥概念

同步关系(直接制约):多个进程共同完成一个任务,它们之间必须协同动作,互相配合,相互交换信息——进程通信

互斥关系(间接制约):多个进程共享资源,互斥资源的使用具有排它性,因此进程间往往需要互相竞争,以使用这些互斥的资源。可看成一种特殊的同步关系!

3.临界资源、临界段概念

临界资源:具有排它性使用特点的资源。

临界区:进程中访问共享变量的代码段。

访问同一临界资源的各临界段分散在各有关进程的程序中。

4.临界段使用原则(5条原则)

(1)每次至多只允许一个进程处于临界段之中。

(2)若有多个进程同时要求进入它们的临界段时,应在有限时间内让其中之一进入临界段,而不应相互阻塞,以至于各进程都无法进入临界段。

(3)进程只应在临界段内逗留有限时间。

(4)不应使要进入临界区的进程无限期地等待在临界区之外。

(5)在临界区之外运行的进程不可以阻止其他进程进入临界区。

(6)在解决临界区问题时,不要假定进程执行的相对速度及可用的处理器数目。

(7)避免出现忙等待现象。

5.信号量S的物理含义及PV操作的物理含义 P95

S>0时,信号量值表示该类资源的可用资源数。

S<=0时,表示已无此类资源可供分配,请求资源的进程将被阻塞在相应的信号量S的等待队列中。(S的绝对值 = 该信号量上等待的进程数)

S>0时,每执行一次Wait操作,意味着请求分配一个单位的该类资源给执行P操作的进程,即S:=S-1;

S<=0时,每执行一次Signal操作,意味着进程释放一个单位的该类可用资源,即S:=S+1。而此时若S等待队列中有因该资源而被封锁的进程(blockeda),则把队列中的一个进程唤醒,转入就绪队列(readya)。

6.PV操作解决生产者消费者问题 P97

7.Linux下的几种主要通信方式:

信号量;信号或软中断;管道(pipes);消息;共享主存段。

 

第六章 死锁

1.死锁定义:计算机系统中两个或多个进程无限期地等待永远不会发生的条件,称此系统处于死锁状态。

2.死锁的含义及四个必要条件

死锁:计算机系统和进程所处的一种状态。

互斥条件:一个资源一次只能被一个进程所使用。

不可抢占条件:一个资源仅能被占有它的进程所释放,不能被别的进程强行抢占。

请求又保持(部分分配)条件:一个进程已占有了分给它的资源,但仍然要求其它资源。

循环等待条件:若干个进程构成环形请求链,其中每个进程均占有若干种资源中的某一种,同时每个进程还要求(链上)下一进程所占有的资源。

3.死锁的预防方法(2种)

预先静态分配法(破坏部分分配条件):作业调度时,仅当系统满足作业运行时所需的全部资源时,才把该作业调入内存运行。在作业运行前一次性将其所需的全部资源分配给它,于是在作业运行过程中不再会提出新的资源请求。

有序资源使用法(破坏循环等待条件):

策略: 把系统中的全部资源分别分给一个特定的序号,并且要求每个进程均应严格地按照序号递增的次序请求资源。

优点:基于动态分配方法,资源利用率较前法提高。

关键:小心安排资源序号!

4.死锁的避免:银行家算法

问题:一个银行家在若干个顾客间共享他的资金(capital),每个顾客所需借款总额need<=capital。

任务:银行家应能使他当前的全部顾客在有限时间内完成他们的交易(也就归还了他们的借款!)

顾客状态:(claim,loan)claim=need-loan

银行家状态:(capital,cash) cash=capital-loan

银行家算法:保证银行家状态从一个安全状态转向另一个安全状态——不死锁!

5.死锁检测与恢复(资源分配图判断系统是否存在死锁)P123

 

第七章 实存储器管理技术

1.主存管理的主要功能

(1)主存分配

(2)地址转换和重定位

(3)存储保护和主存共享

(4)存储扩充

2.固定分区概念和碎片问题

固定分区:把主存分成若干个固定大小的存储区(又称存储块)。

碎片问题:存在于已分配的分区之间的一些不能充分利用的空白区。

3.可变分区概念、数据基组织形式(数据结构)

可变分区:主存事先并未划分成一块块分区,而是在进程进入主存时,按该进程的大小建立分区,分给进程使用。

数据基组织形式:1存储分块表2分开设置两个存储管理表3空闲存储块链

 

4.可变分区管理算法(4种)

1)首次适应算法(First Fit: FF):将空白区按存贮顺序链成一个队列,用一指针指向队首分配时将找到的第一个满足要求的空白区分配给它。

2)循环首次适应(Next fit: NF):将空白区组成环状队列,按循环顺序寻找空白区。(与FF区别,头指针从低地址开始向高地址循环移动)。

3)最佳适应算法(Best fit: BF):将空白区按大小排成队列,寻找时总是以最小的空白区开始,找到第一个合适的分区。

4)最坏适应算法(Worst fit: WF):挑选最大的且大于或等于作业大小的分区分给要求的进程。

5.基于动态重定位的可变分区分配算法 P132

6.简单分页(页表结构、地址转化)P136

地址空间分成大小相同的部分——页

存贮空间分成大小相同的部分——块(页架)

页大小=块大小

逻辑地址的表示(p, d)

P = INT [A/L];d = A mod L

其中A:虚地址  L:页大小  P:页号   d:页内位移

7.简单分段(和分页的区别)

(1) 页:作业空间单位,大小固定,用存贮器的物理划分实现一级存贮。

段:大小不定,逻辑的信息单位,实现地址空间的逻辑划分。

(2)分页:用户不关心(由机器结构决定)

分段:用户或编辑程序确定(段的最大长度由W字段的位数决定)

(3)页:单一连续空间。

段:二维空间(不同各段,段号,段内位移)

(4)页:单段式

段:多段

8.碎片问题(内部碎片、外部碎片、表格碎片)

外部碎片:指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。 外部碎片是出于任何已分配区域或页面外部的空闲存储块。这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因,使得系统无法满足当前申请。 
多道可变连续分配只有外部碎片。

内部碎片:已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间; 内部碎片是处于区域内部或页面内部的存储块。占有这些区域或页面的进程并不使用这个存储块。而在进程占有这块存储块时,系统无法利用它。直到进程释放它,或进程结束时,系统才有可能利用这个存储块。 
单道连续分配只有内部碎片。

多道固定连续分配既有内部碎片,又有外部碎片。

表格碎片实际上不是碎片,是一种当分页的页面过大时的系统开销。

 

第八章 虚拟储存管理

1.虚存引入原因

在实存管理技术中,要求整个作业必须装入主存。

问题:作业尺寸>主存大小,导致作业无法运行

解决方法:“扩充”主存 ––– 虚拟存贮技术

2.虚存思想及虚存容量问题

在多道程序运行环境下,操作系统把实际内存扩充成若干个虚存系统,为每个用户建立一个虚拟存贮器,各用户可独立在虚存上编程运行。

(1)虚拟扩充;不是物理上,而是逻辑上扩充了内存容量

(2)部分装入;每个作业(进程)不是全部一次性地装入内存,而是只装入其一部分。

(3)离散分配;每个作业(进程)装入内存的那部分不必占用连续的内存空间,而是“见缝插针”。

(4)多次对换;在一个进程运行期间,它所需的全部程序和数据要分成多次调入内存。

虚存容量不是无限大。(受内存和外存可利用的总容量限制;受计算机总线地址结构限制)

虛存的“扩大”是以牺牲CPU工作时间以及内外存交換时间为代价的。

20位有效地址长度—— 0~220(寻址范围)

实存64k <虚存220作业可以大于内存,部分调入运行,其余放入磁盘。

虚空间>>实空间(也可以虚空间<实空间) 

主存+辅存!=虚存(仅与地址结构有关) 

3.虚拟分页(页表、快表的作用和区别)

页表:指出逻辑地址中的页号与所占主存物理块号的对应关系。页式存储管理在用动态重定位方式装入作业时,要利用页表做地址转换工作。

快表解决时间问题将作业中最常用的页块号置入高速缓存,提高查表速度。(在地址变换机构中加入一个高速的联想存储器,称为快表)

4.页面淘汰算法(4种、异常现象)

最佳置换算法(OPT):

基本原则:淘汰在将来再也不被访问,或者是在最远的将来才能被访问的页。

特点:无法预测作业将用到哪些页!所以此算法是无法实现的——理论上的算法。

先进先出置换算法(FIFO):

基本原则:选择最早进入主存的页面淘汰。

理由:最早进入的页面其不再使用的可能性比最近调入的页面要大。

实现:把进入主存的各页面按进入主存的时间次序构成队列(链表或表格),总是淘汰队头的页面。

缺点:只有按照线性顺序访问地址空间时才是理想的,否则效率不高。

异常现象:对于一些特定的访问序列,随分配页架数增加,缺页频率反而增加!

最近最少使用置换算法(LRU):

基本原则:选择最近一段时间内最长时间没有被访问过的页面淘汰。

基本理由:认为过去一段时间里不曾被访问过的页,在最近的将来也可能不再会被访问。

实现困难:需为每个页设置一个特定单元,记录上次访问后到现在的时间量t,并选择t最大的页淘汰。无论硬件还是软件实现开销都很大!

实际应用:近似算法NUR!

最近未使用置换算法(NUR):

基本原则:淘汰最近未使用的页,且希望其在主存逗留期间页面内的数据未被修改过!周期性地对访问位、修改位清零!

开始时所有页的访问位、修改位都为0。访问/修改时再置1。

当选择淘汰页时,按照    访问位  0 0 1 1  的顺序淘汰。                           修改位  0 1 0 1

5.抖动问题

抖动:内外存交换频繁使效率下降(导致系统效率急剧下降的主、辅存之间的频繁转换现象)

6.请求式分页系统中直接映象地址转换存在的问题及解决办法 P145

(1)如果进程占的空间很大,那么页表可能会非常大。——多级页表

(2)地址映射由于需要两次读取内存而使速度降低。——快表

7.分段思想

以段为单位,每一段分配一块连续的主存分区,一个进程的各段所分到的主存分区不要求是相邻连续的分区。

8.段页式技术

等分主存:主存——> 页架;编号——>页架号

进程的地址空间采用分段方式:按程序的自然逻辑关系把进程的地址空间分成若干段(外部段名,内部段名);

每一段采用分页方法:每一段划分成若干页,大小同页架;每一段为自己段的各页依次编以连续的页号;不足补齐

逻辑地址结构:V=(s,p,d)=(段号,页号,页内地址)

主存分配:以页架为单位分配给每个进程。

段表,页表,段表地址寄存器:系统为每个进程建立一个段表,为其段表中每个段建立一个页表;用段表地址寄存器指示进程段表起始地址;段表表目给出该段页表起始地址及页表长度。

9.程序的局部性原理及其主要内容?

进程对主存的访问不是均匀的,而是高度地表现出其局部性。

时间局部性:指某个位置(数据或指令)最近被访问了,那么往往很快又要被再次访问。借助于循环、经常用到的变量和子程序等程序结构实现。

空间局部性:指一旦某个位置最近被访问了,那么它附近的位置也要被访问。采用顺序的指令串、线性的数据结构(如数组或常用变量彼此相近存放)来实现。

程序在某段时间对整个地址空间各页的访问集中在少数几页;一个页面中也不是均匀的,而是集中于页面中的较少部分。

10.主存利用率不高的表现形式及解决办法?

1页面庞大造成系统开销过大,形成表格碎片:利用多级页表

2显示碎片:分为内部碎片和外部碎片,可用分页管理缓解

3隐式碎片:利用虚存管理

 

第九章 设备管理

1.设备管理技术(4种)

(1)编程I/O方式-程序直接控制(忙等待问题)

(2)中断控制I/O方式

(3)直接存储访问(DMA)

(4)通道方式

2.设备分类

3.简述I/O子系统的层次结构及各层的主要功能

独立于设备的软件层为用户提供一个对所有设备都一致的接口。

设备驱动接口层:主要存放所控制管理的设备驱动程序和访问控制软件,它接收上一层的请求,并将上层的逻辑I/O的调用转换为对具体设备驱动程序的调用。

设备驱动程序层:具体负责与设备的所有交互操作。

设备(硬件)层:I/O设备,实现真正的输入输出。

4.独立于设备的软件层设备驱动程序的功能

独立于设备的软件层为用户程序提供一个对所有设备都一致的接口。设备命名。设备保护。提供与设备无关的块尺寸。缓冲技术。块设备的存储分配。独占设备的分配与释放。报告错误信息。

设备驱动程序层:具体负责与设备的所有交互操作。

5.磁盘查找算法

先来先服务(FCFS):

原则:各进程对磁盘请求的等待队列按提出请求的时间进行排序,并按此次序给予服务。

优点:访问请求不很多时可接受,且算法较简单、较公平。

缺点:(1)访问请求均匀分布整个盘面,而不具有某种集中倾向时,导致随机访问模式——无法对访问优化!(2)访问请求较多时,降低了设备服务的吞吐量,增加了响应时间;(3)响应时间变化幅度较小!

最短查找时间优先(SSTF):

原则:选择请求队列中柱面号最接近于当前磁头所在柱面的访问请求作为下一个服务对象,即先执行查找时间最小的那个请求,而不管是否在磁臂的前进方向上还是相反。

优点:较好的吞吐量(比FCFS),较低的平均响应时间。

缺点:(1)对用户请求的响应机会不均等:对中间磁道的访问请求得到最好的服务,对内、外两侧磁道的服务随偏离中心磁道的距离而越远越差

(2)响应时间变化幅度很大:服务请求很多时可能造成对内,外边缘磁道的请求将会无限期地被迟延。

扫描策略(SCAN):SSTF算法的变种

原则:选择请求队列中按磁臂前进方向最接近于磁头当前所在柱面的访问要求作为下一个服务对象。由内向外,由外向内,反复地扫描访问请求,依次给予服务。

若沿此方向不再有访问请求时,不必继续扫描,而是改变移动方向——使磁臂的移动频率和距离最小。

优点:吞吐量比较大,平均响应时间较小。

缺点:两侧磁道访问频率仍低于中间磁道——响应时间变化幅度仍有不同,但优于SSTF。

循环扫描策略(C-SCAN):SCAN扫描算法的变种

原则:磁臂总是从0号柱面至最大号柱面顺序扫描,到头后直接返回0号柱面再重复进行_看作最大号磁道的隔壁(单向扫描)。

当磁臂由外向内移动过程中,只服务于在磁臂本次移动开始前到达的访问请求,而不理会在磁臂单向移动过程中到达的新的访问请求——留给下一次。

每次扫描直到对最内柱面上的访问请求满足后,磁臂即直接向外移动,使磁头停留在所有新的访问请求最外面的柱面上。然后再对本次移动前到达的访问请求依次给予服务。

N步扫描策略:分步(组)扫描法

原则:将I/O请求分成组,每组不超过N个请求,每次选一组进行扫描,处理完一组后再选下一组。

优点:能使I/O请求的等待时间不至于过长,不会发生饿死现象。

6.磁盘完成一次读写操作的时间分为哪几部分?

完成一次读写操作的时间=寻道时间+旋转延迟时间+数据传送时间

7.虚拟设备

人们常用共享设备来模拟独占设备的动作,使独占型设备成为共享设备,从而提高设备利用率和系统效率,这种技术被称为虚拟设备技术。

 

第十章 文件系统

1.文件和文件系统定义

文件:具有符号名的数据项的集合。

文件系统:负责存取和管理辅助存储器上文件信息的机构。

2.文件逻辑组织

(1)无结构的流式文件:相关的有序字符的集合。文件的长度即为所含字符数,流式文件不分成记录,而是直接由字符流组成。

2有结构的记录式文件:这种文件在逻辑上是被看成一组连续顺序的记录的集合。每个记录由彼此相关的域构成,以逻辑记录为单位进行存取,是有结构的。

3.文件的物理组织方式(能列举出三种)。

(1)顺序结构:一个逻辑文件的信息依次存于若干连续的物理块中。

2串联结构(或链接结构):一个逻辑文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理。

3索引结构:一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构--索引表,并将这些块的块号存放在一个索引表中。

4.树型目录

按层次分:一级目录、二级目录、多级目录(树型目录结构)

多级目录:系统中有一个根目录(或根目录文件),在这个目录中可登记一般文件,也可以登记目录文件,在每个目录文件中可以登记一般文件,也可以登记目录文件。

5.分体式目录(按结构分:整体式目录结构、分体式目录结构)

特点:目录中只包含文件名和一个指向文件属性的指针。

优点:查找目录时命中率高;查找速度快。

6.磁盘空间管理机构

(1)连续分配文件被存放在辅存的连续存储区中。

优点:查找速度快,简单;

缺点:文件长度不能动态增长和收缩(事先要知道文件长度)

      碎片问题。(外部碎片和内部碎片均存在)

(2)链接分配非连续分配辅存空间

优点:解决了碎片问题(外部碎片)。

缺点:查找时间长;链接开销大。

(3)索引分配系统在文件分配表FAT中为每一个文件分配一个表目,指出该文件的索引表所在物理块。

(4)小FAT表(i节点):每个文件有一个i节点。

i节点中包含文件属性和一张该文件自身的FAT表。

补充(调度)

1.调度的三个层次

高级调度:又称作业调度,主要功能是按照某种原则从磁盘某些盘区的作业队列中选取作业进入主存,为作业做好运行前的准备工作和作业完成后的善后工作。

中级调度:它决定哪些进程被允许参与竞争处理机资源。中级调度主要只是起到短期调整系统负荷的作用,以平顺系统的操作。其所使用的方法是通过“挂起” 和“解除挂起”一些进程,来达到平顺系统操作的目的。

低级调度:又称进程调度,其主要功能是按照某种原则将处理机分配给就绪进程。执行低级调度功能的程序称为进程调度程序,由它实现处理机在进程间的转换。它必须常驻主存,是操作系统内核的主要部分。

2.作业调度程序的主要功能

1按照某种调度算法从后备作业队列中挑选作业。

2为选中的作业分配主存和外设资源。

(3)为选中的作业建立相应的进程。

4构造和填写作业运行时所需的有关表格。(如作业表)

5作业结束时完成该作业的善后处理工作,如收回资源,输出必要的信息,撤消该作业的全部进程(PCB)和作业控制块JCB。

3.引起进程调度的事件(原因)

1时间片到 (按时间片运行)

2进程提出I/O请求 ––– 阻塞,调新进程

3进程挂起

4执行P操作而信号量不足,而被阻塞

5来了更高优先权 (可被剥夺)

6进程运行完了

4.掌握常用的调度算法,并能计算平均周转时间及带权周转时间

你可能感兴趣的:(个人)