计算机操作系统期末复习资料(共24页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机操作系统期末复习资料(共24页).doc》由会员分享,可在线阅读,更多相关《计算机操作系统期末复习资料(共24页).doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第一章什么是OS,它在计算机系统中处在什么位置?加载在硬件上的第一层软件,是硬件功能的首次延伸;是系统资源的管理机构;是人、机之间的接口。OS的发展过程-几类典型操作系统(多道批处理、分时、实时),每类操作系统的原理、特征(优缺点)多道批处理系统:原理: 20世纪60年代中期引入多道程序设计技术,由此形成了多道批处理系统。在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。特征(优缺点):(1)资源利用率高(2)系统吞吐量大(3)平均周转时
2、间长(4)无交互能力分时系统:原理: 分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。特征(优缺点):(1)多路性(2)独立性(3)及时性(4)交互性实时系统:原理: 实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。特征(优缺点):(1)多路性(2)独立性(3)及时性(4)交互性(5)可靠性OS的基本特性(并发、共享、虚拟、异步)-其中“并发”是最重要的特性并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 OS的主要功能-资
3、源管理器和用户接口资源管理功能:处理机管理存储器管理设备管理文件管理操作系统和用户之间的接口:用户接口:联机用户接口,脱机用户接口和图形用户接口程序接口:该接口是为用户程序在执行中访问系统资源而设置的,它是由一组系统调用组成。 试说明推动多道批处理系统形成和发展的主要动力是什么?主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。 第二章 进程的概念,进程与程序(作业)的区别进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体。进程
4、实体:为使程序(含数据)能独立运行,应为之配置一进程控制块,即PCB;而由程序段、相关的数据段和PCB三个部分便构成了进程实体。进程的实质是进程实体的一次执行过程。进程和程序区别:(1)进程是一个动态概念,强调执行的过程,每个进程中包含了程序段和数据段两个部分,以及进程控制块PCB; 而程序是一个静态概念,程序是指令的有序集合,无执行含义;(2)进程具有并行特征(独立性,异步性),程序则没有;(3)一个进程可以执行多个程序(如Linux中通过exec调用),同一程序的多次执行将产生多个不同的进程。同一个程序的一次执行也可产生多个进程(如在程序中多次调用Linux中的fork)。进程和作业的区别
5、在于: 一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是用户需要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容、作业执行和作业完成四个阶段。而进程是已提交完毕的程序所执行过程的描述,是资源分配的基本单位。其主要区别关系如下:(1)作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将它放入外存中的作业等待队列中等待执行;而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中;(2)一个作业可由多个进程组成,且必须至少由一个进程组成,但反过来不成立;(3)
6、作业的概念主要用在批处理系统中,像UNIX这样的分时系统中,则没有作业的概念;而进程的概念则用在几乎所有的多道程序系统中。 什么是PCB,PCB包含的主要信息,PCB的作用为了描述和控制进程的运行,系统为每个进程定义了一个数据结构进程控制块PCB(Process Control Block)。PCB中主要包括下述四方面的信息:进程标识符:内部标识符,外部标识符;处理机状态;进程调度信息;进程控制信息。PCB的作用: PCB是系统只为每个进程定义的一个数据结构,是为了使程序(含数据)能独立运行,为之配置的一进程控制块; PCB、程序段和相关的数据段三部分构成了进程实体,创建进程,实质上是创建进程
7、和实体中的PCB,而撤销进程,实质上是撤销进程的PCB;PCB是为了保证程序的并发执行; PCB使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。进程的3种基本状态,状态间的转换以及引起状态转换的原因进程的三种基本状态:就绪状态,执行状态,阻塞状态还存在两种比较常见的进程状态,即创建状态和终止状态创建就绪:在当前系统的性能和内存容量均允许的情况下,完成对进程创建的必要操作, 相应的系统进程将进程的状态转换成活动就绪状态执行终止:当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结, 或是被其他有终止权的进程所
8、终结,进程即进终止状态(1) 就绪执行处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。(2) 执行就绪处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。(时间片用完)(3) 执行阻塞正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。(I/O请求)(4) 阻塞就绪 处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。(I/O完成)什么是临界资源临界资源是指每次仅允许一个进程访问的资源。 进程间的两种相互制约关系(-同步、互斥-)的概念(是进
9、程间的低级通信)进程同步(直接相互制约关系):它主要源于进程合作,是进程间共同完成一项任务时直接发生相互作用的关系。为进程之间的直接制约关系。在多道环境下,这种进程间在执行次序上的协调是必不可少的。举例:有输入进程A 通过单缓冲向进程B 提供数据。当缓冲空时,计算进程因不能获得所需数据而阻塞,当进程A 把数据输入缓冲区后,便唤醒进程B;反之,当缓冲区已满时,进程A 因没有缓冲区放数据而阻塞,进程B 将缓冲区数据取走后便唤醒A。进程互斥(间接相互制约关系):它主要源于资源共享,是进程之间的间接制约关系。在多道系统中,每次只允许一个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临
10、界资源。举例:有两进程A 和B,如果A 提出打印请求,系统已把唯一的一台打印机分配给了进程B,则进程A只能阻塞;一旦B释放打印机,A才由阻塞改为就绪。 什么是信号量 信号量是Dijkstra提出的用于解决进程同步的有效工具。信号量是一个数据结构以及对其的操作。除初始化外,仅能通过两个标准的原子操作wait(S)和signal(S)来访问。两个语句在执行到一半的时候不能被中断。 什么是P操作、什么是V操作(P、V操作的处理流程,以记录型信号量为例)专心-专注-专业P(S):wait(S)每次wait操作,意味着进程请求一个单位的该类资源,使系统可供分配的该类资源数减少一个。 将信号量S的值减1,
11、即S.value:=S.value-1; 当S.value0时,表示该类资源分配完毕,进程调用block原语,进行自我阻塞,放弃处理机,并插入到信号量链表中。V(S):signal(S)每次signal操作,表示执行进程释放一个单位资源,使系统中可供分配的该类资源数增加一个 将信号量S的值加1,即S.value:=S.value+1; 如果S.value=0,表示在该信号量链表中,仍有等待该资源的进程被阻塞,故还应调用wakeup原语,将链表中的第一个等待进程唤醒。用信号量和P、V操作机制实现互斥和同步的方法,信号量取值的含义利用信号量和PV操作实现进程互斥时应该注意的是:(1)每个程序中用户
12、实现互斥的P,V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。若有多个分支,要认真检查其成对性。(2)P,V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。(3)互斥信号量得初值一般为1其中信号量S用于互斥,初值为1。利用信号量和PV操作实现进程同步PV操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。用PV操作实现进程同步时,调用P操作测试消息是否到达,调用V操作发送消息。使用PV操作实现进程同步时应该注意的是:(1)分析进程间的制约关系,确定信号量种类。在保持
13、进程间有正确的同步关系情况下,哪个进程先执行,那些进程后执行,彼此间通过什么资源(信号量)进行协调,从而明确要设置那些信号量。(2)信号量的初值与相应资源的数量有关,也与P,V操作在程序代码中出现的位置有关。(3)同一信号量的P,V操作要成对出现,但他们分别在不同的进程代码中。什么是进程的(高级)通信,类型进程通信,是指进程之间的信息交换,其所交换的信息量少者是一个状态或数值,多者则是成千上万个字节。高级进程通信,是指用户可直接利用操作系统所提供的一组通信命令高效地传送大量数据的一种通信方式。三大类:(1)共享存储器系统a、 基于共享数据结构的通信方式b、基于共享存储区得通信方式(2)消息传递
14、系统(3)管道通信系统。 消息传递通信的两种实现方法(1)直接通信方式发送进程利用OS所提供的发送命令,直接把消息发送给目标进程。(2)间接通信方式进程之间的通信需要通过作为共享数据结构的实体。 在操作系统为什么引入进程的概念?它会产生什么样的影响? 为了使程序在多道程序环境下并发执行。并对并发执行的程序加以控制和描述,在操作系统为什么引入进程的概念。影响:使程序的并发执行得意实行。 为什么说PCB是进程存在的唯一标志?因为: 在调度到某进程后,要根据其PCB中所保存的处理机状态信息,设置该进程恢复运行的现场,并根据其PCB中的程序和数据的内存地址,找到其程序和数据;进程在执行过程中,当需要和
15、与之合作的进程实现同步、通信或访问文件时,也都需要访问PCB:当进程由于某种原因而暂停执行时,又需将器断点的处理机环境保存在PCB中。可见,在进程的整个生命期中,系统总是通过PCB对进程进行控制的,亦即系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的。所以PCB是进程存在的唯一标志。线程的概念和属性线程:是进程中某个单一顺序的控制流,也被称为轻量进程(lightweight processes)。线程具有以下属性:1)轻型实体。2)独立调度和分派的基本单位。3)可并发执行。4)共享进程资源。 试写出相应的程序来描述图所示的前驱图。进程管理相关内容进程管理相关内容第一个图:Var
16、a, b, c, d, e, f, g, h; semaphore:= 0, 0, 0, 0, 0, 0, 0, 0; begin parbegin begin S1; signal(a); signal(b); end; begin wait(a); S2; signal(c); signal(d); end; begin wait(b); S3; signal(e); end; begin wait(c); S4; signal(f); end; begin wait(d); S5; signal(g); end; begin wait(e); S6; signal(h); end; be
17、gin wait(f); wait(g); wait(h); S7; end; parend end第二个图: Var a, b, c, d, e, f, g, h, i, j;semaphore:= 0, 0, 0, 0, 0, 0, 0,0,0, 0;begin parbeginbegin S1; signal(a); signal(b); end;begin wait(a); S2; signal(c); signal(d); end;begin wait(b); S3; signal(e); signal(f); end;begin wait(c); S4; signal(g); en
18、d;begin wait(d); S5; signal(h); end;begin wait(e); S6; signal(i); end;begin wait(f); S7; signal(j); end;begin wait(g);wait(h); wait(i); wait(j); S8; end;parend end在生产者-消费者问题中,如果将两个wait操作即wait(full)和wait(mutex)互换位置,或者将signal(mutex)与signal(full)互换位置,结果会如何?var mutex,empty,full: semaphore:=1,n,0;buffer:
19、 array0,.,n-1 of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat.produce an item in nextp;.wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;/* * */signal(full);signal(mutex);/* * */until false;endconsumer: beginrepeat/* * */wait(mutex);wait(full);/* * */nextc:=buffer(out);out:
20、=(out+1) mod n;signal(mutex);signal(empty);consume the item in nextc;until false;endparendenda. wait(full)和wait(mutex)互换位置后,因为mutex在这儿是全局变量,执行完wait(mutex),则mutex赋值为0,倘若full也为0,则该生产者进程就会转入进程链表进行等待,而生产者进程会因全局变量mutex为0而进行等待,使full始终为0,这样就形成了死锁.b. 而signal(mutex)与signal(full)互换位置后,从逻辑上来说应该是一样的. 试利用记录性信号量写
21、出一个不会出现死锁的哲学家进餐问题的算法。规定在拿到左侧的筷子后,先检查右面的筷子是否可用。如果不可用,则先放下左侧筷子,等一段时间再重复整个过程。分析:当出现以下情形,在某一个瞬间,所有的哲学家都同时启动这个算法,拿起左侧的筷子,而看到右侧筷子不可用,又都放下左侧筷子,等一会儿,又同时拿起左侧筷子如此这样永远重复下去。对于这种情况,所有的程序都在运行,但却无法取得进展,即出现饥饿,所有的哲学家都吃不上饭。(2) 描述一种没有人饿死(永远拿不到筷子)算法。考虑了四种实现的方式(A、B、C、D):A原理:至多只允许四个哲学家同时进餐,以保证至少有一个哲学家能够进餐,最终总会释放出他所使用过的两支
22、筷子,从而可使更多的哲学家进餐。以下将room 作为信号量,只允许4 个哲学家同时进入餐厅就餐,这样就能保证至少有一个哲学家可以就餐,而申请进入餐厅的哲学家进入room 的等待队列,根据FIFO 的原则,总会进入到餐厅就餐,因此不会出现饿死和死锁的现象。伪码:semaphore chopstick5=1,1,1,1,1;semaphore room=4;void philosopher(int i)while(true)think();wait(room); /请求进入房间进餐wait(chopsticki); /请求左手边的筷子wait(chopstick(i+1)%5); /请求右手边的筷
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 期末 复习资料 24
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内