《操作系统试卷(F).doc》由会员分享,可在线阅读,更多相关《操作系统试卷(F).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 一、 填空题(每空1分,共24分)1无论哪种操作系统都执行同样的资源管理功能,它们的构架是一样的,都由_处理机管理_、_、设备管理和文件系统组成。2分时操作系统采用的分时技术是,将_ CPU时间 划分为很短的时间片,系统将时间片轮流地分配给各联机用户使用。3 Windows2000操作系统是一种采用_微内核_结构的操作系统。Linux是_分层_结构的操作系统。4现代计算机系统是分态的,当操作系统程序执行时,机器处于_核心_态。5产生死锁的必要条件是_互斥_条件、_请求和保持_条件、_不剥夺_条件和_环路等待_条件。 6文件的存取方法有_顺序存取法_、_随机存取法_和_按键存取法_。7某文件的
2、存取控制表中内容为644,则文件主对该文件具有_RW_权限,文件主所在组用户具有_R_权限,其他用户具有_R_权限。8缓冲区的设置可分为单缓冲、_双缓冲_、_多缓冲_和_缓冲池_四种方式。9将驻留在主存中时间最长的页面淘汰的请求调页算法是_LRU_。10并发进程中访问共享变量的程序段称为_临界区_。 二、选择题(每题1分,共16分)1用户的观点看,操作系统是( A )。A、用户与计算机之间的接口 B、控制和管理计算机资源的软件C、合理地组织计算机工作流程的软件 D、由若干层次的程序按一定的结构组成的有机体2引入多道程序的目的在于( A )。A. 充分利用CPU,减少CPU等待时间B. 提高实时
3、响应速度C. 有利于代码共享,减少主、辅存信息交换量D. 充分利用存储器3( C )对多用户分时系统最重要。A 实时性B、交互性C、共享性D、运行效率4以时间换空间的技术是( B )。A、分时技术B、虚存技术C、并发技术D、缓冲技术5以空间换时间的技术是( A )。A、spooling技术B、分时技术C、并行技术D、分页技术6并发性是指若干事件在( A )发生。A、同一时刻B、同一时间间隔内C、不同时刻D、不同时间间隔内7批处理系统的主要缺点是( B )。A.CPU的利用率不高 B.失去了交互性C.不具备并行性 D.以上都不是8CPU状态分为核心态和用户态,从用户态转换到核心态的唯一途径是(
4、C )。A. 运行进程修改程序状态字 B. 中断屏蔽C. 系统调用 D. 进程调度程序9可由CPU调用执行的程序所对应的地址空间为( C )。 A.符号名空间 B.虚拟地址空间 C.相对地址空间 D.物理地址空间10进程和程序的本质区别是( D )。A.存储在内存和外存 B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源 D.动态和静态特征11进程间的基本关系为( B )。 A. 相互独立与相互制约 B. 同步与互斥 C. 并行执行与资源共享 D. 信息传递与信息缓冲12动态重定位技术依赖于( B )。A、重定位装入程序 B、重定位寄存器C、地址机构D、目标程序13在虚拟存储系统中,
5、若进程在内存中占3块(开始为空),采用FIFO页面淘汰法,当执行访问页号序列为1234125123456时,将产生( D )次缺页中断。A、7 B、8 C、9 D、1014在操作系统中,作业处于( C )时,已处于进程的管理之下。A. 后备 B. 阻塞 C. 执行 D. 完成15处理器有32位地址,则它的虚拟地址空间为( B )。A.2GB B.4GB C.8GB D.16GB16虚拟存储技术与( A )不能配合使用。A. 分区管理 B. 动态分页管理 C. 段式管理 D. 段页式管理 三、简答题(每题5分,共25分)1、什么是系统调用,它与一般的过程调用有何区别?、系统调用就是在用户程序中调
6、用操作系统内核所提供的功能(2分),它与过程调用的区别是(1)、执行状态不同。前者是核心态,后者是用户态(1分)(2)、执行过程不同。前者需要执行操作系统陷入指令,后者不需要(1分) (3)、执行代码不同。前者执行的是操作系统内核所提供的功能,后者执行的是用户代码。(1分)2、某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:页号物理块号0411125313则逻辑地址0E8D(H)所对应的物理地址是什么?要求:写出主要计算过程。答:将0E8DH变换为二进制为: 0000,1110,1000,1101,由于页
7、面大小为1KB,为2的10次方,所以0E8D的页号为3,对应的物理块号为13,(3分)所以虚拟地址0E8DH的物理地址为368DH(2分)3、当执行下列语言程序时,数组 buf1 和 buf2的内容是什么? #include main() int pid,fd1,fd2; char buf120,buf220; fd1=open(etc/passwd”,0);if (pid=fork() wait(); read(fd1,buf1,20);elsefd2=dup(fd1); read(fd2,buf2,20); close(fd2);exit(); read(fd1,buf1,20); BUF
8、1的内容为文件ETC/PASSWD中地址为40-59中的20个字节内容(2分) BUF2的内容为文件ETC/PASSWD中地址为0-19中的20个字节内容(3分)4、简述SPOOLing系统的工作原理。一种以空间换时间技术;(1分)有两部分组成:spooling输入和spooling输出;(1分)输入井和输出井介绍(2分);内存执行和I/O操作可并行。(1分)5、简述设备分配的完整过程。(1)分配设备:根据与进程n提出的逻辑设备名称对应的物理设备名称查找系统设备表SDT,从中找到该设备的DCT。若该设备忙,便将进程n的PCB插在设备队列上等待;若不忙,且分配不会引起死锁,便分配该设备;否则,将
9、该PCB插入设备等待队列。(3分)(2)分配控制器:从设备控制表DCT中的控制器指针,可检查控制器表COCT判断控制器是否忙碌。若忙,便将进程n的PCB挂在控制器队列上;否则,分配控制器。(1分)(3)分配通道:通过控制器表COCT中的通道表指针,可检查通道控制表CHCT判断通道是否忙碌。若忙,便将进程n的PCB插在通道队列上;否则,分配通道。(1分)一旦设备、控制器和通道都分配成功,便可启动I/O设备进行数据传送。 四、综合题(4题,共35分)1、一个具有两道作业的批处理系统,作业调度采用短作业优先,进程调度采用基于优先数的抢占式调度算法。在下表所示的作业序列,优先数为进程优先数,优先数越小
10、优先级越高。(8分)作业名到达时间估计运行时间优先数A10:0040分6B10:1020分2C10:2020分5D10:4030分4(1)列出所有作业进入内存时间及结束时间(2)计算平均周转时间答: (1)作业的进入内存时间与结束时间见下表所示:(4分)作业名进入内存时间结束时间A10:0011:50B10:1010:30C10:3010:50D10:5011:20(2)、各作业的周转时间为:(4分)作业A:110分钟作业B:20分钟作业C:30分钟作业D:40分钟 作业的平均周转时间为:(110+20+30+40)/4=50(分钟)2假设一个活动头磁盘有300道, 编号从0-299。 当前磁
11、头正在158道上服务, 并且刚刚完成了104道的请求。现有如下访盘请求序列(磁道号): 75, 247, 185, 177, 124, 236, 46, 105, 33 试给出采用下列算法后磁头移动的顺序和移动总量(总磁道数)。 (1)先来先服务(FCFS)磁盘调度算法 (2)最短寻道时间优先(SSTF)磁盘调度算法 (3)扫描法(SCAN)磁盘调度算法(9分)答:(1)75, 247, 185, 177, 154, 125, 46, 105, 33(3分) (2)当前磁头在158道上: 154,177,185,125,105,75,46,33,247(3分) (3)当前磁头在158道上,并且
12、刚刚完成125道的请求 177,185,247,154,125,105,77,46,33(3分) 计算移动总量略3、设系统中有三类资源A、B和C,又设系统中有5个进程P1,P2,P3,P4和P5。在T0时刻系统状态如下:最大需求量已分配资源量剩余资源量A B CA B CA B CP1 0 4 40 1 26 2 2P2 7 5 02 5 0P3 6 10 103 5 6P4 9 8 46 5 2P5 6 6 100 1 4(1) 系统是否处于安全状态?如是,则给出进程安全序列。(2) 如果进程P4申请2个资源类A、2个资源类B和2个资源类C,能否实施分配,为什么?(8分)答:(1)系统是安全
13、的,因为存在一个安全序列。最大需求量已分配资源量还需资源数剩余资源量A B CA B CA B CA B CP1 0 4 40 1 20 3 26 2 2P2 7 5 02 5 05 0 0P3 6 10 103 5 63 5 4P4 9 8 46 5 23 3 2P5 6 6 100 1 45 5 6安全序列为:P2、P1、P3、P4、P5(5分)(2)不能分配,因为此时系统剩余资源为(4,0,0),已无法满足剩余中的任何一个请求,系统将处于死锁状态。4、在某诊所中,有一个医生和20个为等待病人所设的椅子。如果没有病人来,医生就会坐在椅子上睡觉,当一个病人来到时,他必须唤醒睡着了的医生。如果
14、在医生看病时,又有别的病人到达,他们要么坐下(如果有空的椅子),要么离开(如果所有的椅子都被坐满)。试设计一个协调医生和病人的P、V操作序列。(10分)答:解决方法是使用三个信号量:patients,用于记录候诊的病人数量;ill用于表示医生是否在看病;mutex,用于进程之间的互斥。另外还需使用一个变量waiting,是paitents的一份拷贝。同步例程如下:#define CHAIRS 10type defintsemaphore;patients =0;ill=0;mutex=1;waiting=0; /*候诊人数*/(4分)void doctor()while(TRUE)p(patients); /*是否有候诊病人*/p(mutex);waiting=waiting-1;/* 候诊人数减一*/v(mutex);v(ill);cure(); /*看病*/(3分)Void patient(void)p(mutex);if(waitingCHAIRS)waiting=waiting+1;v(patients);v(mutex);p(ill);get_treated();/*接受治疗*/(3分)elsev(mutex);