计算机操作系统总复习教材顺序.docx
《计算机操作系统总复习教材顺序.docx》由会员分享,可在线阅读,更多相关《计算机操作系统总复习教材顺序.docx(45页珍藏版)》请在冰豆网上搜索。
计算机操作系统总复习教材顺序
计算机操作系统总复习
第一章习题(教材提供)
1、教材中介绍了学习“操作系统”要记住最精髓的两句话,是什么?
2、单项选择题:
(1)操作系统负责管理计算机系统的(C),其中包括处理机、存储器、设备和文件。
A.程序B.文件C.资源D.进程
(2)没有下列(C)设备计算机无法工作。
A.硬盘B.软盘C.内存D.打印机
3、分时系统和实时系统有什么不同?
4、多用户操作系统离开了多终端的硬件支持,能否安装和使用?
5、多用户操作系统和网络操作系统有什么区别?
答案:
1、答:
计算机操作系统使方便用户、管理和控制计算机软硬件资源的系统软件(或程序集合);操作系统目前有五大类型(批处理、分时、实时、网络和分布式)和五大功能(作业管理、文件管理、存储管理、设备管理和进程管理)。
2、
(1)C,
(2)C
3、答:
分时系统通用性强,交互性强,及时响应性要求一般(通常数量级为秒);实时系统往往是专用的,系统与应用很难分离,常常紧密结合在一起,实时系统并不强调资源利用率,而更关心及时响应性(通常数量级为毫秒或微秒)、可靠性等。
4、答:
多用户系统与多终端系统是不同的概念。
多用户系统为多个用户使用,是一个软件系统的概念,它强调用户之间的安全保密;而多终端系统是指系统中有多个用户终端,是硬件设备的描述,即使一个终端也可以为多个用户使用。
因此,多用户操作系统不一定需要多终端的硬件支持,完全可以安装和使用。
5、答:
见下表:
多用户系统
网络系统
CPU
共用一个或几个
多个处理器
共享资源
共享主存
共享服务器
终端工作
分时
网址通信链接
客户端工作
不能独立工作
客户机能独立工作
操作系统
集中管理
有自己的操作系统
三、综合练习
1、填空练习
(1)计算机操作系统是方便用户、管理和控制计算机软件硬件资源的系统软件。
(2)操作系统目前有五大类型:
批、分时、实时、网络和分布式。
(3)作系统的五大功能是:
设备。
处理机、存储。
文件管理和用户接口。
(4)DOS是磁盘操作系统的缩写。
(5)面对一般用户,通过操作命令方式控制操作系统;面对编程人员,通过系统调用控制。
2、单项选择练习
1.操作系统是计算机系统的核心软件。
按功能特征的不同,可把操作系统分为[B]、[E]、[C]、网络操作系统和分布式操作系统基本类型。
其中[B]的主要目标是提高系统的吞吐率和效率,而[E是一旦有处理请求和要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回,例如[D]等。
供选择的答案:
[1][2][3]
A、单用户系统B、批处理系统C、分时系统
D、微机操作系统E、实时系统
[4]
A、计算机激光照排系统B、办公自动化系统
C、计算机辅助设计系统D、航空订票系统
2.操作系统是一种(B)。
A.应用软件B.系统软件
C.通用软件D.工具软件
3.在下列性质中,哪一个不是分时系统的特征。
(D)
A.交互性B.多路性C.成批性D.独占性
4.实时操作系统追求的目标是(C)。
A.高吞吐率B.充分利用内存C.快速响应D.减少系统开销
5.操作系统是为了提高计算机的[1]和方便用户使用计算机而配置的基本软件。
它负责管理计算机系统中的[2],其中包括[3],[4],外部设备和系统中的数据。
操作系统中的[3]管理部分负责对进程进行管理。
操作系统对系统中的数据进行管理的部分通常叫做[5]。
供选择的答案:
[1]A、速度B、利用率C、灵活性D、兼容性
[2]A、程序B、功能C、资源D、进程
[3][4]A、主存储器B、虚拟存储器C、运算器
D、控制器E、微处理器F、处理机
[5]A、数据库系统B、文件系统C、检索系统
D、数据库E、数据存储系统F、数据结构
G、数据库管理系统
6.现代操作系统的两个基本特征是(C)和资源共享。
A.多道程序设计B.中断处理
C.程序的并发执行D.实现分时与实时处理
7.以下(C)项功能不是操作系统具备的主要功能。
A.内存管理B.中断处理C.文档编辑D.CPU调度
8.批处理系统的主要缺点是(B)。
A.CPU的利用率不高B.失去了交互性
C.不具备并行性D.以上都不是
9.引入多道程序的目的在于(A)。
A.充分利用CPU,减少CPU等待时间
B.提高实时响应速度
C.有利于代码共享,减少主、辅存信息交换量
D.充分利用存储器
10.UNIX命令的一般格式是(A)。
A.命令名[选项][参数]B.[选项][参数]命令名
C.[参数][选项]命令名D.[命令名][选项][参数]
12.下列四个操作系统中,是分时系统的为(C)。
A.CP/MB.MS-DOS
C.UNIXD.WINDOWSNT
13.在分时系统中,时间片一定,(B),响应时间越长。
A.内存越多B.用户数越多
C.后备队列D.用户数越少
16.(D)不是操作系统关心的主要问题。
A.管理计算机裸机
B.设计、提供用户程序与计算机硬件系统的界面
C.管理计算机系统资源
D.高级程序设计语言的编译器
答案:
1、
(1)、软硬件资源
(2)、批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统
(3)、作业管理、文件管理、存储管理、设备管理、进程管理
(4)、磁盘操作系统
(5)、操作命令、系统调用
2、答案:
1.[1]-B[2]-E[3]-C[4]-D
2.B3.D4.C
5.[1]-B[2]-C[3]-F[4]-A[5]-B
6.C7.C8.B9.A10.A11.C12.B13.D
第2章进程及处理机管理
1、重点内容
什么是进程?
进程既是基本的分配单元,也是基本的执行单元。
4、顺序执行程序的特点:
(1)封闭性(closureproperty);
(2)可再现性(re-appearable);
(3)调试容易;
(4)设备利用率不高。
5、顺序执行与并发执行的比较
顺序执行与并发执行见下表。
顺序执行
并发(共行)执行
程序顺序执行
程序具有封闭性
独享资源
具有可再现性
间断执行,多个程序各自在“走走停停”中进行
程序失去封闭性
共享资源
失去可再现性
有直接和间接的相互制约
顺序执行与并发执行比较
6、程序与进程的对比
程序与进程的对比见下表
程序
进程
静态的指令序列描述
永久性软件资源
工作时一个程序可以由多个进程在工作
操作系统管理下,经用户态由系统态系统调用执行
动态的程序执行过程
动态生存的暂存性资源
一个进程在工作至少对应有一个程序
由操作系统核心在内部进行分配调度
表6-2程序与进程的对比表
7、进程的五个基本特征
(1)动态性
进程是程序在并发系统的一次执行,一个进程有一个从产生到消失的生命期;
(2)并发性
正是为了描述程序在并发系统内执行的动态特征才引入了进程,没有并发就没有进程;
(3)独立性
每个进程的程序都是相对独立的顺序程序,可以按自己的方向和速度独立地向前推进;
(4)制约性
进程之间的相互制约,主要表现在互斥地使用资源和相关进程之间必要的同步和通讯;
(5)结构性
进程=PCB(进程控制块)+程序+数据集合。
8、线程的定义、特点及优点
简单地讲,进程就是程序的一次执行过程。
而线程是由进程派生出来的一组代码(指令组)的执行过程。
线程的特点:
线程是由进程派生出来的,一个进程可以产生多个线程,线程的特点是共享进程的内存空间,它们可以并发、异步地执行。
采用线程的优点:
(1)使同一个程序能有几个并发执行的路径,提高了执行速度;
(2)线程需要的开销比进程小。
9、进程的静态描述
进程=PCB+程序+数据
其中,PCB(processcontrolblock)为记录程序在并发系统中执行时的动态特性的数据结构。
10、进程的状态及转换
(1)进程的状态
一般来说,一个进程在它的生命周期有三种基本状态,分别为就绪(ready)、执行(execute)和等待(waiting)。
一个进程在刚创建初期处于“进入”状态,在运行终止后处于“完成”状态。
(1)就绪——进程具备运行条件,但尚未占用CPU;
(2)执行——进程正在占用CPU;
(3)等待——进程由于等待某一事件不能享用CPU。
进程的三种基本状态及关系如下图
资源释放资源缺乏
开始时间片到完成
进程调度选中
11、引起进程状态转换的原因
(1)CPU调度(低级调度):
CPU调度按某种原则从就绪队列中调度一个进程到CPU上运行,该进程就从就绪状态变为运行状态;与此同时,原运行进程从运行状态变为就绪状态。
因此,这两种状态变化是同时发生的。
(2)进程在运行过程中需要等待某一事件,例如,等待分配某一资源,等待I/O操作完成等。
一个进程在需要等待某一事件时主动退出CPU,并使自己处于阻塞状态,引起状态变化。
(3)如果进程所等待的事件发生了变化,例如,一次I/O完成了,于是进程便被解除阻塞状态,变为就绪状态。
(4)一个具体的进程在任何一个指定的时刻必须而且只能处于一种状态。
12、进程的调度算法
1.先来先服务(firstcomefirstservice,FCFS)
将用户作业和就绪进程按提交顺序转变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理,是一种最简单的方法。
在没有特殊理由要优先调度某类作业或进程时,从处理的角度看,FCFS方式是一种最合适的方法,因为无论是追加还是取出一个队列元素在操作上都是最简单的。
该算法的优点是实现简单,缺点是对那些执行时间较短的进程来说,将等待较长的时间,从而降低CPU的利用率。
在实际操作系统中,FCFS算法常常和其它的算法配合起来使用,例如,基于优先级的调度算法就是对具有同样优先级的进程采用FCFS算法。
2.轮转法(roundrobin,RR)
轮转法的基本思路是让每个进程在就绪队列中的等待时间与享受服务的时间成比例。
轮转法的基本概念是将CPU的处理时间分成固定大小的时间片,例如,几十毫秒到击败毫秒。
如果一个进程在被调度选中之后用完了系统规定的时间片,但又未完成要求的任务,则它自行释放自己所占有的CPU而排到就绪队列的末尾,等待下一次调度。
同时,进程调度程序又去调度当前就绪队列中的第一个进程。
显然,轮转法只能用来调度分配那些可以抢占的资源。
这可以抢占的资源可以随时剥夺,而且可以将它们再分配给别的进程。
CPU是可抢占的资源的一种。
但打印机等是不可抢占的资源。
另外,时间片长度的选择是根据系统对响应时间的要求和就绪队列中所允许的最大进程数确定的。
3.多级反馈轮转法(roundrobinwithmultiplefeedback)
(1)在轮转法中,加入到就绪队列的进程有三种情况:
(a)分给它的时间片用完,但进程还未完成,回到就绪队列的末尾等待下次调度去继续执行;
(b)分给该进程的时间片未用完,只是因为请求I/O或由于进程的互斥与同步关系而被阻塞,当阻塞解除之后再回到就绪队列;
(c)新创建进程进入就绪队列。
(2)如果对这些进程区别对待,给予不同的优先级和时间片,可提高系统资源的利用率。
例如,把就绪队列按照进程到达就绪队列的类型和进程被阻塞的原因分成不同的就绪队列,每个队列按FCFS原则排列,不同队列中的进程享有不同的优先级,这样,当一个进程在执行完它的时间片之后,或从睡眠中被唤醒以及被创建之后,将进入不同的就绪队列。
(3)多级反馈轮转法与优先级法在原理上的区别是:
一个进程在它执行结束之前,可能需要反复多次通过反馈循环执行,而不是优先级中的一次执行。
4.优先数法(priority)
1.所谓优先数法是指系统或用户按某种原则为进程指定一个优先级来表示该作业或进程所享有的调度优先权。
该算法的核心是确定进程的优先级。
1.优先级的确定方法
优先级的确定方法有两种,分别为动态法和静态法,
(1)静态法根据进程的静态特征,在进程开始之前就确定它们的优先级,
一旦开始之后就不能改变。
(2)动态法把进程的静态特征和动态特征结合起来确定作业或进程的优先
级,随着进程的执行过程,其优先级不断变化。
2.*静态优先级的确定原则
(1)作业调度中的优先级确定的原则
(a)由用户自己根据作业的紧急程度输入一个适当的优先级;
(b)由系统或操作员根据作业类型指定优先级;
(c)系统根据作业要求资源情况确定优先级。
(2)进程调度中的优先级确定的原则
(a)按进程的类型给予不同的优先级。
一般地进程被分为系统进程和用户进程,对于用户进程和系统进程均可以再按照功能分为不同的类型并赋予不同的优先级。
(b)将作业的优先级作为它所属进程的优先级。
3.*静态优先级的优缺点
班基于静态优先级的调度算法的优点是实现简单,系统开销小;缺点是系统的效率底下,调度性能不高。
4.*动态优先级的确定原则
(1)根据进程占有CPU的时间的长短来决定。
(2)根据就绪进程等待CPU的时间长短来决定。
5.*动态优先级的优缺点
优点是调度性能高,系统资源的利用率高,缺点是系统开销大。
4、同步与互斥的特点比较
见下表
同步
互斥
进程—进程
时间次序上受到某种限制
相互清楚对方的存在及其作用,交换信息
往往指有几个进程共同完成一个任务
举例:
生产与消费之间,发送与接受之间,作者与读者之间,供者与用者之间
进程—资源—进程
竞争到某一物理资源时不允许进程工作
不一定清楚其它进程情况
往往指多个任务多个进程间通讯制约
举例:
交通十字路口,单轨火车的拨道岔
13、临界资源和临界区
我们包一次只允许一个进程使用的资源称为临界资源,而把在每个进程中访问临界资源的程序段称为临界区。
要进入临界区的若干个进程必须满足如下关系:
(1)一次只允许一个进程进入临界区。
(2)任何时候,处于临界区的进程不得多于一个。
(3)进入临界区的进程要在有限的时间内退出。
(4)如果不能进入自己的临界区,则应让出处理机资源。
14、什么是信号量
信号量,也叫信号灯,一般是由两个成员组成的数据结构,其中一个成员S是整型变量,表示该信号量的值,另一个成员Q是指向PCB的队列。
<信号量>=(S,Q)
信号量的值与相应资源的使用状态有关。
当它的值>0时,它表示可用资源的数量;当它的值<0时,其绝对值表示等待使用该资源的进程个数,即在该信号量队列上排队的PCB的个数。
15、P、V操作执行的动作
设信号量为S,对S的P操作记为P(S),对它的V操作记为V(S)。
P、V操作的含义是:
(1)P操作原语P(S)
P(S)操作顺序执行下述动作:
1)S=S-1
2)S>=0说明当前进程q有资源可执行;
3)S<=0说明无资源,则当前进程刮起或封锁,将该进程插入排队到该信号量等待队列的队尾,并放弃处理机,进行等待(直到其它进程在S上执行V操作,把资源释放出来为止)。
(2)V操作原语V(S)
V(S)操作顺序执行下述动作:
1)S=S+1;
2)如果S>0,则该进程继续运行;
3)如果S<=0,则释放信号队列上的第一个PCB(即信号量指针所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。
16、进程通信及分类
进程通信是指进程间的信息交换。
进程通信方式大致分为三类:
共享存储器、消息传递和管道。
17、*什么是消息缓冲
发送进程直接将消息挂在接收进程的消息缓冲队列上,接收进程从消息缓冲队列中得到消息。
基本的有发送(send)消息和读取(read)消息两条原语。
(a)send用于进程发送信息。
例如,甲进程向乙进程发送消息的过程如下:
1)甲进程在发送消息前,在本进程所占空间中开辟一发送区;
2)使用send原语send(A);
3)send程序向系统申请一个消息缓冲区,将发送区中消息正文、长度和发送进程名填入;
4)将缓冲区挂到接收消息的乙进程消息链链尾;
5)退出send,甲进程继续执行。
(b)read用于进程接收消息。
例如,乙进程读甲进程发送的消息的过程如下:
1)乙进程在接收消息前,在本进程所占空间中开辟一接收区;
2)使用read原语read(B);
3)read程序将乙进程消息链区中第一个消息缓冲区中的内容、长度、本消息发送者名字,填入接收区;
4)将缓冲区从消息链中摘除,释放缓冲区;
5)退出read程序,乙进程继续执行。
详见教材图6-3所示。
18、什么是死锁
死锁是两个或两个以上的进程中的每一个都在等待其中另一个进程释放资源而被封锁,它们都无法向前推进,这种现象称为死锁。
19、产生死锁的必要条件
(1)互斥使用:
在一段时间内,一个资源只能由一个进程独占使用,若别的进程也要求该资源,则须等待直至其占用者释放;
(2)保持和等待:
允许进程在不释放其已分得的资源的情况下请求并等待分配新的资源;
(3)非剥夺性:
进程所获得的资源在未使用完之前,不能被其它进程强行夺走,而只能由其自行释放;
(4)循环等待:
存在一个等待进程集合,P0正在等待一个P1占用的资源,P1正在等待一个P2占用的资源,……..Pn正在等待一个P0占用的资源。
20、解决死锁问题的基本方法
解决死锁的方法一般可分为预防、避免、检测与恢复等三种。
1、死锁预防
死锁预防的方法主要是打破造成死锁的四个必要条件中的一个,如允许进程同时访问某些资源,然而,这种方法不能解决访问那些不允许被同时访问的资源带来的死锁问题,比如打印机等。
另一种方法则是打破资源的部分分配这个死锁产生的必要条件。
即预先分配各并发进程所需要的全部资源。
另一种死锁的预防方法是打破死锁的环路条件。
即把资源分类按顺序排列,使进程在申请、保持资源时不形成环路。
如有M中资源,则列出
R1若进程Pi保持了资源Ri,则它只能申请比Ri级别更高的资源Rj(Ri释放资源时必须是Rj先于Ri被释放,从而避免环路的产生。
2、死锁避免
(1)静态预先分配所有资源,又称为银行算法。
即事先静态说明而后静态分配,破坏部分分配条件,但这种方法的资源利用率低。
(2)受控资源分配法:
1969年由Haberman提出,分配资源前先检查会不会发生死锁,要求各进程说明所需资源,将资源分类,按不同策略分配,又称为静态说明动态分配。
3、死锁检测与恢复
死锁的检测算法当进程进行资源请求时检查并发进程组是否构成资源的请求和保持环路。
有限状态转移图和petriNet等技术都可用来有效地判断死锁的发生。
死锁的恢复办法很多。
最简单的办法是终止各锁住进程,或按一定的顺序中止进程序列,直至已释放到有足够的资源来完成剩下的进程为止,另外,也可以从萡锁住进程强迫剥夺资源以解除死锁。
二、习题(教材提供)
1、什么是进程?
2、进程的互斥和同步有什么异同点?
3、一个进程入睡时其断点落在何处?
它被唤醒后从何处继续原来的执行?
4、什么是临界区?
5、试说明进程互斥、同步和通信三者之间的关系。
6、有一个阅览室,共有100个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息,试问:
(?
)
(1)为描述读者的动作,应编写几个程序,设置几个进程?
(2)试用PV操作描述读者进程之间的同步关系。
8.、进程之间有哪些基本的通信方式?
它们分别有什么特点?
适用于哪些场合?
答案:
1、答:
进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
2、答:
如下表
同步
互斥
进程—进程
时间次序上受到某种限制
相互清楚对方的存在及其作用,交换信息
往往指有几个进程共同完成一个任务
举例:
生产与消费之间,发送与接受之间,作者与读者之间,供者与用者之间
进程—资源—进程
竞争到某一物理资源时不允许进程工作
不一定清楚其它进程情况
往往指多个任务多个进程间通讯制约
举例:
交通十字路口,单轨火车的拨道岔
3、答:
一个进程入睡是指该进程由于缺乏资源不能占用CPU,进入等待状态。
一个进程由程序、数据集合和进程控制块(PCB)组成。
PCB是进程存在的唯一标志。
PCB中包括如下内容:
进程标志号、进程状态(执行/就绪/等待)、进程标志、进程优先数、程序地址、现场保护区(通常被保护的信息有程序计数器、程序状态字、各个工作寄存器等)、通信机构、其他信息等。
处于睡眠状态的进程,它的断点在它的PCB中的现场保护区中保护起来。
保存程序运行的CPU现场,以便在将来的某一时刻恢复并继续原来的运行。
它被唤醒后,把它从等待进程队列中摘下,将进程状态改为就绪,然后将它插入到就绪队列中;等它占用CPU进入执行状态时,从断点处继续执行。
4、答:
每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的共享资源)。
每次只准许一个进程进入临界区,进入后不允许其他进程进入。
5、答:
进程的同步与互斥是指进程在推进时的相互制约关系。
在多道程序系统中,由于资源共享与进程合作,这种进程间的制约称为可能。
为了保证进程的正确运行以及相互合作的进程之间交换信息,需要进程之间的通信。
进程之间的制约关系体现为:
进程的同步和互斥。
进程同步:
它主要源于进程合作,是进程间共同完成一项任务时直接发生相互作用的关系。
为进程之间的直接制约关系。
在多道环境下,这种进程间在执行次序上的协调是必不可少的。
进程互斥:
它主要源于资源共享,是进程之间的间接制约关系。
在多道系统中,每次只允许一个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源。
进程通信是指进程间的信息交换。
PV操作作为进程的同步与互斥工具因信息交换量少,效率太低,称为低级通信。
而高级通信则以较高的效率传送大批数据。
7、答:
读者的动作有两个,一是填表进入阅览室,这时要考虑阅览室里是否有座位;一是读者阅读完毕,离开阅览室,这时的操作要考虑阅览室里是否有读者。
读者在阅览室读书时,由于没有引起资源的变动,不算动作变化。
算法的信号量有三个:
seats——表示阅览室是否有座位(初值为100,代表阅览室的空座位数);readers——表示阅览室里的读者数,初值为0;用于互斥的mutex,初值为1。
读者进入阅览室的动作描述getin:
while(TRUE){
P(seats);/*没有座位则离开*/
P(mutex)/*进入临界区*/
填写登记表;
进入阅览室读书;
V(mutex)/*离开临界区*/
V(readers)
}