操作系统考试题.docx
《操作系统考试题.docx》由会员分享,可在线阅读,更多相关《操作系统考试题.docx(22页珍藏版)》请在冰点文库上搜索。
操作系统考试题
一、通常在计算机硬件上配置的OS,其目标有以下几点:
1.方便性
2.有效性
(1)提高系统资源利用率
(2)提高系统的吞吐量
3.可扩充性
4.开放性
二、操作系统的作用
1.OS作为用户与计算机硬件系统之间的接口。
2.OS是计算机系统资源的管理者
3.OS实现了对计算机资源的抽象。
三、操作系统地发展过程
•无操作系统的计算机系统
•人工操作方式
•脱机输入/输出(Off-Line1/0)方式
•单道批处理系统
单道批处理系统主要特征:
自动性、顺序性、单道性(内存中仅有一道程序运行)
•多道批处理系统
用户所提交的作业都先存放在外存上并排成一个队列,称为"后备队列";然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统资源。
多道批处理系统主要优缺点:
资源利用率高、系统吞吐量大、平均周转时间长、无交互能力。
•分时系统
分时系统与多道批处理系统之间有着截然不同的性能差别,分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
分时系统得特点:
多路性、独立性、及时性、交互性。
•实时系统
•微机操作系统
四、实时系统的概念:
所谓"实时",是表示"及时",而实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
实时任务根据对截止时间的要求来划分(J)硬实时任务。
系统必须满足任务对截止时间的要求,否则可能出现难以推测的结果。
(2)软实时任务。
它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。
五、操作系统的特点:
•并发(Concurrence)
•共享(Sharing)
•虚拟(VirtuaD
•异步(Asynchronism)
并行性(parallel):
指两个或多个事件在同一时刻发生;
并发性:
两个或多个事件在同一时间间隔内发生。
共享:
指系统中的资源可供内存中多个并发执行的作业同时使用。
四大特征之间的关系:
•并发是操作系统最重要,最基本的特征:
•并发和共享互为存在的条件:
•虚拟以并发和资源共享为前提:
•异步性是并发和共享的必然结果。
六、为什么要引用进程,线程与进程的区别比较,如何异步、虚拟、并发?
在多道程序环境下,程序的执行属于并发执行,此时它们将失去其封闭性,并具有间断性及不可再现性的特征。
这决定了通常的程序是不能参与并发执行的,因为程序执行的结果是不可再现的。
这样,程序的运行也就失去了意义。
为使程序能并发执行,且为了对并发执行的程序加以描述和控制,人们引入了"进程"的概念。
原因:
从理论角度看,是对正在运行的程序过程的抽象:
从实现角度看,是一种数据结构,目的在于清晰地刻画动态系统的内在规律,有效管理和调度进入计算机系统主存器运行的程序。
比较:
1、进程是资源管理(分配资源)的基本单位,它拥有着自己的地址空间和各种资源;线程只是处理机调度(独立运行和独立调度)的基本单位,和其他线程一起共享进程资源,自己没有任何资源。
2、以进程为单位进行处理机切换与调度时,处理机切换时间长,资源利用率降低;以线程为单位进行处理机切换与调度时,处理机切换时间较短,处理机效率较高。
3、进程有挂起状态,而线程没有。
4、进程的调度、同步等大多由OS内核完成,而线程的控制既可以由OS内核进行,也可以由用户控制。
异步性也称不确定性,指进程的执行顺序和执行时间的不确定性。
并发在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行。
虚拟是指通过某种技术,将一个物理实体变为若干个逻辑上的对应物。
用来实现虚拟的技术,称为虚拟技术。
七、操作系统的主要功能、主要任务?
主要功能:
•处理机管理功能
•存储管理功能
•设备管理功能
•文件管理功能〈文件存储空间的管理、目录管理、文件的读/写管理和保护)
•操作系统与用户之间的接口(用户接口、程序接口)
相应完成的主要任务:
处理机管理:
完成处理机资源的分配调度等功能。
处理机调度的单位可为进程或线程。
存储管理:
提高利用率、方便用户使用、提供足够的存储空间、方便进程并发运行。
设备管理:
方便用户使用设备、提高CPU与1/0设备利用率:
文件(信息)管理:
解决软件资源的存储、共享、保密和保护。
操作系统与用户之间的接口:
提供一个友好的用户访问操作系统的接口。
操作系统的主要任务:
是为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊、高效地运行,并能最大程度地提高系统中各种资源的利用率和方便用户的使用。
操作系统向上提供三种接口:
命令接口
图形接口
编程接口
八、操作系统非形式化定义:
计算机系统中的一个系统软件,它是这样一些程序模块的集合-一-它们管理和控制计算机系统中的软硬件资源,合理地组织计算机的工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。
关键点:
系统软件,程序模块的集合,资源管理,用户与计算机的接口。
第二章
1、前趋图(了解)是一个有向无循环图,用于描述进程之间执行的前后关系。
图中的每个结点可用于描述一个程序段或进程,结点间的有向边则用于表示两个结点之间存在的偏序或前趋关系"→"。
在前趋图中,把没有前趋的结点称为初始结点,把没有后继的结点称为终止结点。
对于图2-2a的所示的前趋图,存在下述前趋关系:
Pl→P2,Pl→P3,Pl→P4,P2→P5,P3→P5,P4→P6,P4→P6,P5→P8,P6→P8,P7→P9,P8→P9
或表示为:
P={Pl,P2,P3,P4,P5,P6,P7,P8,P9}
→={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P4,P7),(P5,P8),(P6,P8),(P7,P9),(P8,P9)}
2、程序的并发执行是指两个或两个以上的程序或程序段在同一时间段内发生。
间断性、失去封闭性、不可再现性
补充:
程序的顺序执行是指若干个程序或程序段之间必须严格按照某种先后次序来执行,仅当前一程序或程序段执行完后,才能执行后面的程序或程序段。
特征:
程序执行的顺序性、环境的封闭性、结果的可再现性。
3、进程的特征和定义
特征:
结构特征(进程实体由程序段、数据段和PCB三部分构成)动态性、井发性、独立性、异步性
定义1)进程是程序的一次执行;
2)进程是一个程序及其数据在处理机上顺序执行时发生的活动;
3)进程是一个可拥有资源的独立实体,同时又是一个可以独立调度的基本单位。
4)进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
4、进程的三种基本状态:
就绪(Ready)状态、执行状态、阻塞状态
5、进程控制块的作用:
是使一个在多道程序环境下不能独立运行的程序(含数据),成为
一个能独立运行的基本单位,一个能与其它进程并发执行的程序。
或者说,OS是根据
PCB来对并发执行的程序进行控制和管理的。
6、进程同步的基本概念(为什么要实现进程同步)
在OS中引入进程后,虽然提高了资源的利用率和系统得吞吐量,但由于进程的异步性,也会给系统造成混乱,尤其是在他们争用临界资源时。
例如,当多个进程去争用一台打印机时,有可能使多个进程的输出结果交织在一起,难于区分:
而当多个进程去争用共享变量、表格、链表时,有可能致使数据处理出错。
进程同步的主要任务是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。
**(广义):
是指对多个相关进程在执行次序上进行协调,它的目的是使系统中诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。
(狭义的):
一组并发进程因直接制约而进行相直合作,相互等待,使得各进程按一定速度执行的过程称为进程间的同步。
7、临界资源:
一次只允许一个进程使用的资源。
(包括硬件资源和软件资源,如打印机、共享变量等。
)
临界区:
每个进程中,访问临界资源的那段代码。
8、进入区、退出区
进入区:
在临界区前面增加的一段用于对欲访问的临界资源进行检查,看它是否正被访
问的代码。
退出区:
在临界区后面增加的一段用于将临界区正被访问的标志恢复为未被访问的标志
的代码。
进程包括:
进入区、临界区、退出区、剩余区
进程同步工具:
信号量机制
可把一个访问临界资源的循环进程描述如下:
repeat
恰ntηsectionl
criticalsection;
|exitsectionl
remaindersection;
untilfalse;
9、同步机制应遵循的规则
·空闲让进。
临界资源空闲时,应允许一个请求进入临界区的进程立即进入自己的临界区,
以便有效的利用资源。
·忙则等待。
当临界区正被访问时,其他要求进入临界区的进程必须等待,以保证对临界
资源的互斥使用。
·有限等待。
任何要求访问临界资源的进程应能在有限的时间内进入自己的临界区,以免
"死等"。
·让权等待。
不能进入临界区的进程应立即释放cpu,以免"忙等"。
忙等:
进程因某事件的发生而无法继续执行时,它仍占有CPU,并通过不断地执行循环测
试指令来等待该事件的完成。
10、整型信号量:
最初由Dijkstra把整型信号量定义为一个表示资源数目整型量S,除初始
化外,仅能通过两个标准的原子操作wait(S)和signal(S)来访问,这2个操作一直被分别称
为P、V操作。
11、wait和signal操作可描述为:
wait(S):
whileS豆odono-op
S:
=S-I;
signal(S):
S:
=S+1;
缺点:
没有遵循"让权等待"的原则。
wait操作:
申请资源操作
(1)S.value:
=S.value+l;
(2)如果s.value>0,则表示有资源,该进程继续执行:
如果s.value<=0,则表示该类资源已分配完毕,该进程调用阻塞原语进行自我阻塞,并插入到S信号量的队列中等待,直至其他进程在S上执行signal操作释放它为止。
signal操作:
释放资源操作
(1)s.value:
=s.value+1;
(2)如果s.value>0,则该进程继续执行:
如果s.value<=0,则表示在S信号量队列中,仍有等待该资源的进程被阻塞,故调用唤醒原语将S信号量队列中的第一个等待进程唤醒。
如果s.value的初值为1,表示只允许一个进程访问临界资源,此时的信号量转化为互斥信号量。
S=4表示进程中有4个进程在等待资源。
初值S=3表示进程中有3个资源。
第三章
1、处理机调度的层次:
高级调度:
中级调度:
低级调度。
2、高级调度又称为作业调度,用于决定把外存上处于后备队列中的哪些作业调入内存,为它们分配必要的资源,并创建进程。
在批处理中,大多配有作业调度,但在分时和实时系统中,通常不配置作业调度。
作业调度的运行频率较低,一般为几分钟一次。
3、中级调度又称为交换调度,它按一定的算法将外存中处于静止就绪状态或静止阻塞状态的进程换入内存,而将内存中处于活动就绪状态或活动阻塞状态的某些进程换出至外存。
交换调度的目的是为了解决内存紧张问题,它常用在分时系统及具有虚拟存储器的系统中。
4、低级调度又称为进程调度,主要任务是按照一定的策略选取就绪队列中的一个进程获得处理机。
进程调度是最基本的调度,在os中必须配置它。
它的运行频率很高,典型的情况是几十毫秒便进行一次,因此它的调度算法不能太复杂,以免占用太多的cpu时间。
5、调度算法
a)先来先服务FCFS:
每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。
该进程一直运行到完成或发生某事件而阻塞后才放弃处理机。
比较y有利于长作业(进程),而不利于短作业(进程)。
b)短作业(进程)优先调度SJ(P)F:
对短作业(进程)优先调度的算法。
(FCFS算法进程执行顺序A→B→C→D→E
SJF算法进程执行顺序A→D→B→E→C)
周转时间=完成时间-到达时间
带权周转时间=周转时间÷服务时间
c)优先数法;
d)轮转调度;
e)多级反馈队列调度法。
6、死锁:
定义:
死锁是指多个并发进程彼此等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源,从而使得各进程不能继续向前推前。
原因:
系统资源不足:
进程推进顺序不合适。
必要条件:
互斥条件:
并发进程所要求和占有的资源是不能同时被两个以上进程访问:
不剥夺条件:
进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自己释放:
请求和保持条件:
进程已经占有了至少一个资源,但又申请新的资源,而申请的资源已被其他进程占有,该进程在等待新资源的同时继续占有己分配的资源;
环路等待条件:
存在一种进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。
解决死锁的方法
•预防死锁:
通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或几个条件,以预死锁。
(不能摒弃互斥条件)
•避免死锁:
在资源的分配过程中,用某种方法去防止系统进入不安全状态,从而避免死锁。
•检测和恢复死锁:
系统设有专门的机构,当死锁发生时,该机构能够检测到死锁发生的位置和原因,并通过外力破坏死锁发生的必要条件,使得并发进程从死锁状态中恢复出来。
7、利用银行家算法避免死锁
假定系统中有五个进程{PO,P1,P2,P3,P4}和三类资源{A,B,C},各种资源的数量分别为10、5、7,在T0时刻的资源分配情况如图l所示。
在T0时刻存在一个安全序列{pl,p3,p4、p2,p0},因此系统是安全的。
(进程执行顺序Pl→P3→P4→P2→P0,每个进和执行完后释放它使用的资源)
(2)P1请求资源P1发出请求向量Requestl(l,0,2),系统按银行家算法进行检查:
①Requestl(1,0,2)<=Needl(1,2,2)
②Request1(I,0,2)<=Availablel(3,3,2)
③系统先假定可为P1分配资源,井修改Available,Allocationl和Needl向量,由此形成的资源变化情况如图l中的圆括号所示。
④再利用安全性算法检责此时系统是否安全。
T1时刻的安全性:
在T1时刻存在一个安全序列{p1,p3,p4,p0,p2}因此系统是安全的。
(3)P4请求资源:
P4发出的请求向量Request4(3,3,0),系统按银行家算法进行检查:
①Request4(3,3,0)<=Need4(4,3,1);
②Request4(3,3,0)>Avai1able(2,3,0),让P4等待。
(4)P0请求资源:
P0发山请求向量Requst0(0,2,0),系统按银行家算法进行检查:
①Request0(0,2,0)<=Need0(7,4,3);
②Request0(0,2,0)<=Available(2,3,0);
③系统暂时先假定可为P0分配资源,并修改有关数据,如图2所示。
为P0分配资源后的有关资源数据
此时,系统己进入不安全状态,本次的试探分配作废,进和p0等待。
8、在银行家算法中,若出现下述资源分配情况:
试问
(1)该状态是否安全?
(2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
答:
(l)该状态的安全性:
在该状态存在一个安全序列{p0,p3,pl,p4,p2},冈此系统是安全的。
(2)P2请求资源:
P2发山请求向量Request1(1,2,2,2),系统按银行家算法进行检查:
①Request2(1,2,2,2)<=Need2(2,3,5,6);
②Request2(1,2,2,2)<=Available(1,6,2,2)
③系统暂时先假定可为P2分配资源,并修改有关数据。
为P2分配资源后的有关资源数据
进行安全性检查:
可用资源Availabe(0.4.0.0)已不能满足任何进程的需要,故系统进入不安全状态,此时系统不分配资源。
第四章
1、存储器的分配方式
•连续分配方式
•分页式存储管理方式
•分段式存储管理方式
•段页式存储管理方式
2、基本分页存储管理
连续分配方式会形成许多"碎片"虽然可以通过"紧凑"方式将许多碎片拼接成可用的大块空间,但须为之付出很大开销。
所以提出了"离散分配方式"的想法。
如果离散分配的基本单位是页,则称为分页管理方式:
如果离散分配的基本单位是段,则称为分段管理方式。
在分页系统中,允许将进程的各个页离散地存储在内存不同的物理块中,但系统应能保证进程的1正确运行,即能在内存中找到每个页面所对应的物理块。
为此,系统义为每个进程建立了一张页面映像表,简称页表。
在进程地址空间内的所有页,依次在页表中有一页表项,其中记录了相应页在内存中对应的物理块号。
在配置了页表后,进程执行时,通过夜找该表,即可找到每页在内存中的物理块号。
可见,页表的作用是实现从页号到物理块号的地址映射。
页表:
描述进程中每个页面所对应的物理块,每个进程有一个页表:
物理页面表=整个系统有一个物理页面表,描述物理内存空间的分配使用状况。
数据结构:
位示图,空闲页面链表:
请求表:
整个系统有一个请求表,描述系统内各个页表的位置和大小,用于地址转换,也可以结合到各进程的PCB里:
3、为什么要引入分段式存储管理方式
主要是为了满足用户和程序员的下述一系列需要:
+方便编程。
例如LOAD1,[A]|;
+信息共享。
可以按段为单位来进行共享。
+信息保护。
可以针对不同类型的段采取不同的保护。
+动态增长。
特别是数据段的不断增长。
+动态链接。
当运行过程中又需要调用某段时,才将该段(目标程序)调入内
存并进行链接。
动态链接也要求以段作为管理的单位。
4、页式管理和段式管理的比较
·页是信息的物理单位,分页是出于系统管理的需要:
段则是信息的逻辑单位,它含有一组
其意义相对完整的信息,分段是出于用户应用的需要。
+一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处。
·页大小是系统固定的:
而段大小则通常不固定,由编译程序在对源程序进行编译时,根据信息的性质来划分。
·通常段比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。
·逻辑地址表示:
+分页是一维的,各个模块在链接时必须组织成同一个地址空间:
+分段是二维的,各个模块在链接时可以每个段组织成一个地址空间。
5、虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
引入虚拟存储器主要是为了解决内存空间不足的问题。
6、虚拟存储器的特征
•多次性:
虚拟存储器将一个作业分成多次调入内存。
•对换性:
虚拟存储器允许将那些暂不使用的程序或数据从内存调至对换区,
待以后需要时再调入内存,从而能有效地提高内存利用率。
(与交换技术相
比较,虚拟存储的调入和调出是对部分虚拟地址空间进行的)
•虚拟性:
虚拟存储器对内存的扩充是逻辑上的,用户所看到的大容量只是一
种感觉,并不是实际存在,因此是虚的。
7、页面置换算法:
最佳置换算法、先进先出(FIFO)页面置换算法、最近最久。
•最佳置换算法:
是由Belady于1966年提出的一种理论上的算法。
其所选择的被
淘汰页面,将是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面。
例:
假定系统为某进程分配了三个物理块,并考虑有以下的页面号引用
•先进先出(FIFO)页面置换算法
•最近最久未使用(LRU)置换算法
利用最近最久米使用页面置换算法时的置换图
第五章
1、程序I/O、中断I/O、直接存储器访问DMAI/O控制方式、通道I/O什么样子?
1)程序I/O控制方式
由用户进程来直接控制内存或CPU和外围设备之间的信息传送。
这种方式的控制者是用户进程。
2)中断驱动I/O控制方式
为了减少程序直接控制方式中CPU等待时间以及提高系统的并行工作程度,中断(interrupt)方式被用来控制外围设备和内存与CPU之间的数据传送。
中断驱动I/O控制方式成百倍地提高了cpu利用率。
采用中断驱动110方式时的CPU是以字(节)为单位进行干预的。
3)直接存储器访问DMAI/O控制方式
基本思想是在外国设备和内存之间开辟直接的数据交换通路。
特点:
•数据传输的基本单位是数据块,即在CPU与110设备之间,每次传送至少一个数据块:
•所传送的数据是从设备直接送入内存的,或者相反:
•仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传
送是在控制器的控制下完成的。
4)I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。
同时,又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。
通道的定义:
通道是一个独立于CPU的专管输入输出控制的处理机,它控制设备与内存直接进
行数据交换。
它有自己的通道指令,这些通道指令受CPU启动,并在操作结束时
向CPU发中断信号。
2、SPOOLing技术
当系统中引入了多道程序技术后,完全可以利用其中的一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O设备上的数据传送到高速磁盘上:
再用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。
这样,便可在主机的直接控制下,实现脱机输入、输出功能。
此时的外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing(SimultaneausPeriphernalOperatingOn-Line),或称为假脱机操作。
3、磁盘调度
1先来先服务FCFS(First-Come,FirstServed)
2最短寻道时间优先SSTF(ShortestSeekTimeFirst)
3扫描(SCAN)算法
4循环扫描(CSCAN)算法
第六章
1、文件和文件系统
在现代os中,几乎毫无例外地是通过文件系统来组织和管理在计算机中所存储的大量程序和数据的:
或者说,文件系统的管理功能,是通过把它所管理的程序和数据组织成一系列文件的方法来实现的。
而文件则是指具有文件名的若干相关元素的集合。
元素通常是记录,而记录又是一组有意义的数据项的集合。
可见,基于文件系统的概念,可以把数据组成分为数据项、记录和文件三级。
2、文件的定义:
文件是指由创建者所定义的、具有文件名的一组相关数据元素的集合。
3、文件的结构
对于任