操作系统题库+答案 下载本文

五、算法题

1、前趋关系如下所示,S1->S2,S1->S3,S2->S4,S3->S4。试用信号量进程描述。

2、生产者—消费者问题的同步算法中,为什么颠倒生产者进程中的两个wait()操作次序将导致进程死锁?

3、今有3个并发进程R、M、P,它们共享一个缓冲器B。进程R负责从输入设备读信息,每读出一个记录将其存放在缓冲器B中。进程M在缓冲器B中加工进程R存入的记录。进程P把加工后的记录打印输出。缓冲器B中每次只能存放一个记录,当记录被加工输出后,缓冲器B中又可存放一个新记录。请用P、V操作为同步机制写出它们并发执行时能正确工作的程序。

4、桌子上有一个盘子,每次只能放一个水果。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果。用信号量机制实现他们之间的同步机制。

5、一个牛奶生产厂家为一个消费者提供牛奶,牛奶生产厂家每次将牛奶放入消费者的牛奶箱中,消费者从牛奶箱中取牛奶。当牛奶箱满时,牛奶生产厂家不能向牛奶箱中放牛奶;当牛奶箱空时,消费都不能从牛奶箱中取牛奶。

6、使用记录型信号量解决经典的生产者和消费者问题。

7、在测量控制系统中的数据采集任务时,把所采集的数据送往一单缓冲区;计算任务从该单缓冲区中取数据进行计算。试写出利用信号量机制实现两任务共享单缓冲区的同步算法。

8、请说明下面生产者—消费者问题描述出现的问题并进行错误的改正。

Semaphore mutex=1;/*互斥用信号量,生产者、消费者对有界缓冲池应互斥使用*/ Semaphore empty=n;/*同步用信号量,缓冲池初始时空缓冲区数目为n*/ Semaphore full=0;/*同步用信号量,缓冲池初始时满缓冲区数目为0*/ main() { Cobegin Producer(); Consumer(); Coend }

Producer() {

While(1) {

生产一个产品; P(mutex); P(full); 放产品; V(mutex); } }

Consumer() {

While(1) {

P(mutex); P(empty); 取产品; V(mutex); 消费产品; } }

六、简答题

1、产生死锁的4个必要条件是什么?

互斥条件、请求和保持条件、不剥夺条件、环路等待条件。

2、进程有哪三种基本状态?试举出使进程状态发生变化的事件并描述它的状态转换图。 就绪态、阻塞态、运行态。 3、列举引起进程调度的事件。 1)正在执行的进程执行完毕

2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等状态

3)执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了v原语操作激活了等待资源的进程队列

4)执行中进程提出I/O请求后被阻塞 5)在分时系统中时间片已经用完

6)就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。

4、处理机调度分为哪几级调度?

高级调度、中级调度 、低级调度。

5、什么是安全状态?

所谓安全状态,是指系统能按照某种进程顺序来为每个进程分配其所需的资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利完成。 6、说明进程在三个基本状态之间转换的典型原因。

就绪态,当进程已分配到除cpu以外的所有必要资源后只要能再获得处理机便可立即执行,这时的进程状态转为就绪模式。执行状态,指进程已获得处理机其程序正在执行。阻塞状态,进程因发生某件事如请求io而暂停执行的状态。

7、什么是死锁?产生死锁的原因是什么?

多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵局状态时,若无外力作用,它们都将无法再向前推进。死锁产生的原因有竞争资源和进程间推进顺序非法。

七、名词解释

1、临界资源:每次仅允许一个进程访问的资源。

2、进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。 3、并发:两个或多个事件在同一时间间隔内发生。

4、死锁:多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵局状态时,若无外力作用,它们都将无法再向前推进。

5、临界区:每个进程中访问临界资源的那段代码称为临界区。

第四章 存储器

一、选择题

1. 分页式存储管理的主要特点是( C )。

A. 要求处理缺页中断 B. 要求扩充内存容量

C. 不要求作业装入到内存的连续区域 D. 不要求作业全部同时装入内存 2. LRU页面调度算法淘汰( B )的页。 A. 最近最少使用 B. 最近最久未使用 C. 最先进入内存 D. 将来最久使用

3. 分区管理要求对每一个作业都分配( A )的内存单元。 A. 地址连续 B. 若干地址不连续的 C. 若干连续的页 D. 若干不连续的帧 4. 页面置换算法中,( A )不是基于程序执行的局部性理论。 A. 先进先出调度算法 B. LRU C. LFU D. 最近最不常用调度算法

5. 在可变分区存储管理中,某作业完成后要收回其内存空间,该空间可能与相邻空闲区合并,修改空闲区表使空闲区始址改变但空闲区数不变的是( B )情况。 A. 有上邻空闲区也有下邻空闲区 B. 有上邻空闲区但无下邻空闲区 C. 无上邻空闲区但有下邻空闲区 D. 无上邻空闲区且也无下邻空闲区 6. 存储管理主要管理的是( C )。

A. 外存存储器用户区 B. 外存存储器系统区 C. 内存储器用户区 D. 内存储器系统区