操作系统原理期末考试试题A卷(2008) - 参考答案及评分标准 联系客服

发布时间 : 星期一 文章操作系统原理期末考试试题A卷(2008) - 参考答案及评分标准更新完毕开始阅读f163e872cd1755270722192e453610661fd95a42

南开大学信息技术科学学院本科生2008-2009年度第一学期操作系统原理课程期末试卷(A卷)

专业▁▁▁▁▁年级▁▁▁▁▁姓名▁▁▁▁▁▁学号▁▁▁▁▁▁成绩▁▁▁▁▁

得 分 一、简答题(本题共30分,每题6分,必做)

草稿区

1.

2.

3.

请简述分时操作系统的基本特征(提示:简要描述每一个特征的含义)。

虚拟,为每个进程分配虚拟的处理器和存储器,使得这些硬件设备好像被进程独占一样。(1.5分) 并发,允许多个进程在一定时间内同时运行,但某一时刻只能有一个进程运行。(1.5分) 共享,系统资源由各个进程共同使用。(1.5分) 不确定,无法确定下一个执行的进程是谁。(1.5分)

针对任何一种解决进程通信问题(互斥、同步)的方法和机制,判断其合理有效的标准是什么? 答:1,任何两个进程不能同时进入临界区。(1.5分) 2,不能对处理器的数量以及速度进行假设。(1.5分) 3,不能因为处于临界区外的进程而阻塞其它进程。(1.5分)

4,不能让某个进程永远等待进入临界区。(1.5分)

分页式虚拟存储管理和分段式虚拟存储管理的主要区别是什么?

答:1,分页是一维,分段是二维。(2分)

2,分页不利于代码段共享(2分)

3,页式管理复杂,且占用较多额外资源(2分)

4.

请简述操作系统中驱动并控制I/O操作的三种不同方式(提示:对每一种方式进行简要说明)。 答:程序控制I/O:也称轮询方式,CPU做所有的工作,不断的去查询设备的状态。(2分)

中断:用户程序提出I/O请求后,在等待设备就绪的期间内,操作系统将其休眠,

I/O设备以中断的形式通知其状态的改变,然后操作系统唤醒休眠的用户进程。(2分) DMA:DMA控制器控制内存与I/O设备之间的数据传递,不经过处理器(2分)

5.

在操作系统环境下,“文件”的定义是什么?请列出文件在磁盘中存储时空间分配的三种模式。 答:“文件”是一个抽象的机制,它提供在磁盘上保存和读取信息的方式。(3分)

空间分配模式有连续分配,链表式分配以及i节点方式。(3分)

2

草稿区

得 分

二、编程计算题(本题共四小题,共计45分,必做)

草稿区

? 请在下面的表格中指定答题顺序,在对应的分值下列明题号。每格只许列出一个题号,否则做无效处理。 ? 必须写明所有题目的题号,如果填写不完全,视为不指定答题顺序。 ? 如填写内容无效或者不填写表格,则按照默认的题面分值评分 第一题(15分) 第二题(12分) 第三题(10分) 第四题(8分) 6. CPU利用率分析计算:CPU利用率是指单位时间内,CPU运行进程指令时间所占的比例。CPU利用率是评估

进程/线程调度机制的重要性能参数之一。在某操作系统环境下,通过监测发现,在被I/O阻塞之前,平均每个 进程的运行时间为T,一次进程切换的时间开销为S,该操作系统采用时间片长度为Q的轮转调度策略,请给出 以下各种情况下,CPU利用率的计算公式:

1)Q = ∞; 2) Q > T; 3) S < Q < T; 4) Q = S; 5) Q趋近于0; (本题默认分值:8分) 1,

T, 因为时间片无限长,所以只有在发生I/O阻塞时才会出现进程调度, 当进程运行了T时间后,调度会用去S时间。(2分) T?S 2,

Q,时间片有限,则还需要考虑时间片轮转调度的时间。在进程运行完时间片后,会发生一次调度,

Q??Q/T*S???而每运行T时间,又会发生一次调度, 因为I/O而发生的调度占主导地位。(2分)

3,

T ,与上面的情况类似,时间片轮转调度占主导地位。(2分)

T??T/Q*S???4,50%,时间片与调度时间相同,因而进程执行的时间与调度的时间是一样的。(2分) 5,0,时间片趋近于0,几乎所有的时间都在调度。(2分)

第3页,共14页

草稿区

7. 进程同步互斥问题解决:有N名毕业生赴甲、乙两家公司求职,有的毕业生仅向其中一家公司求职,有的毕业生同时

向两家公司求职。甲、乙两家公司在一座写字楼内办公,共用一间接待室进行面试,两家公司各派出一位人事主管负 责面试应聘者,每位人事主管每次仅面试1人。甲公司拟录用L位员工,乙公司拟录用M位员工,一旦录取完毕就不 再面试后面的应聘者。所有的应聘者排成一队在接待室门外等候,甲、乙两家公司的人事主管经协商后按严格轮转的 方式使用接待室,每位人事主管面试K位应聘者后,将接待室转交给另一位人事主管使用。

请分析以上需求,并利用信号量机制和P、V操作设计一个你认为合理有效的实施策略,实现要求如下: 1) 请列出你在解决本问题时所做出的假设条件。(2分)

2) 编写调度管理进程和两位人事主管进程的控制流程(使用伪代码)。(6分) 3) 请简要分析你所实现的策略的公平性。 (2分) 答: 答案可能还有问题 1)假设采用以下“面试策略”:

1. 对人力资源经理而言,其工作流程如下:

? 如果尚未录取足够的人数,则继续在面试等待队列中选择下一个合适的毕业生,并将轮转片数减一。 ? 如果没有应聘本公司的毕业生,则人力资源经理进入“睡眠”状态。 ? 如果已经录取了足够的毕业生,则人力资源经理结束工作。 ? 如果轮转片数为0,则人力资源经理进入“睡眠”状态。 2. 对等待面试的毕业生而言,其工作流程如下:

? 假定面试等待队列有100个坐位,如果队列已满,则无法进入等待队列。(类似于“理发师睡眠”问题中的顾客)。 ? 如果面试人员应聘的公司已经录取足够的人数,则直接结束。

? 如果还有等待坐位,而且应聘的公司尚未录满,则可以进入等待队列,并将状态标识为“等待面试”。 3. 对于调度管理进程而言,必须提供以下功能:

? 提供最靠前的一位面试甲公司和一位面试乙公司的毕业生 ? 将面试不合格,但申请了两家公司的学生放入等待队列的末尾 2) 信号量及其他数据结构: 1. 面试队列数据结构设计: EMPLOYEE employeeList[A];

(本题默认分值:15分)

//面试等待队列

4