计算机操作系统期末复习提要含答案完成.docx
- 文档编号:15435582
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:55
- 大小:154.27KB
计算机操作系统期末复习提要含答案完成.docx
《计算机操作系统期末复习提要含答案完成.docx》由会员分享,可在线阅读,更多相关《计算机操作系统期末复习提要含答案完成.docx(55页珍藏版)》请在冰点文库上搜索。
计算机操作系统期末复习提要含答案完成
“计算机操作系统原理”期末考试试卷结构
1、名词解释:
共5小题,共计25分;简答题:
共5小题,共计40分;综合题:
共3小题,共计35分。
1、操作系统的基本概念
•操作系统的目标:
1.方便性2.有效性3.可扩充性4.开放性
•操作系统的定义:
操作系统(operatingsystem,简称OS)是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们管理和控制计算机系统中的软件和硬件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。
•操作系统的基本特性:
并发。
异步。
共享。
虚拟
•操作系统的主要功能:
1处理机管理功能2存储器管理功能3设备管理功能4文件管理功能
2、分时系统和实时系统的基本特征。
•分时系统的特征:
多路性。
独立性。
及时性。
交互性。
•实时系统与分时系统特征的比较:
多路性。
独立性。
及时性。
交互性。
可靠性
3、多道程序设计
定义:
用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
在内存中放多道程序,使它们在管理程序的控制下相互穿插地运行。
优点:
提高CPU的利用率;可提高内存和I/O设备利用率;增加系统吞吐量
4、单道和多道批处理系统的概念和特征,以及它们的优缺点。
单道批处理系统定义:
把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个地连续处理,直至磁带(盘)上的所有作业全部完成,系统对作业的处理都是成批地进行的,且在内存中始终只保持一道作业。
多道批处理系统定义:
由多道程序设计技术组成的系统。
5、响应时间和周转时间
响应时间:
是从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间,或者说,直到屏幕上显示出结果为止的一段时间间隔。
它包括三部分时间:
从键盘输入的请求信息传送到处理机的时间,处理机对请求信息进行处理的时间,以及将所形成的响应信息回送到终端显示器的时间。
周转时间:
是指从作业被提交给系统开始,到作业完成为止的这段时间间隔(称为作业周转时间)。
它包括四部分时间:
作业在外存后备队列上等待(作业)调度的时间,进程在就绪队列上等待进程调度的时间,进程在CPU上执行的时间,以及进程等待I/O操作完成的时间。
6、临界资源和临界区
把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。
把在每个进程中访问临界资源的那段代码称为临界区(criticalsection)
7、
并发与并行
并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。
8、局部性原理的基本概念,及其主要应用
程序在执行时将呈现出局部性规律,即在一较短时间内,程序的执行仅限于某个部分;相应地,它所访问的存储空间也局限于某个区域。
它提出了下述几个论点:
(1)程序在执行时,除了少部分的转移和过程调用指令外,在大多数情况下仍是顺序执行的。
该论点也在后来许多学者们对高级程序设计语言规律的研究中被证实。
(2)过程调用将会使程序的执行有一部分内存区域转至另一部分区域,。
但经研究表明,在大多数情况下,过程调用的深度都不超过5。
这就是说,程序将会在一段时间内,都局限在这些过程的范围内运行。
(4)程序中还包括许多对数据结构的处理,如对数组进行操作,它们都往往都局限于小的范围内。
基于局部性原理,一个作业在运行之前,没有必要全部装入内存,而仅将那些当前要运行的那部分页面或段,先装入内存便可启动运行,其余部分暂时留在磁盘上。
9、程序顺序执行与并发执行的基本特征
程序顺序执行
1、定义:
程序在执行时,必须按照某个先后顺序执行,仅当前一操作执行完后,才能执行其后继操作。
2、顺序执行的特征
(1)顺序性:
处理机的操作,严格按照程序所规定的顺序进行,即只有前一操作结束后,才能执行其后继操作。
(2)封闭性:
程序在运行时,独占全机资源,因而机内个资源的状态,只有本程序才能改变执行结果不受外界的影响。
(3)可再现性:
只要程序执行时的环境和初始条件相同。
当程序重复多次执行,不论它是从头到尾不停地执行,还是“停停走走”地执行,都将获得相同的结果。
程序并发执行
例如:
输入进程、计算进程、打印进程可以并发执行,前趋图如图2-3:
1、并发执行的特征
(1)间断性:
程序在并发执行时,由于它们共享资源或为完成同一任务而相互合作,致使在并发程序之间形成了相互制约的关系,具有“执行-暂停执行-再执行”的特征。
(2)失去并发性:
程序在并发执行时,系统中的资源状态将由多个程序来改变,使程序的运行失去了封闭性。
(3)不可再现性:
程序在并发执行时,由于失去了封闭性,其计算结果已与并发程序的执行速度有关,程序经过多次执行后,虽然执行的环境和初始条件相同,但得到的结果却大不相同。
10、进程的基本概念
进程的定义
1、定义:
可并发执行的程序对某个数据集在处理机上的执行过程。
或者进程是进程实体的执行过程。
2、组成:
由程序段、数据段和进程控制块(JCB)组成。
11、进程的基本特征
1、动态性(最基本特征)
进程是执行的程序,动态性表现在:
它由创建而产生,由调度而执行,由撤消而消亡。
它有一定的生命期。
2、并发性
多个进程实体,同存于内存中,能在一段时间内同时运行,它是进程的重要特征。
也是OS的特征。
3、独立性
进程实体是一个能独立运行的基本单位,同时也是系统中能独立获得资源和独立调度的基本单位。
4、异步性
指进程按各自独立的、不可预知的速度向前推进,即进程按异步方式运行。
5、结构特征
进程实体由程序段、数据段和jcb构成,这三部分可称为“进程映像“。
12、进程与程序的主要区别
程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。
而进程是程序在处理机上的一次执行过程,它是一个动态的概念;
程序可以作为一种软件资料长期存在,而进程是有一定生命期的。
程序是永久的,进程是暂时的;
进程更能真实地描述并发,而程序不能;
进程是由程序和数据、进程控制块三部分组成的;
进程具有创建其他进程的功能,而程序没有同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。
也就是说同一程序可以对应多个进程
13、进程控制块的基本作用和重要意义
进程控制块的作用
PCB:
用于描述进程情况及控制进程运行所需的全部信息。
,使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位。
一个能与其他进程并发执行的进程。
或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。
系统根据进程PCB而不任何别的什么而感知到进程的存在,所以说,PCB是进程存在的唯一标志。
14、P、V操作和信号量的基本概念
两个基本的操作,wait(s)和singal(s),也称为P、V操作。
(2)wait操作的描述
wait(s):
While s<=0 do no-op
s:
=s-1;
(3)wait操作的物理意义
当s>0时,s表示可用资源数,执行一次wait操作,意味着分配一个单位的该类资源给执行wait操作的进程,因此,描述为s:
=s-1;当s<=0时,表示没有资源可供分配,因此,请求资源的进程被阻塞在相应的信号量的阻塞队列中,此时,s的绝对值等于在该信号量上等待的进程数。
(4)singal操作的描述
signal(s):
s:
=s+1;
(5)signal操作的物理意义
执行一次v操作,意味着释放一个单位的可用资源,故信号量s执行s:
=s+1操作。
若s<=0,表示信号量s的阻塞队列中有因请求该资源而被阻塞的进程,因此应把阻塞队列中的一个进程唤醒,使之转入就绪队列。
15、死锁的基本概念
所谓死锁(Deadlock),是指多个进程因竞争资源而造成的一种僵局(Deadly-Embrace),若无外力作用,这些进程都将永远不能再向前推进。
16、死锁产生的原因,以及死锁的必备条件
死锁的原因可归结为两点:
(1)竞争资源。
当系统中供多个进程所共享的资源,不足以同时满足它们的需要时,引起它们对资源的竞争而产生死锁。
(2)进程推进顺序非法。
进程在运行过程中,请求和解放资源的顺序不当,导致了进程死锁。
产生死锁的必要条件
综上所述可以看出,在同时具备下列四个必要条件时,就会产生死锁。
1、互斥条件
2、请求和保持条件
3、不剥夺条件
4、环路等待条件
17、预防死锁的基本方法和原理
通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或几个条件,来防止发生死锁。
18、低级调度、中级调度、高级调度的基本概念和主要方法
高级调度(High levelScheduling)(或作业//长程//接纳调度)
(1)定义
把外存上处于后备队列中的那些作业调入内存,并为它们创建进程、分配必要的资源,然后,再将新创建的进程排在就绪队列上,准备执行。
在批处理系统中,是先驻留在外存上的,因此需要有作业调度,以将它们分批装入内存。
在分时系统中,为了能及时响应,用户通过键盘输入的命令或数据等,都是直接送入内存,因而无需配置作业调度。
(2)决定作业调度的两个因素
①接纳多少个作业
作业调度每次要接纳多少个作业进入内存,取决于多道程序度(DegreeofMultiprogramming),即允许有多少个作业同时在内存中运行。
当同时运行的作业太多时,可能会影响到系统的服务质量,如使周转时间太长。
但是,如果内存中同时运行的作业太少时,又会导致系统资源利用率和系统吐量太低,因此,多道程序度的确定应根据系统的规模和运行速度等,然后再做适当折衷。
②接纳哪些作业
应将哪些作业从外存调入内存,将取决于所采用的调度算法。
最简单的是先来先服务调度算法,它是将最早进入外存的作业最先调入内存;较常用的一种是短作业优先调度算法,即将外存上最短的作业最先调入内存;此外,还有基于作业优先权的调度算法、响应比高者优先的调度算法等。
2、低级调度(LowLevelScheduling)
低级调度通常又称为进程调度、短程调度(Short-TermScheduling)在三种类型的OS中都必须配置这级调度。
进程调度可采取下述两种方法:
(1)非抢占方式(Non-PreemptiveMode)
采取调度方式时,一旦处理机分配某进程后,便让该进程一直执行,直至该进程完成或发生某事件而被阻塞时,才再把处理机分配给其它进程,决不允许某进程抢占已经分配出去的处理机。
这种调度方式的优点是实现简单、系统开销小,适用大于多数的批处理系统环境。
但它难于满足紧急任务的要求。
(2)抢占方式(Preemptive Mode)
这种调度方式,允许调度程序根据某种原则,去停止某个正在执行的进程,将已分配给该进程的处理机,重新分陪另一进程。
抢占的原则有:
①时间片原则
各进程按时间片运行,当一个时间片用完后,便停止该进程的执行而重新进姓调度。
这种原则适用于分时系统、大多数实时系统,以及要求较高的批处理系统。
②优先权原则
通常是对一些重要的和紧急的作业赋予较高的优先权。
当这种作业到达时,如果其优先权比正在执行进程的优先权高,便停止正在执行的进程,将处理机分配给优先权高的进程,使之执行。
③短作业(进程)优先原则
当新到达的作业(进程)比正在执行的作业(进程)明显地短时,将剥夺长作业(进程)的执行,将处理机分配给作业(进程),使之优先执行。
3、中级调度(Intermediate-Leveal Scheduling)
中级调度又称中程调度(Medium-TermScheduling )。
(1)引入中级调度的目的
是为了提高内存的利用率和系统吐量。
(2)定义
应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态,或挂起状态。
当这些进程重又举备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运动条件的就绪进程重新调入内存,并修改其状态为就绪态,挂在就绪队列上,等待进程调度。
19、生产者消费者问题,及其解决方法
1、问题描述
有一群生产者进程在生产消息,并将此消息提供给消费者进程去消费,为使生产者进程和消费者进程能并发执行,在它们之间设置了一个具有n个缓冲区的缓冲池,生产者进程可将它所生产的消息方入一个缓冲区中,消费者进程可以从一个缓冲区取得一个消息消费。
2、用记录型信号量解决生产者——消费者问题
设:
资源信号量empty——缓冲池空;full——缓冲池慢;mutex——各进程实现对缓冲池的互斥信号量;
描述如下:
varmutex,empty,full,semaphore:
=1.n,0;
buffer:
array[0,…n-1] of item;
in,out:
integer:
=0,0;
begin
parbigin
produce:
begin
repeat
procedure an item in nextp;
wait(empty);
wait(mutex);
buffer(in):
=nextp;
in:
=(in+1) mod n;
signal(mutex);
signal(full);
untilfalse;
end
consumer:
begin
repeat
wait(full);
wait(mutex);
nextc:
=buffer(out);
out:
=(out+1) mod n;
signal(mutex);
signal(emptyl)
consume the item in nextc;
until false;
end
parend
end
注意:
(1)在每个程序中用于实现互斥的wait(mutex)和signal(mutex)必须成对出现。
(2)对资源信号量empty,full的wait和signal操作,成对出现。
(3)在每个程序中的多个wait操作顺序不能颠倒,应先执行对资源信号量的wait操作,然后再执行对互斥信号量的wait操作,否则可呢感引起死锁。
3、利用AND信号量解决生产者——消费者问题
(1)方法
利用Swait(empty,mutex)来代替wait(empty)和wait(mutex);用Ssignal(mutex,full)来代替signal(mutex)和signal(full),以及用Ssignal(mutex)和signal(empty).
(2)描述
varmutex,empty,full,semaphore:
=1.n,0;
buffer:
array[0,…n-1] of item;
in,out:
integer:
=0,0;
begin
parbigin
produce:
begin
repeat
procedure an item in nextp;
wait(empty,mutex);
buffer(in):
=nextp;
in:
=(in+1) mod n;
signal(mutex,full);
untilfalse;
end
consumer:
begin
repeat
wait(full,mutex);
nextc:
=buffer(out);
out:
=(out+1) mod n;
signal(mutex,emptyl)
consume the item in nextc;
until false;
end
parend
end
20、读者写者问题,及其解决方法
1、问题的描述
(1)Reader进程:
只要求读的进程称为~。
(2)Writer进程:
要求对数据对象今年系写或修改的进程称为~。
注意:
允许一个Reader进程同时读一个共享对象;但绝对不允许一个write进程和其他reader进程或writer进程同时访问共享对象。
(违反Bernstein条件,从而引起混乱。
)
读者---写者问题:
指保证一个writer进程必须与其他进程互斥地访问共享对象的同步问题。
2、解决方法
(1)利用记录型信号量解决读者——写者问题
设:
互斥信号量wmutex,rmutex;整形变量readcount——正在读的进程数目;只要有一个reader进程在读,便不允许write进程去写,因此,仅当readcount=0——表示尚无reader进程在读,reader进程才需要执行wait(wmutex)操作,若wait(wmutex)操作成功,reader进程便可去读。
此时,readcount+1。
相应地,仅当reader进程在执行了readcount减1操作后,其值为0时,才需执行signal(wmutex)操作。
以便让write进程去写。
又因为readcount是一个可被多个reader进程访问的临界资源,因此,应为它设置一互斥信号量rmutex。
Varrmutex,wmutex:
semaphore:
=1,1;
Readcount:
integer:
=0;
Begin
Parpegin;
Reader:
begin;
Repeat
Wait(rmutex)
Ifreadcunt=0thenwait(wmutex)
Readcount;=readcount+1;
Signal(rmutex);
Performreadoperation;
Wait(rmutex);
Readcount:
=readcount-1;
Ifreadcount=0thensignal(wmutex)
Sinai(rmutex);
Untilfalse;
End
Writer:
begin
Repeat
Wait(wmutex);
Performwriteoperation;
Signal(wmute);
Untilfalse;
End
Parend
End
(2)利用信号量集机制解决读者一写者问题
这里的读者一写者问题,与前面的略有不同,它增加了一条限制,即最多只允许RN个读者同时读。
为此,又引入了一个信号量L,并赋予其初值为RN,通过执行wait(L,1,1)操作,来控制读者的数目,每当有一个读者进入时,都要先执行wait(L,1,1)操作,使L的值减1。
当有RN个进入读后,L便减为0,第RN+1个读者进入读时,必然会因wait(L,1,1)操作失败而阻塞。
利用信号量集来解决读者一写者问题的描述如下:
varRNinteger; L,mx:
semaphore:
=RN,1;
Begin
Parbegin
Reader:
begin
Repeat
Swait(L,1,1);
Swait(mx,1,0);
Performreadoperation
Ssignai(L,1);
Untilfalse;
End
Writer:
begin
Repeat
Swait(mx,1,1;L,RN,0);
Performwriteoperation
Ssignal(mx,1);
Untilfalse;
End
Parend
End
其中,Swait(mx,1,0)语句起着开关作用。
只要无writer进程进入写mx=1,reader进程就都可以进入读。
但只要一旦有writer进入写时,其mx=0,则任何reader进程就都无法进入读。
Swait(mx,1,1,L,RN,0)语句表示仅当即无writer进程在写(mx=1),又无reader进程在读(L=RN)时,writer进程才能进入临界区写。
21、虚拟存储器的基本概念
虚拟存储器的定义
基于局部性原理,一个作业在运行之前,没有必要全部装入内存,而仅将那些当前要运行的那部分页面或段,先装入内存便可启动运行,其余部分暂时留在磁盘上。
三、虚拟存储器的实现方式
虚拟存储器的实现,毫无例外地都是建立在离散分配存储管理方式的基础上的。
目前,所有的许怒存储管理都是采用下述方式之一实现的。
1、分页请求系统
为了能实现请求调页和置换功能,系统必须提供必要的硬件支持,其中,最重要的是:
(1)请求分页的页表机制。
它是在分页的页表机制上增加若干个项而形成的,作为请求分页的数据结构;
(2)缺页中断机构。
每当用户程序要访问的页面尚未调入内存时,便产生一缺页中断,以请求OS将所缺的页面调入内存;
(3)地址变换机构。
它同样是在分页的地址变换机构的基础上发展形成的。
为了实现请求调页还须得到OS的支持,在实现请求调页功能时,石油OS将所需的页从外存调入内存;在实现置换功能时,也是由OS将内存的某些页调至外存。
2、请求分段系统
为了实现请求分段,系统同样需要必要的硬件支持:
(1)请求分段的段表机制。
。
这是在钝分段的段表机制基础上,增加若干项而形成的;
(2)缺段中断机构。
每大拇哥用户程序所要访问的所要访问的所尚未调入内存时,产生一缺段中断,请求OS将所缺的段调入内存;
(3)地址变换机构。
与请求调页类似,实现请求调段和置换功能也需要得到OS的支持。
四、虚拟存储器的特征
虚拟存储器最基本的特征是离散性,在此基础上又形成了多次性及对换性的特征。
其所表出来的最重要的特征是虚拟性。
1、离散性
离散性是指在内存分配是采用离散分配方式,这是其他几个特征的基础。
没有离散性,也就不可能实现虚拟存储器。
2、多次性
多次性是指一个作业被分成多次地调入内存运行,即在运行时没有必要将其全部装入,只须将当前要运行的那部分程序和数据装入内存即可;以后运行到那一部分时在将它调入。
3、对换性
对换性是指允许在作业的运行过程中换进、换出。
在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外存的对换区(换出),以后需要时再将它们从外存调至内存换入;甚至还允许将暂时不运行的进程调至外存,具备运行条件时再调入内存。
换进、换出能有效地提高内存利用率。
可见,虚拟存储器具有对换性特征。
4、虚拟性
虚拟性是指能够从逻辑上扩允内存容量,使用户所看到的内存容量远大于实现内存容量。
这是虚拟存储器所表现出来的最重要的特征,也是实现虚拟存储器的最重要的目标。
22、逻辑地址与物理地址
①相对地址:
程序中的地址都是从0开始的,程序中的其他地址都是相对于起始地址而计算的,程序中的地址所形成的地址范围称为“地址空间”。
其中的地址称为“逻辑地址”或“相对地址”。
②绝对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 期末 复习 提要 答案 完成