《操作系统原理课后答案(16页).doc》由会员分享,可在线阅读,更多相关《操作系统原理课后答案(16页).doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-第一章 操作系统概论1.单项选择题 B; B; C; B; C; B; B; D; A; B;2.填空题操作系统是计算机系统中的一个最基本的系统软件,它管理和控制计算机系统中的各种系统资源;如果一个操作系统兼有批处理、分时和实时操作系统三者或其中两者的功能,这样的操作系统称为多功能(元)操作系统;没有配置任何软件的计算机称为裸机;在主机控制下进行的输入/输出操作称为联机操作;如果操作系统具有很强交互性,可同时供多个用户使用,系统响应比较及时,则属于分时操作系统类型;如果OS可靠,响应及时但仅有简单的交互能力,则属于实时操作系统类型;如果OS在用户递交作业后,不提供交互能力,它所追求的是计算机
2、资源的高利用率,大吞吐量和作业流程的自动化,则属于批处理操作系统类型;操作系统的基本特征是:并发、共享、虚拟和不确定性;实时操作系统按应用的不同分为过程控制和信息处理两种;在单处理机系统中,多道程序运行的特点是多道、宏观上并行和微观上串行。第二章 进程与线程1.单项选择题 B; B; A C B D; C; C; D; C; A; C; B; D; A; D; C; A;2.填空题进程的基本状态有执行、就绪和等待(睡眠、阻塞);进程的基本特征是动态性、并发性、独立性、异步性及结构性;进程由控制块(PCB)、程序、数据三部分组成,其中PCB是进程存在的唯一标志。而程序部分也可以为其他进程共享;进
3、程是一个程序对某个数据集的一次执行;程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性;设系统中有n(n2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况:没有运行进程,有2个就绪进程,n个进程处于等待状态;有一个运行进程,没有就绪进程,n-1个进程处于等待状态;有1个运行进程,有1个等待进程,n-2个进程处于等待状态;有1个运行进程,n-1个就绪进程,没有进程处于等待状态;上述情况中不可能发生的情况是;在操作系统中引入线程的主要目的是进一步开发和利用程序内部的并行性;在一个单处理系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程
4、最多有4个,最少0个;下面关于进程的叙述中,不正确的有条;进程申请CPU得不到满足是,其状态变为等待状态;在单CPU系统中,任一时刻都有一个进程处于运行状态;优先级是进程调度的重要依据,一旦确定不能改变;进程获得处理机而运行是通过调度实现的;程序顺序执行时的三个特征是顺序性、封闭性和可再现性;如果系统有n个进程,则在等待队列中进程的个数最多可为n个;在操作系统中,不可中断执行的操作称为原语。3.解答题(3)S1S2S3S3S4(7) AAB3*+*A5B+_(8) 运行数据资源就绪队列等待I/O传输123451,进程切换; 2,等待数据; 3,等待I/O; 4,数据到达;5,I/O完成;第三章
5、 进程同步于通信1.单项选择题 D; B; C; A; B; C; B; D; A; A;2.填空题信号量的物理意义是:当信号量的值大于0时表示资源个数;当信号量的值小于0时,其绝对值为在此信号量上等待的进程的个数;如果信号量的当前值为-4,则表示系统中在该信号量上有4个等待进程;对于信号量可以做P操作和V操作,P操作用于阻塞进程,V操作用于释放进程。程序中的P和V操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁;有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1-(m-1);临界资源是指一次只允许一个进程使用的资源;进程的高级通信方式有
6、共享存储器通信、消息传递通信和管道通信;管程由一组共享数据、一组操作和初始化代码三部分组成;访问临界资源应遵循的条件有:空闲让进、忙则等待、有限等待和让权等待;每个信箱可以包含信箱头和信箱体两部分;为了实现消息缓冲通信,在PCB中增加数据项有:mq、mutex、sm;3.解答题(6)s1=s2=s3=s4=s5=s6=0Cobegin P1: prog1; v(s1); v(s2); P2: p(s1); prog2; v(s3); P3: p(s2); prog3; v(s4); P4: p(s3); prog4; v(s5); P5: p(s4); prog5; v(s6); P6: p(
7、s5); p(s6); prog6; Coend(7) mutex=1 Busi .p(mutex); 过桥;v(mutex);.(8)假定R、M、P三者的工作方式是:R输入n个字符M处理n个字符P打印n个字符,则可描述如下: S1=1; s2=s3=0; Cobegin R; M; P; CoendR: P(s1); 输入n个字符;V(s2); M: p(s2); 处理n个字符;v(s3); P: p(s3); 打印n个字符;v9s1; (9)两个P操作调换,在一定的条件下会产生死锁;两个V操作调换不会有什么影响。(10)s0=s1=s2=0Cobegin 领班: 接受点菜; V(s0);
8、厨师: P(s0); 炒菜; V(s1); 打包工: P(s1); 打包; V(s2); 出纳: P(s2); 结账; Coend(11) s1=s2=0; 司机: 售票员:While (true) while (true) P(s2); 开门,上下乘客;启动; 关门;正常运行; V(s2);到站停车; 售票;V(s1); P(s1); 第四章 调度与死锁1.单项选择题 C; B; A; D; D; C; B; B; C; A; B; C; D; C;2.填空题进程的调度方式有两种,一种是抢占式,另一种是非抢占式;在有m个进程的系统中出现死锁时,死锁进程的个数k应该满足的条件是k=m;在FCF
9、S调度算法中,按照进程进入就绪队列的先后次序来分配处理机;银行家算法中,当一个进程提出的资源请求将导致系统从安全状态进入不安全状态时,系统就拒绝它的资源请求;采用时间片轮转法时,若时间片过大,就会使轮转法转化为FCFS调度算法;作业调度是处理机的高级调度,进程调度是处理机的低级调度;一个作业可以分成若干顺序加工的步骤,每个加工步骤称为一个状态;作业生存期共经历四个状态,它们是:提交、后备、运行、完成;既考虑作业等待时间,又考虑作业执行时间的调度算法是高响应比者优先算法;对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法是属于避免,破坏环路等待条件是属于预防,而剥夺资源是
10、解除的基本方法;3.解答题 有可能死锁;。; T=1.975; W=4.0675;(8)10 20 30 40 50 60 70 80 90 100 110 120 130J3 J2 J1 J2 J3 J1 J3时间轴:CPU:I1:I2:J2 J1 J3 J3J1 J2 J1约束条件:1, 作业本身的顺序性;2, 同一资源的独立性;3, CPU的可抢占性;结果:1, J1: 110; J2: 90; J3:110;2, 80/110=72.7;3, I1:80/110=72.7 I2:90/110=81.8 安全,有安全序列:A,C,D,B,E;可以;可以; 安全,有安全序列:P3,P1,P2,P4;不安全,无安全序列;(12)反证法,假设死锁已产生,于是:Allocationi=m(1)Maxim+n (2)Needi=Maxi-Allocationim+n-m=nNeedim; 1569/512=3 所以访问第80块;-第 16 页-