北方工业大学-计算机操作系统-作业总复习答案

上传人:新** 文档编号:560212967 上传时间:2024-03-13 格式:DOC 页数:21 大小:60.50KB
返回 下载 相关 举报
北方工业大学-计算机操作系统-作业总复习答案_第1页
第1页 / 共21页
北方工业大学-计算机操作系统-作业总复习答案_第2页
第2页 / 共21页
北方工业大学-计算机操作系统-作业总复习答案_第3页
第3页 / 共21页
北方工业大学-计算机操作系统-作业总复习答案_第4页
第4页 / 共21页
北方工业大学-计算机操作系统-作业总复习答案_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《北方工业大学-计算机操作系统-作业总复习答案》由会员分享,可在线阅读,更多相关《北方工业大学-计算机操作系统-作业总复习答案(21页珍藏版)》请在金锄头文库上搜索。

1、1.1什么是操作系统的基本功能? 答:操作系统的职能是管理和控制计算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为顾客提供一种良好的工作环境和和谐的接口。操作系统的基本功能涉及:解决机管理、存储管理、设备管理、信息管理(文献系统管理)和顾客接口等。 2什么是批解决、分时和实时系统?各有什么特性? 答:批解决系统(ach oessing ste):操作员把顾客提交的作业分类,把一批作业编成一种作业执行序列,由专门编制的监督程序(mnitor)自动依次解决。其重要特性是:顾客脱机使用计算机、成批解决、多道程序运营。 分时系统(time haingeraton ytem):把解决机的运营

2、时间提成很短的时间片,按时间片轮转的方式,把解决机分派给各进程使用。其重要特性是:交互性、多顾客同步性、独立性。实时系统(real tie system):在被控对象容许时间范畴内作出响应。其重要特性是:对实时信息分析解决速度要比进入系统快、规定安全可靠、资源运用率低。 1.多道程序(mltiprramming)和多重解决(ultirocessing)有何区别? 答:多道程序(mutpogrmming)是作业之间自动调度执行、共享系统资源,并不是真正地同步执行多种作业;而多重解决(ultipocesing)系统配备多种CP,能真正同步执行多道程序。要有效使用多重解决,必须采用多道程序设计技术,

3、而多道程序设计原则上不一定规定多重解决系统的支持。2.2作业由哪几部分构成?各有什么功能?答:作业由三部分构成:程序、数据和作业阐明书。程序和数据完毕顾客所规定的业务解决工作,系统通过作业阐明书控制文献形式的程序和数据,使之执行和操作。2.4试述SPOOLING系统的工作原理。 答:在SPOLIG系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。操作系统中的输人程序涉及两个独立的过程,一种过程负责从外部设备把信息读入缓冲区,另一种过程是写过程,负责把缓冲区中的信息送人到外存输入井中。 在系统输人模块收到作业输人祈求后,输人管理模块中的读过程

4、负责将信息从输人装置读人缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存输人井中。读过程和写过程反复循环,直到一种作业输入完毕。当读过程读到一种硬件结束标志后,系统再次驱动写过程把最后一批信息写入外存并调用中断解决程序结束该次输入。然后,系统为该作业建立作业控制块JC,从而使输入井中的作业进人作业等待队列,等待作业调度程序选中后进人内存。25操作系统为顾客提供哪些接口?它们的区别是什么?答:操作系统为顾客提供两个接口,一种是系统为顾客提供的多种命令接口,顾客运用这些操作命令来组织和控制作业的执行或管理计算机系统。另一种接口是系统调用,编程人员使用系统调用来祈求操作系统提供服务,例如申请和释

5、放外设等类资源、控制程序的执行速度等。2 什么是系统调用?系统调用与一般顾客程序有什么区别?与库函数和实用程序又有什么区别?答:系统调用是操作系统提供应编程人员的唯一接口。编程人员运用系统调用,在源程序以及动态祈求和释放系统资源,调用系统中已有的系统功能来完毕那些与机器硬件部分有关的工作以及控制程序的执行速度等。因此,系统调用像一种黑箱子那样,对顾客屏蔽了操作系统的具体动作而只提供有关的功能。它与一般顾客程序、库函数和实用程序的区别是:系统调用程序是在核心态执行,调用它们需要一种类似于硬件中断解决的中断解决机制来提供系统服务。3.2试比较进程和程序的区别。答:(1)进程是一种动态概念,而程序是

6、一种静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程。(2)进程具有并行特性,程序则没有。(3)不同的进程可以涉及同一种程序,同一程序在执行中也可以产生多种进程。33 我们说程序的并发执行将导致最后成果失去封闭性。这话对所有的程序都成立吗?试举例阐明。答:并非对所有的程序均成立。例如:bgin local x:=10rit(x)nd上述程序中x是内部变量,不也许被外部程序访问,因此这段程序的运营不会受外部环境影响。3.试比较作业和进程的区别。答:一种进程是一种程序对某个数据集的执行过程,是分派资源的基本单位。作业是用于需要计算机完毕某项任务,而规定计算机所做工作的集合。一种作业

7、的完毕要通过作业提交,作业收容、作业执行和作业完毕个阶段。而进程是已提交完毕的程序所执行过程的描述,足资源分派的基本单位。其重要区别关系如下:(1)作业是顾客向计算机提交任务的任务实体。在顾客向计算机提交作业之后,系统将存储在外存中的作业等待队列中档待执行。而进程则是完毕顾客任务的执行实体,是向系统申请分派资源的基本单位。任一进程,只要它被创立,总有相应的部分存在于内存中。 (2)一种作业可由多种进程构成。且必须至少由一种进程构成,但反过来不成立。(3)作业的概念重要用在批解决系统中。像Unx这样的分时系统中,则没有作业概念。而进程的概念则用在几乎所有的多道程序系统中。3.6什么是临界区?试举

8、一临界区的例子。 答:临界区是指不容许多种并发进程交叉执行的一段程序。它是由于不同并发进程的程序段共享公用数据或公用数据变量而引起的。因此它叉被称为访问公用数据的那段程序。例如:gtsae:beg loal g =tacktop top=op-ndrlase(ad):gn top=top1stktp=adend3什么是进程间的互斥,什么是进程间同步?答:进程间的互斥是指:一组井发进程中的一种或多种程序段,因共享某一公有资源而导致它们必须以一种不许交叉执行的单位执行,即不容许两个以上的共享该资源的并发进程同步进入临界区。 进程间的同步是指:异步环境下的一组并发进程因直接制约互相发送消息而进行互相

9、合伙、互相等待是各进程按一定的速度执行的过程。3.11两进程Pa,b通过两FIFO缓冲区队列连接(如图E1.),每个缓冲区长度等于传送消息长度。进程a,b之间的通信满足如下条件:(a)至少有一种空缓冲区存在时,相应的发送进程才干发送一种消息。(b)当缓冲队列中至少存在一种非空缓冲区时,相应的接受进程才干接受一种消息。试描述发送过程n(i,m)和接受过程reev(,m)。这里i代表缓冲队列。答:定义数组 f0,buf1,bufmy0,ufull1是Pa的私有信息量,uull0,bufempt是Pb的私有信息量。初始时: bufept0=bempty1=n,(n为缓冲区队列的缓冲区个数)buffu

10、ll0=buffull10sn(I,m)beinoca xP(bufepyI)按FIFO方式选择一种空缓冲区fI()buI(x)mufI(x)置满标记V(bufull)Endrceie(I,m)beginocal xP(bffullI)按FO方式选择一种装满数据的缓冲区bufI()mbI(x)bf()置空标记(bempI)En调用send(,m)和cive(1,)P调用sen(,m)和reeive(0,m)3.13编写一种程序使用系统调用ork生成3个子进程,并使用系统调用pipe创立一管道,使得这个子进程和父进程公用同一种管道进行信息通信。答:ain()in r,p1,2,p3,fd2;ch

11、ar bf50,s5;pip(fd);ile(1ork())=-);if(1=0) Lock(d1,1,0); sprnf(buf,”hl procss P1isedng essae!n”); ptf(“cild pcessP1!n”);wite(fd1,buf,50);leep(5);locf(1,0,0);eit();ese hie(p2=frk()=1); if(p2=0) srintf(buf,”hidpos P2is sendg messag!n”); printf(“hild proessP2!n”);write(d1,buf,5);sleep();ockf(f,0,0);xit(

12、0); els hil((pfork()=-1); if(=0) sprinf(buf,”hild roess Pis seig messag!n”); prntf(“hid proP3!”);re(fd1,buf,50);sleep();lockf(fd1,0,0);ext(0); wat(0);i(e=a(f,50)-1)prif(“cnt rd ipen”);else itf(“%sn”,);wait(0);if(r=ra(fd0,s,0)= 1) n(“cant ead ppen”)else rnf(“%n”,s);exit(0); 31设有个哲学家,共享一张放有五把椅子的桌子,每人分

13、得一把椅子。但是,桌子上总共只有五支筷子,在每人两边分开各放一支。哲学家们在肚子饥饿时才试图分两次从两边拾起筷子就餐。条件: ()只有拿到两支筷子时,哲学家才干吃饭。 (2)如果筷子已在她人手上,则该哲学家必须等到她人吃完之后才干拿到筷子。 ()任一哲学家在自己未拿到两支筷子吃饭之前,决不放下自己手中的筷子。试: ()描述一种保证不会浮现两个邻座同步规定吃饭的通信算法。 (2)描述一种既没有两邻座同步吃饭,又没有人饿死(永远拿不到筷子)的算法。在什么状况下,5个哲学家所有吃不上饭?答() 设信号量cc,初始值均为l,分别表达I号筷子被拿(I=0,1,2,,4)。Snd(I):第I个哲学家要吃饭egi (cI); P( (I1) mod 5 ); eat; V(c(I+1) od 5 ); V(c);end该过程能保证两邻座不同步吃饭,但会浮现5个哲学家一人拿一支筷子,谁也吃不上饭的死锁状况。答(2)解决的思路如下

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号