1、2007年浙江大学计算机专业基础综合(操作系统)真题试卷及答案与解析 一、简答题 1 请简要比较进程 (process)与程序 (programs)。 2 请简要比较进程 (process)与线程 (threads)。 3 请简要比较请求实存管理 (actual memory management)与虚存管理 (virtual memory management)。 4 请简要比较请求页面调度 (demand paging)与请求分段调度 (demand segmenta-tion)。 二、综合题 5 考虑某个系统在如下时刻的状态: 使用银行家算法回答下面的问题: a Need矩阵是怎样的 ?
2、 b系统是否处于安全状态 ?如安全,请给出一个安全序列。 c如果从进程 P1发来一个请求 (0, 4, 2, O),这个请求能否立刻被满足 ?如安全,请给出一个安全序列。 6 理发店有一位理发师、一把理发椅及三把供等候理发的顾客做的椅子。如果没有顾客,理发师就去睡觉。如果顾客来时所有的椅子都有人,那么顾客就离去。如果理发师在忙而有空闲的椅子,那么顾客就回坐在其中的一个空闲的椅子上。如果理发师在睡觉,顾客会唤醒他。请利用信号 量 (semaphores),写个程序来协调理发师和顾客进程。 2007年浙江大学计算机专业基础综合(操作系统)真题试卷答案与解析 一、简答题 1 【正确答案】 进程与程序
3、的主要区别如下: (1)进程是程序在处理机上的一次执行过程,是一个动态的概念;而程序是代码的有序集合,其本身没有任何运行的含义,是静态的概念。 (2)进程是一个状态变化的过程,是有生命周期的 (因创建而产生,因调度而执行,因得不到资源而暂停等,因撤消而消亡 );而程序是永久的可以长久保存。 (3)进程与程序的组成不同。进程是由程序、数 据和进程控制块组成的;程序仅是代码的有序集合。 (4)进程与程序之间不是一一对应的。通过多次运行,同一个程序可以对应多个进程;通过调用关系,一个进程可以包含多个程序。 2 【正确答案】 进程与线程可以从四个方面来考察区别: (1)调度方面:线程作为调度和分派的基
4、本单位。 (2)并发性方面:进程之间可以并发执行,一个进程中的若干线程也可以并发执行。 (3)拥有资源方面:进程作为拥有资源的基本单位,线程除少量必不可少的资源外,基本上不拥有资源,但它可以访问其隶属进程的资源。 (4)系统开销:进程间切换时,要涉及进程环境的切换,开销比较大。而线程间切换只需保存和设置少量的寄存器内容,因此进程切换的系统开销远大于线程间切换的开销。 3 【正确答案】 实存管理与虚存管理主要区别如下: (1)在实存管理中,作业一次性调入内存运行;虚存管理中不需要一次全部调入内存。而是被分成多次调入内存运行。 (2)在实存管理中,作业一次性调入内存,直到运行完毕才被调出;虚存管理
5、中允许在作业的运行过程中进行换进换出。 (3)在实存管理中,只能调入小于实际内存容量的作业;在虚存管理中可运行任何大小的作 业。 (4)虚存管理在实存管理的基础上添加了请求调入功能和置换功能。 4 【正确答案】 请求页面和请求分段的区别如下: (1)页是信息的物理单位,是为了系统管理的需要;段是信息的逻辑单位,是为了用户的需要。 (2)页的大小固定且由系统决定;段的长度不固定,决定于用户编写的程序。 (3)请求页面调度管理的地址空间是一维的;请求分段调度管理的地址空间是二维的。 (4)请求页面调度具有产生缺页中断和实现页面置换的功能,请求分段调度具有产生缺段中断和实现段的置换功能。 二、综合题
6、 5 【正确答案】 6 【正确答案】 semaphore customers=0; semaphore mutex=1: semaphore R=O; main() cobegin 理发师: begin repeat P(customers);有顾客等待 P(mutex); R=R-l;等待顾客数减 - V(mutex): 理发; until false; 顾客: begin repeat P(mutex); 检查是否有空椅子可是坐 j f(R3)then begin R-R+1; V(customers);有则坐下,等候顾客数加 l V(mutex); 等待理发; end else V(mutex);无空位离开 until false;