软件工程师培训--操作系统知识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件工程师培训计算机工程学院软件工程教研室张伟娜1第三章操作系统知识操作系统知识3.1操作系统基础知识(约2分)3.2处理机管理(2~4分)3.3存储管理(约2分)3.4设备管理(1~2分)3.5文件管理(约2分)3.6作业管理(约2分)3.7网络操作系统和嵌入式操作系统实例3.8UNIX操作系统实例(约1分)本章节约占总分数的10%左右(7-9道题目)。2高频考点操作系统的基本概念;状态转换图;PV操作;安全序列和死锁;进程的同步与互斥;磁盘调度算法;地址变换的相关计算;43.1操作系统基础知识—知识点1操作系统的定义操作系统是计算机系统中的一个系统软件,它管理和控制着计算机系统的硬件和软件资源,合理地组织计算机的工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。操作系统的作用1.通过资源管理,提高计算机系统的效率。2.改善人机界面,向用户提供友好的工作环境5练习操作系统是裸机上的第一层软件,其他系统软件(如(1)等)和应用软件都是建立在操作系统基础上的。下图①②③分别表示(2)(1)A.编译程序、财务软件和数据库管理系统软件B.汇编程序、编译程序和Java解释器C.编译程序、数据库管理系统软件和汽车防盗程序D.语言处理程序、办公管理软件和气象预报软件(2)A.应用软件开发者、最终用户和系统软件开发者B.应用软件开发者、系统软件开发者和最终用户C.最终用户、系统软件开发者和应用软件开发者D.最终用户、应用软件开发者和系统软件开发者6操作系统的特征并发性共享性虚拟性不确定性操作系统的功能处理机管理作业管理存储管理设备管理文件管理73.1操作系统基础知识—知识点2练习一个作业第一次执行时用了5min,而第二次执行时用了6min,这说明了操作系统的()特点A.并发性B.共享性C.虚拟性D.不确定性83.1操作系统基础知识—知识点3操作系统的类型批处理操作系统:作业成批调入内存分时操作系统:时间片实时操作系统:响应速度网络操作系统:支持网络功能的分布式操作系统:基于分布式硬件的操作系统微机操作系统:windows、IOS等嵌入式操作系统:应用于电器或智能终端设备9练习1.为了使系统中所有用户得到及时的响应,操作系统应该是()A.实时系统B.批处理系统C.分时系统D.网络系统2.如果分时系统的时间片一定,那么()会使响应时间越长。A.用户数越少B.用户数越多C.内存越少D.内存越多3.下面关于操作系统的叙述中正确的是()A.批处理作业必须具有作业控制信息B.分时系统不一定都具有人机交互功能C.从响应时间的角度看,实时系统与分时系统差不多D.由于采用了分时技术,用户可以独占计算机的资源103.2处理机管理—知识点1基本概念1.进程:是由程序、数据和进程控制块(PCB)组成的。进程的程序部分描述了进程需要完成的功能,进程数据集合部分包括程序执行时所需的数据及工作区。2.前趋图:(PrecedenceGraph)是一个有向无循环图。用于描述进程之间执行的先后顺序。图中的每个结点可用于描述一个进程或程序段,乃至一条语句;若I1→P1,表示P1开始之前,I1一定完成,称I1是P1的直接前趋,而称P1是I1的直接后继.11I1P1O1O2I2P23.2处理机管理—知识点2进程的状态及其转换12运行就绪阻塞时间片用完进程调度请求I/O或等待某事件I/O完成或事件完成运行就绪阻塞时间片用完进程调度请求I/O或等待某事件I/O完成或事件完成退出创建接纳完成三态模型五态模型练习某系统的进程状态转换如下图所示。图中1、2、3和4分别表示引起状态转换时的不同原因。原因4是由于(1);一个进程状态转换会引起另一个进程状态转换的是(2)。(1)A.就绪进程被调度B.运行进程执行了P操作C.阻塞进程等待的事件发生了D.运行进程时间片到了(2)A.1→2B.2→1C.3→2D.2→4133.2处理机管理—知识点3进程间的通信1.同步与互斥同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题。2.(整型)信号量与P、V操作信号量是一个整型变量,根据控制对象的不同赋不同的值,一般分为两类:(1)公用信号量:实现进程间的互斥,初值=1或资源数目;(2)私用信号量:实现进程间的同步,初值=0或某个正整数。14练习以下进程之间存在相互制约关系吗?若存在,是什么制约关系?为什么?a在食堂打饭,吃饭和洗碗b只有一个车道的桥梁,左右双方均想通过。c课堂上的师生互动d工厂的生产部门和销售部门e小旅店只剩下2个单人间,却来了3个顾客信号量的PV操作voidwait(semaphores){s.value=s.value-1;if(s.value0)block(s.queue);/*将进程阻塞,并将其投入等待队列s.queue*/}voidsignal(semaphores){s.value=s.value+1;if(s.value=0)wackup(s.queue);/*唤醒阻塞进程,将其从等待队列s.queue取出,投入就绪队列*/}s.value=0时,表示某资源的可用数s.value0时,|s.value|表示等待使用该资源的进程队列中的进程数。使用信号量解决互斥问题互斥信号量s的初值是临界资源的个数,如果是独占资源,它初始值一般为1。在每个程序中用于实现互斥的P(s)和V(s)必须成对出现,即先做P操作(为临界资源加锁),进入临界区;后做V操作(为临界资源解锁),退出临界区。17while(1){P(mutex);临界区V(mutex);剩余区;};使用信号量解决同步问题同步信号量的初值一般为0,它相当于一个“信号”;同步信号量的P、V操作也要“成对”出现,但是,它们分别出现在不同的进程代码中。V操作出现的“前驱进程”中,P操作出现在“后继进程”中。V操作用于发送“信号”,P操作用于检查是否有“信号”到达。18S1S3S2absemaphorea,b=0,0;{s1;V(a);V(b);}{P(a);s2;}{P(b);s3;}进程S1:进程S2:进程S3:吃水果问题桌上有一空盘,只允许存放一个水果。爸爸专向盘中放橙子,妈妈专向盘中放苹果,女儿专等吃橙子,儿子专等吃苹果。规定当盘空时一次只能放一个水果供吃者自用,请用PV操作实现爸爸、妈妈、女儿、儿子四个并发进程的同步。吃水果问题semaphores1=1//s1表示盘的状态:1为空;0为满。father(){while(1);{P(s1);放入橙子;V(s2);}}daughter(){while(1);{P(s2);从盘中取出橙子;V(s1)}}son(){while(1);{P(s3);从盘中取出苹果;V(s1)}}semaphores2=s3=0//s2和s3分别表示橙子和苹果的个数。mother(){while(1);{P(s1);放入苹果;V(s3);}}练习某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品箱,生产者乙从半成品箱取出继续加工。假设半成品箱可存放n件半成品,采用PV操作实现生产者甲和生产者乙的同步可以设置三个信号量S、S1和S2,其同步模型如下图所示。信号量S是一个互斥信号量,初值为(1);S1、S2的初值分别为(2)。(1)A.0B.1C.nD.任意正整数(2)A.n、0B.0、nC.1、nD.n、121练习进程P1、P2、P3、P4和P5的前趋图如下:若用PV操作控制进程P1~P5并发执行的过程,则需要设置6个信号S1、S2、S3、S4、S5和S6,且信号量S1-S6的初值都等于零。下图中a和b处应分别填写(1);c和d处应分别填写(2),e和f处应分别填写(3)。(1)A.P(S1)P(S2)和P(S3)P(S4)B.P(S1)V(S2)和P(S2)V(S1)C.V(S1)V(S2)和V(S3)V(S4)D.P(S1)P(S2)和V(S1)V(S2)(2)A.P(S1)P(S2)和V(S3)V(S4)B.P(S1)P(S3)和V(S5)V(S6)C.V(S1)V(S2)和P(S3)P(S4)D.P(S1)V(S3)和P(S2)V(S4)22(3)A.P(S3)P(S4)和V(S5)V(S6)B.V(S5)V(S6)和P(S5)P(S6)C.P(S2)P(S5)和P(S4)P(S6)D.P(S4)V(S5)和P(S5)V(S6)练习进程P1、P2、P3和P4的前趋图如下:若用PV操作控制这几个进程并发执行的过程,则需要设置4个信号量s1、s2、S3和s4,且信号量初值都等于零。下图中a和b应分别填写(1),c和d应分别填写(2)。(1)A.P(S1)P(S2)和P(s3)B.P(s1)P(s2)和V(s1)C.V(S1)V(s2)和P(S1)D.V(S1)V(S2)和V(S3)23(2)A.P(S1)P(S2)和P(s4)B.P(s2)P(s3)和P(s4)C.V(S1)V(s2)和V(S4)D.V(S2)V(S3)和V(S4)练习某火车票销售系统有n个售票点,该系统为每个售票点创建一个进程Pi(i=1,2,…,n)。假设Hj(j=1,2…m)单元存放某日某车次的剩余票数,Temp为Pi进程的临时工作单元,x为某用户的订票张数。初始化时系统应将信号量S赋值为(1)。Pi进程的工作流程如下,若用P操作和V操作实现进程间的同步与互斥,则图中a、b和c应分别填入(2)。24练习(续上题)(1)A.0B.1C.2D.3(2)A.P(S)、V(S)和V(S)B.P(S)、P(S)和V(S)C.V(S)、P(S)和P(S)D.V(S)、V(S)和P(S)试题答案:B,A253.2处理机管理—知识点4进程调度高级调度:从外存中选择后备作业调入内存;中级调度:进程执行中的内外存对换;低级调度:进程在内存中的状态转换。调度方式:可剥夺式和不可剥夺式进程调度算法先来先服务时间片轮转优先级调度多级反馈调度26进程号进入时间运行时间FCFS时间片轮转(3)完成时间周转时间带权周转时间完成时间周转时间带权周转时间10444112123211014131.322212.13262018318162.6643222199.51184平均13.53.714.252.94进程调度算法思想1.初始情况下,只有一个就绪队列。2.新创建的进程首先放到第一个就绪队列的队尾,按FCFS原则进行调度。第一个就绪队列的时间片较短;3.其中进程在它的时间片内未完成时,该进程就被投入第二个就绪队列,第二个就绪队列比第一个的优先级较低,但时间片较长;4.当第二个就绪队列中某个进程在它的时间片内未完成时,该进程被投入第三个就绪队列,此队列比第二个队列的优先级较低,但时间片较长。以此类推。5.只有第一个就绪队列所有进程都执行结束后,才执行第二个队列中的进程,以此类推。多级反馈队列算法(MFQ)多级反馈队列调度算法CPU就绪队列1退出新进程就绪队列3……就绪队列n就绪队列2S1CPU退出S2CPU退出S3CPU退出Sn时间片S1S2S3…Sn进程号进入时间运行时间开始时间MFQ完成时间周转时间带权周转时间103215332495平均1091.81561.2441.3852.561.7采用多级反馈多列(MFQ)算法进行调度,其中,第1个队列的时间片为1,第i个队列的时间片为q=2*(i-1)。01410多级反馈队列调度算法练习假设某分时系统采用简单时间片轮转法,当系统中的用户数为n,时间片为q时,系统对每个用户的响应时间T=()。A.nB.qC.n×qD.n+q313.2处理机管理—知识点5死锁1.产生死锁的原因:资源竞争及进程推进顺序非法。2.产生死锁的4个必要条件:互斥条件、请求保持条件、不可剥夺条件、环路条件。3.进程资源有向图(1)请求资源:箭头由进程指向资源;(2)分配资源:箭头由资源指向进程

1 / 104
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功