操作系统试题1

更新时间:2023-09-19 07:44:01 阅读量: 小学教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

操作系统试题

第1部分 概述 一、 选择题

1.在分时系统中,当用户数为50时,为了保证响应时间不超过1秒,选取的时间片最大值为 B 。

A :10ms

B: 20ms

C: 50ms

D:100ms

2.下列关于并发的叙述中正确的是 C 。 A:并发是指多个事件在同一时刻发生。 B:并发是指一个事件在多个时刻发生。 C:并发是指多个事件在同一时刻间隔内发生。 D:并发是指一个事件的发生触发了另一个事件。 二、 填空题

1.操作系统与用户的接口可分为 命令(shell) 与 系统调用 两种方式。 2.操作系统的四个主要功能有 处理机管理 、内存管理 、文件管理 和 设备管理 。 3.多个事件在同一时刻发生称为 并行 ,多个事件在同一时刻间隔内发生称为 并发 。 4.在单处理机环境下的多道程序,宏观上可以 同时(并发) 运行,微观上则是 交替(串

行) 运行。

三、 简答题

第2部分 进程管理 一、 选择题

1.下列叙述中正确的是 C 。 A:临界资源不能共享。

B:对临界资源应采取同时访问方式来实现共享。 C:对临界资源应采取互斥访问方式来实现共享。 D:只要是并发执行的程序,就可以共享临界资源。

2.在进程调度中,为了照顾短进程用户,应采取 B 调度算法;为了使紧急任务能得到及时处理,应采取 E 调度算法;为了使交互型进程具有合理的响应时间,应采取 C 调度算法;能使长进程、短进程及交互型进程的用户都能接受,应采取 D 调度算法。

A:先来先服务 二、 填空题

1.不能被多个进程同时访问的资源称为 临界 资源,为实现这种资源的共享,应采取

互斥 访问方式。

B:短进程优先 C:时间片轮转 D:多级反馈队列

E:基于优先级剥夺

2.正在执行的进程因时间片用完而被暂停执行,此时应变为 就绪 状态;正在执行的

1

进程因等待某一事件而进入 阻塞 状态,当事件到时应变为 就绪 状态。

3.下列关于进程调度的叙述中正确的是 D 。

A:CPU繁忙型进程的优先级应高于I/O繁忙型进程的优先级。 B:资源要求多的进程,其优先级应高于资源要求少的进程。

C:在引入动态优先级的系统中,随着进程等待时间的增加,其优先级将随之降低。 D:在引入动态优先级的系统中,随着进程执行时间的增加,其优先级将随之降低。 4.死锁的四个必要条件是 互斥 、不剥夺 、请求和保持 和 环路 。

1. 说明进程和程序的关系与差异。 2. 说明PCB与进程的关系。

每个进程对应一个PCB。在进程的整个生命周期,PCB是进程存在的唯一标志,OS借助PCB对进程进行管理与控制。即

进程创建时,OS为其配置一个PCB; 进程调度时,OS依据PCB中的优先级等; 进程执行前后,OS利用PCB保护与恢复现场;

进程执行中,OS有时利用PCB实现与其它进程的同步及通信; 进程终止时,OS回收PCB。

三、 简答题

3. 为什么说多级反馈队列进程调度法能较好地满足用户需要?

4. 在解决死锁问题的几种方法中,哪一种方法最容易实现?哪一种方法使资源利用率最高?

5. UNIX系统V为什么把PCB分为进程表项和U区?

四、 算法题

1. 设进程A 、B的执行代码如下:

进程A:

{ }

a;

进程B:

for ( i=0; i<3; i++ ) { }

P(&Q); b; V(&S);

for ( i=0; i<3; i++ )

P(&S);

V(&Q);

其中,S、Q为信号量。在下列每种条件下,进程A、B的并发执行是否会发生死锁?若不会死锁,给出一种可能的执行序列。

1)S、Q的初值均为1。不会死锁。可能的一个执行序列:

Pa(&S),a,Va(&Q),A阻塞

Pb(&Q),b,Vb(&S),Pb(&Q),b,Vb(&S),B阻塞

Pa(&S),a,Va(&Q),Pa(&S),a,Va(&Q),A结束 Pb(&Q),b,Vb(&S),B结束

2)S、Q的初值均为0。会死锁。

3)S的初值为0,Q的初值为1。不会死锁。B先执行,而后交替。可能的一个执行序列:

Pb(&Q),b,Vb(&S), B阻塞

2

Pa(&S),a,Va(&Q),A阻塞 Pb(&Q),b,Vb(&S), B阻塞

Pa(&S),a,Va(&Q),A阻塞 Pb(&Q),b,Vb(&S), B结束

Pa(&S),a,Va(&Q),A结束

2. 设有三个进程:输入进程Pi、计算进程Pc与输出进程Po,其功能如下: Pi:不断地从键盘读入字符,放入缓冲区Buf1。

Pc:不断地从Buf1取字符,转换成大写字母后,放入缓冲区Buf2。 Po:将Buf2中的字符输出。

设缓冲区Buf1、Buf2的长度分别为m、n,要求利用信号量写出进程Pi、Pc和Po的算法。

设置下列共享变量: Pi:

While ( 1 ) {

P(Avail1);

Pc:

While ( 1 ) {

P(Used1);

P(Mutex1);

从Buf1取一个字符,放入变量Ch1; V(Mutex1); V(Avail1);

Ch1 = Upper(Ch1);//转换成大写 P(Avail2);

Po:

3

}

P(Mutex2); 将 Ch1放入Buf2; V(Mutex2); V(Used2); }

P(Mutex1);

读入一个字符,放入Buf1; V(Mutex1); V(Used1);

Mutex1=0;//访问Buf1的互斥信号量 Mutex2=0;//访问Buf2的互斥信号量

Avail1=m,Used1=0;//表示Buf1中可用、占用缓冲的资源信号量 Avail2=n,Used2=0;//表示Buf2中可用、占用缓冲的资源信号量

While ( 1 ) {

P(Used2);

P(Mutex2);

从Buf2取一个字符,启动打印机输出;

}

V(Mutex 2); V(Avail2);

3. 设某操作系统提供了进程间通信的共享内存机制,利用该机制实现应用进程间通信的消息队列。

4. 假设有四道作业,它们的进入时刻与执行时间如下所示:

作业号 进入时刻(时) 执行时间(小时) 1 10.00 0.4 2 10.10 1.0 3 10.20 0.6 4 10.30 0.2 在单道程序环境下,分别采用先来先服务和最短作业优先调度算法,试说明它们的调度顺序及平均周转时间。

四道作业的运行时间表如下:

运行时间 (小时) 0.4 1.0 0.6 0.2 FCFS 完成时刻(时) 周转时间(小时) 10.40 0.4 11.40 1.3 12.00 1.8 12.20 1.9 SJF 完成时刻(时) 周转时间(小时) 10.40 0.4 12.20 2.1 11.20 1.0 10.60 0.3 作进入时刻业 (时) 1 10.00 2 10.10 3 10.20 4 10.30 FCFS:

调度顺序:作业1(10.00—10.40),作业2(10.40—11.40),作业3(11.40—12.00),作业4(12.00—

12.20)

平均周转时间(小时)= (0.4 + 1.3 + 1.8 + 1.9 )/ 4 = 1.35

SJF:

调度顺序:作业1(10.00—10.40),作业4(10.40—10.60),作业3(10.60—11.20),作业2(11.20—

12.20)

平均周转时间(小时)= (0.4 + 2.1 + 1.0 + 0.3 )/ 4 = 0.95

5. 假定某多道程序设计系统,有供用户使用的内存空间100KB,磁带机2台,打印机1台,系统采用可变分区方式管理内存,对磁带机和打印机采用静态分配方式,并假设输入输出操作的时间忽略不计。现有5道作业的资源请求表如下所示: 作业号 1 2 3 4 进输入井时刻(HH:MM) 8:00 8:20 8:20 8:30 要求计算时间(分钟) 25 10 20 20 4

要求内存空申请磁带机间(KB) 数(台) 15 1 30 0 60 1 20 1 申请打印机数(台) 1 1 0 0 5

8:35 25 10 1 1 假设作业调度采用先来先服务算法,优先分配内存低地址区且不准移动已在内存中的作业,在内存中的作业平分CPU时间,以作业进入输入井到得到计算结果的时间定义为周转时间。现要求给出:

1) 作业被调度的次序。 2) 最大的作业周转时间。 3) 最小的作业周转时间。 4) 作业的平均周转时间。 5) 作业全部执行结束时刻。

5道作业的运行情况如下:

时刻 8:00 8:20 8:30

作业调度/完成情况 调度作业1

空闲磁带机数 空闲打印机数 内存情况

1 0 1 0 1 1 2 2

0 0 1 1 1 0 0 1

高85KB空闲 高25KB空闲

作业2等待(资源不满足),调度作业3 作业1完成

高25KB、低15K空闲 高5KB、低15K空闲

高5KB、中60K、低15K空

8:30 9:00 9:00 9:10 9:15 9:15 9:40 作业号 1 3 4 2 5 作业2等待(资源不满足),调度作业4 作业3完成 调度作业2 作业4完成 作业2完成 调度作业5 作业5完成

进入时刻(HH:运行时间 MM) (分钟) 8:00 25 8.20 20 8:30 20 8:20 10 8:35 25

5道作业的运行时间表如下:

开始时刻(HH:结束时刻(HH:周转时间MM) MM) (分钟) 8:00 8:30 30 8:20 9:00 40 8:30 9:10 40 9:00 9:15 55 9:15 9:40 65

1) 作业被调度的次序:1,3,4,2,5 2) 最大的作业周转时间:65分钟 3) 最小的作业周转时间:30分钟

4) 作业的平均周转时间:(30+40+40+55+65)/5 = 46分钟 5) 作业全部执行结束时刻:9:40

第3部分 内存管理

一、 选择题

1. 静态重定位是在程序的 B 过程中进行的;动态重定位是在程序的 C 过程中进行的。 A:编译

B:装入

C:执行

D:修改

2. 在可变分区内存管理中,首次适应算法、最佳适应算法及最差适应算法分别要求空

5

本文来源:https://www.bwwdw.com/article/smrh.html

Top