1《中山大学授予学士学位工作细则》第六条考试作弊不授予学士学位计算机科学系2011上学期《操作系统原理》期末考试试题(B卷)参考答案任课教师:考试形式:闭卷考试时间:2小时年级:班别:专业:姓名:_____学号:_成绩一.单项选择题(本大题共10小题,每小题1分,共10分)1.操作系统的基本类型主要有BA.批处理系统、分时系统及多任务系统B.实时系统、批处理系统及分时系统C.单用户系统、分布式系统及批处理系统D.实时系统、分时系统和多处理器系统2.下列的进程状态变化中,不可能发生的变化是CA.运行→就绪B.运行→等待C.等待→运行D.等待→就绪3.若P、V操作的信号量S初值为2,当前值为—3,则表示有等待进程:DA.0个B.1个C.2个D.3个4.资源的按序分配策略可以破坏以下哪个条件:DA.互斥使用资源B.占有且等待资源C.非抢夺资源警示2D.循环等待资源5.Windows的调度原理是基于CA.时间片B.优先级C.时间片+可变优先级D.最短作业优先6.从下面对临界区的论述中,正确的论述是EA.临界区是指进程中用于实现进程互斥的那段代码。B.临界区是指进程中用于实现进程同步的那段代码。C.临界区是指进程中用于实现进程通信的那段代码。D.临界区是指进程中用于实现共享资源的那段代码。E.临界区是指进程中访问临界资源的那段代码。7.一种既有利于短小作业又兼顾到长作业的作业调度算法是CA先来先服务B轮转C最高响应比优先D最短作业优先8.如果文件系统中有两个文件重名,不应采用AA一级目录结构B树型目录结构C二级目录结构D以上都不是9.下述叙述不正确...的是:CA.模式切换并不一定发生进程切换B.进程终止,进程中所有线程终止C.W2K的线程是用户级线程,线程切换不需要模式切换D.一般情况下,用户级线程不能利用多处理技术10.微内核设计中基本的功能不包括...:DA.低级存储管理B.进程间通信(IPC)C.I/O和中断管理D.页式替换算法3二.填空题(本大题共10小题,每小题2分,共20分)1.线程与进程的根本区别在于进程是资源分配单位,而线程则是单位。CPU调度单位2.通过______________策略可以解决优先级逆转问题。优先级继承3.比较先来先服务方式、线性优先级方式以及轮转法等三种调度方式,对于服务时间短的顾客其响应时间<<。时间片轮转、线性优先级、先来先服务4.操作系统执行方式中的____________能够说明模式切换并不一定导致进程切换。在用户进程中执行5.在没有转移后备缓冲器的分页管理系统中,取一条指令(或操作数)要访问两次内存的原因是:___________________。页表在内存6.存储管理外碎片是指____________________。分区间不可利用空间7.在RAID____级别方案中,采用了两种不同的数据校验计算,并保存在不同磁盘的不同块中。RAID68.进程存在的惟一标志是____________________。进程控制块9.操作系统中,对信号量S的V原语操作定义中,释放S信号量队列上的一个等待进程,使之进入就绪队列的条件是____________________。S≤010.静态重定位在______________时候进行。程序装入内存三.简答题(本大题共5小题,每小题5分,共25分)1.试述内核级线程和用户级线程的主要区别。答:内核级:管理用内核管理,系统调用线程阻塞,所有线程不会阻塞,可以利用多处理技术用户级:用户程序库管理,系统调用线程阻塞,所有线程阻塞,不能利用多处理技术2.简述进程控制块的主要内容。答:进程标识、处理器状态信息(寄存器取值)、进程控制信息(调度、进程状态、优先级、数据结构、进程间通信、特权、资源使用情况)3.文件打开过程主要工作及步骤。答:1搜索文件目录,以获取该文件控制信息;2检查操作权限;3分配活动文件表的表项和打开文件表的表项,填入相应的文件控制信息;分配必要的缓冲区;4返回打开文件表的表项指针(文件句柄),供进程以后读写文件。4.简述分区存储管理的主要优缺点。答:优点:(1)实现了多个作业或进程对内存的共享,有助于多道程序设计,提高系统的资源利用率。(2)该方法要求的硬件支持少,管理算法简单,实现容易。(2分)缺点:(1)内存利用率不高,存储器中可能含有从未使用的信息和碎小空闲区。(2)作业或进程的大小受分区大小控制。(3)难以实现各分区间的信息共享。45.进程调度中“可抢占”和“非抢占”两种方式,哪一种系统的开销更大?为什么?答:可抢占式会引起系统的开销更大。可抢占式调度是严格保证任何时刻,让具有最高优先数(权)的进程占有处理机运行,因此增加了处理机的调度,引起为退出处理机的进程保留现场,为占有处理机的进程恢复现场等时间(和空间)开销增大。四.综合题(本大题共4小题,共45分)1.(10分)广州市的老式公共汽车由司机和乘务员共同工作,提供客运服务。司机负责开车、停车等车辆行驶控制操作,乘务员负责报站、售票和开关门等相关工作,安全服务规定:车未停定,不准下车,车门未关,不准开车。因此,停车后,司机会鸣喇叭,车门关好后,乘务员会按开关,使司机位置的一个灯泡闪亮一下。在计算机软件模拟老式公共汽车时,各用一进程表示司机和乘务员。请回答下列问题:(i)用伪计算机语言司机和乘务员的程序(ii)试用信号量与P、V操作协调司机和乘务员的活动。答:本题为单纯的进程同步问题(i)用伪计算机语言司机和乘务员的程序司机程序:Driver(){Whilework_hours(){Start_the_bus();/车行准备Station=First_station;Do{Drive_thebus_going_to_next_station();/驶向下一站Drive_thebus_Stopping_to_pickup();/停车上客Station=Nextstation();}While(Station=EndStation)}Go_home();/下班回家}乘务员程序:TickectSaler(){Whilework_hours(){Prepairing_tickects_and_money();/准备票夹和零钱Station=First_station;Do{Open_the_door_of_the_bus_to_pickup_and_dropoff();/开门上客和落客Close_the_door_of_the_bus();/关门Reporting_thestation_name_and_saling_the_tickect();/报站和售票Station=Nextstation();}5While(Station=EndStation)}Go_home();/下班回家}(ii)信号量与P、V操作协调司机和乘务员的活动。Semophonestop=1,close=0;/设置两个信号量Driver(){Whilework_hours(){Start_the_bus();/车行准备Station=First_station;Do{P(close);Drive_thebus_going_to_next_station();/驶向下一站Drive_thebus_Stopping_to_pickup();/停车上客V(stop);Station=Nextstation();}While(Station=EndStation)}Go_home();/下班回家}TickectSaler(){Whilework_hours(){Prepairing_tickects_and_money();/准备票夹和零钱Station=First_station;Do{P(stop);Open_the_door_of_the_bus_to_pickup_and_dropoff();/开门上客和落客Close_the_door_of_the_bus();/关门v(close);Reporting_thestation_name_and_saling_the_tickect();/报站和售票Station=Nextstation();}While(Station=EndStation)}Go_home();/下班回家}Main(){Create_process(Driver);6Create_process(TickectSaler);}2.(10分)现有五个进程A,B,C,D,E共享R1,R2,R3,R4这四类资源,进程对资源总的需求量和目前分配情况如下表,若系统还剩余资源数分别为R1类2个,R2类5个,R3类2个和R4类3个,请按银行家算法回答如下问题:(1)目前系统是否处于安全状态?为什么?(2)现在如果进程D提出申请(1,5,0,1)个资源,系统是否为它分配资源?请说明原因。进程已占资源最大需求数R1R2R3R4R1R2R3R4ABCDE3320001210400003122263201024566035191247答:安全不能分配。3.(10分)某页式管理的OS中,计算机硬件系统的支持32位的逻辑地址,计算机的内存为256M字节。若页的大小为1024字节。(i)计算页号范围、页内偏移量和页框号(块号)范围;(ii)说明如何根据逻辑地址0x033FFF计算页号和页内偏移量。答:4.(15分)某FAT型操作系统的文件控制信息有64字节,盘块大小为512字节,设文件总数为100000个。分别计算下列情况下,检索一个文件的效率,即平均读盘块的数量:(i)如果采用一级目录,所有目录项集中存放在一个文件中。(ii)如果采用3层次的层次目录,文件的目录项集中在最后一层,且各目录中的数量相当,计算时可忽略子目录对应的目录项。答:参考答案(i)每块可存储512/64=8个目录项一级目录的目录文件占用盘块数1000000/8=125000块线性查找平均读盘块数:125000/2=62500块(ii)设每个目录中有x个文件目录项,忽略子目录对应的目录项。则由1000000=x3有x=100每一级目录的目录文件占用盘块数100/8=12.5块每一级目录线性查找平均读盘块数:12.5/2=6.25块目录树最长路径3层,这层的检索读盘块数量平均6.25×3=18.75块,本层目录项总数约1000000。7目录树次最长路径2层,这层的检索读盘块数量平均6.25×2=12.5块,本层目录项总数约10000。目录树根目录路径1层,这层的检索读盘块数量平均6.25块,本层目录项总数约100。综合平均读盘块数近似为18.75块。薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁