计算机操作系统作业(14页).doc
《计算机操作系统作业(14页).doc》由会员分享,可在线阅读,更多相关《计算机操作系统作业(14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-计算机操作系统作业-第 13 页计算机操作系统作业第一章 绪论1.1 什么是操作系统?它有哪些基本功能?答:操作系统是管理与控制计算机软、硬资源,合理有效地组织计算机的工作流程以及方便用户使用的程序的集合。基本功能有:1)用户接口 2)处理机管理 3)存储管理 4)设备管理 5)文件管理1.3 可用哪些基本观点看待操作系统?解释这些观点的含义。答:1)虚拟机观点:即OS是添加在硬件上的第一层软件,是对硬件功能的首次扩充与直接延伸,每对计算机作一次扩充,就使其功能更加强大,使用更加方便。2)资源管理观点:操作系统是管理计算机系统资源的程序,主要是指在多道程序之间合理地分配和回收各种资源,是资源
2、得到充分有效的使用,是程序得以有条不紊地运行。3)服务用户观点:操作系统作为软件,它是一个为用户服务的大型的复杂程序。1.5 为什么要区分机器的两种运行状态?答:在实际系统中,之所以要区分机器的两种运行状态,目的是要给操作系统内核以某些特权。例如:改变状态寄存器和地址映射寄存器的内容。存取外部设备接口部件寄存器的内容等。这些特权是通过执行特权指令实现的。仅当在核心态下才能执行特权指令,若在用户态下执行特权指令则为非法。1.9 操作系统有哪些基本类型?每种类型的主要特点是什么?答:操作系统的基本类型有多批道处理系统、分时系统和实时系统。特点分别为:多批道处理系统:多道性、无序性、调度性; 分时系
3、统:多路性、独立性、及时性、交互性; 实时系统:多路性、独立性、及时性、交互性、高可靠性。第二章 中断2.1 为什么说操作系统是由中断驱动的?答:操作系统是一个众多程序模块的集合,而这些程序模块分为三类: 第一类是系统启动后主动与用户态程序并发执行,而所有并发程序都是有中断驱动的;第二类是一些通过系统调用指令“被动”地为用户服务的程序,而系统调用指令的执行是经中断机构处理的;第三类是隐藏在操作系统内部即不主动运行,也不直接面对用户态程序的程序,它们由前两类程序调用的;综合上述,可得操作系统是由中断驱动的。什么是系统调用?所谓系统调用,指运行在用户态的应用程序请求操作系统为之服务的一种手段。它由
4、运行在核心态的操作系统的一段程序来完成特定功能,属于一种特殊的过程调用。2.3 什么是系统调用?系统调用与一般程序有什么区别? 答:所谓系统调用,指运行在用户态的应用程序请求操作系统为之服务的一种手段。它由运行在核心态的操作系统的一段程序来完成特定功能,属于一种特殊的过程调用。区别:(1)运行状态不同。一般的过程调用其调用和被调用过程都是用户程序,都运行在同一种系统状态(用户态)下;而系统调用的调用过程一般是用户程序,它运行在用户态,被调用过程是系统过程(操作系统程序),运行在系统态。(2)进入方式不同。一般用户程序调用可以直接通过过程调用语句将控制转移到被调用过程;而执行系统调用时,由于调用
5、和被调用过程处于不同系统状态,必须通过访管中断进入。第三章 进程与线程3.1 什么是进程?进程与程序的主要的区别是什么?答:进程是一个具有一定独立功能的程序在一个数据集合上运行的过程,它是系统进程资源分配和调度的一个独立单位。没有程序就没有进程,没有进程就不能描述其运行过程,所以进程与过程既有联系也有区别:(1)进程是一个动态的概念,而程序是一个静态的概念。程序是指令的有序集合,没有任何运动的含义,而进程是程序在处理机上的一次执行过程,具有生命周期,它动态地被创建,并被调度执行,执行完成后消亡。(2)进程具有并发性,而程序没有。(3)进程是竞争计算机系统资源的基本单位,也是处理机调度的基本单位
6、。(4)若干不同的进程可以包含同一个程序,只要该程序所对应的数据集合不同即可。(5)程序可以创建其它进程,而程序并不能形成新的程序。3.6 什么是进程控制块?它有什么作用?答:在OS中,描述一个进程除了程序和数据之外,最重要的是需要一个与动态过程相联系的数据结构,即进程的外部特性,以及与其他进程之间的联系。因此为每个进程设置的一个描述进程的外部特性以及与其他进程之间的联系的数据结构叫做进程控制块(PCB)。作用:它是操作系统感知进程存在的唯一标志,操作系统正是通过对PCB的操作来管理进程的。3.8 为什么要将处理机的状态划分为核心态和用户态?答:在实际系统中,之所以要区分机器的用户态和核心态两
7、种运行状态,目的是要给操作系统内核以某些特权,这些特权是通过执行特权指令实现的,仅当在核心态才能执行特权指令,若在用户态下执行特权指令则为非法,从而保证操作系统中的关键表格不被用户程序所破坏,增强系统的稳定性和可靠性。3.9 处理机的状态与进程的状态有何区别?答:处理机有时可能执行系统程序,有时又执行用户程序为了保证OS中的关键表格不被用户的程序所破坏,因而引进了用户态和核心态两种状态。从进程管理的角度出发,将进程划分程三种基本的状态:运行状态,就绪状态、等待状态、新建状态和终止状态。进程之间的状态有三个特点:(1) 进程之间的状态转换在大多数情况下是不可逆的。(2) 进程之间的状态转换在大多
8、数情况下是被动的,只有运行到等待的转换是进程的主动行为,其它都是被动行为。(3) 一个进程在某个时刻只能处于上述状态的某一种状态。3.20进程(Process)的定义和特征定义:进程是一个正在执行的程序。进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位。进程和程序相关联,但是是两个截然不同的概念。进程有五个基本特征:(1)动态性。有生命期。(2)并发性。多个进程实体同存于内存,能并发执行。(3)独立性。具备申请系统资源的独立单位。(4)异步性。进程以各自独立、不可预知的速度向前推进。(5)结构特性。为描述进程的运动变化过程,每个进程都由程序段、数据段和一个进程控制
9、块(PCB)三部分组成第四章 进程的同步与通信4.1 什么是临界资源和同类临界资源?答:临界资源就是指一次仅允许一个进程使用的资源,即不能同时被共享的资源。同类临界资源是指在计算机系统中性质一样的临界资源,可分为硬临界资源和软临界资源。某类同类临界资源实质上是某类同类临界区所涉及的临界资源。4.2 什么是临界区和同类临界区?答:临界区是指每个进程中访问临界资源的那段代码。同类临界区是指所有与同一个临界资源(CR)相联系的临界区(CS)。4.3 导致“与时间有关的错误”的原因是什么?答: 导致“与时间有关的错误”的原因是共享了临界资源且又在一进程开始使用尚未结束期间另一进程也开始使用。41、什么
10、是临界资源和同类临界资源? 答:临界资源:一次仅允许一个进程使用的资源。即不能同时被共享的资源。也就是说,如果某进程已开始使用这个资源且尚未使用完毕,则其他的进程不能使用;若另一进程也要使用,则必须等待,直至前者使用完毕并释放之后,后者才能使用。 同类临界资源:所有于同一个临界区相联系的临界资源叫同类临界资源。42、什么是临界区和同类临界区? 答:临界区:每个进程中访问临界资源的那段程序。 同类临界区:所有于同一个临界资源相联系的临界区。43、导致“与时间有关的错误”的原因是什么? 答:导致“与时间有关的错误”的原因有两个:1 共享了变量;2 在一进程开始使用且尚未结束使用期间,另一进程也开始
11、使用,即“同时”使用了这个变量。4.6 设有三个进程P、Q 、R。 其中P、Q构成一对生产者-消费者,共享一个由n 个缓冲区构成的缓冲池 ;Q、R也是一对生产者-消费者,共享一个由m个缓冲区构成的缓冲池;用 P、V操作描述他们之间的相互制约关系。解: viod main()Semaphore fulln=fullm=0;Semaphore emptyn=n;Semaphore emptym=m;Int in_n=in_m=out_n=out_m=0;Int buffer_n n,buffer_m m;CoBegin P(); Q(); R();CoEndviod P ()While (true
12、 ) Produce an item in nextp; P(emptyn);Buffer_n in_n=nextp; in_n=(in_n+1)%n; V(fulln);viod Q()While (true ) P(fulln);nextc=buffer_n out_n; out_n=(out_n+1)%n;V(emptyn);Consume the item in nextc; Produce an item in nextp; P(emptym);buffer_m in_m= nextp;in_m=(in_m+1)%m; V(fullm);viod R()while(ture) P(f
13、ullm);nextc=buffer_m out_m; out_m=(out_m+1)%m; V(emptym);Consume the item in nextc;4.13void main() static semaphore chopstick5=1,1,1,1,1; Cobegin philosopher(0); philosopher(1); philosopher(2); philosopher(3); philosopher(4); Coendvoid philosopher(int i) while(ture) if(i%2=0) p(chopsticki); p(chopst
14、ick(i+1)%5); else p(chopstick(i+1)%5); p(chopsticki); eating; v(chopsticki); v(chopstick(i+1)%5); thinking.20、进程之间的通信有:消息缓冲通信,共享文件通信,以及信箱通信.20、某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题: (1)用PV操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。 (2)根据所定义的信号量,把应执行的PV操作填
15、入下述方框中,以保证进程能够正确地并发执行。CoBeginProcessI(I=1,2,)Begin进入售票厅; 购票;退出;End; CoEnd(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。解:(1)定义一信号量S,初始值为20。意义:S0S的值表示可继续进入售票厅的人数S=0表示售票厅中已有20名顾客(购票者)SB-C-D平均周转时间:T=(60+90+110+110)/4=92.5(分)平均带权周转时间: W=(1+9/4+11/3+11)/4=4.48(2)作业调度采用SJF和进程调度采用SPF算法时,计算这批作业的T和W。 短作业优先调度算法 作业名进入输
16、入井时间 运行时间 (分)开始时间 完成时间 周转时间 (分)带权周转时间 A 8:00 608:00 9:00 60 1 D 8:30 10 9:009:10 40 4 C 8:20 30 9:109:40 80 8/3 B 8:10 40 9:4010:20 130 13/4调度顺序:A- D -C- B平均周转时间:T=(60+130+80+40)/4=77.5平均带权周转时间: W=(1+13/4+8/3+4)/4=2.73(3)作业调度和进程调度均采用优先级高者时,计算这批作业的T和W。 优先级高者优先算法作业名进入输入井时间 运行时间 开始时间 完成时间 周转时间带权周转时间A 8
17、:00 60 8:00 9:00 60 1C 8:20 30 9:00 9:30 70 7/3D 8:30 10 9:30 9:40 70 7B 8:10 40 9:40 10:20 130 13/4 调度顺序:A- C - D - B平均周转时间:T=(60+130+70+70)/4=82.5(分)平均带权周转时间: W=(1+13/4+7/3+7)/4=3.40第六章 死锁1、简述死锁的防止与死锁的避免的区别。1、答:死锁的防止是系统预先确定一些破坏死锁必要条件资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配,从而防止死锁的发生。而死锁的避免是当进程提出资源申请时系统测试资源
18、分配,仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。6、怎样考虑死锁的检测和恢复?死锁检测算法(回溯):每次资源被申请或释放时,检测系统资源图是否存在环路(此时死锁可能还没有发生),如果存在环路,则逐一在环路中选择一进程撤消,直至死锁消除.缺点:效率太低,导致系统总体性能太为下降。死锁恢复策略(事后恢复):依次流产所有的死锁进程,直至死锁解除;依次剥夺资源直到死锁解除;预先定义检测点,备份每一个死锁的进程,然后重启这些进程。缺点:原来的死锁可能再次出现7、产生死锁的四个必要条件?1)互斥(Mutual exclusion) 在一段时间内某资源只能由一个进程占
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 作业 14
限制150内