《计算机操作系统原理》复习题
《计算机操作系统原理》复习题本文简介:《操作系统原理》复习资料一、单选题(每小题1分,共20分)1.人与裸机间的接口是(B)A、应用软件B、操作系统C、支撑软件D、都不是2.在分时系统中,当时间片一定时,(A),响应越快。A、用户越少B、用户越多C、内存越大D、内存越小3.下列说法哪一个是错误的?(D)A、操作系统是一种软件B、计算机是
《计算机操作系统原理》复习题本文内容:
《操作系统原理》复习资料
一、单选题(每小题
1
分,共
20
分)
1.
人与裸机间的接口是(
B
)
A、应用软件
B、操作系统
C、支撑软件
D、都不是
2.在分时系统中,当时间片一定时,(
A
),响应越快。
A、用户越少B、用户越多C、内存越大D、内存越小
3.下列说法哪一个是错误的?(
D)
A、操作系统是一种软件
B、计算机是一个资源的集合体,包括软件资源和硬件资源
C、计算机硬件是操作工作的实体,操作系统的运行离不开硬件的支持
D、操作是独立于计算机系统的,它不属于计算机系统
4.操作系统的基本特征是共享性和(
B
)。
A、动态性B、并发性C、交互性D、制约性
5.UNIX操作系统是一种(
B
)。
A、批处理操作系统B、分时操作系统C、实时操作系统D、分布式操作系统
6.批处理操作系统的主要缺点是(
C
)。
A、CPU使用率低B、无并行性C、无交互性D、都不是
7.进程存在的唯一标志是(
C
)。
A、程序B、数据C、PCBD、中断
8.CPU执行完一条指令后,由中断装置检查有无中断事件发生,若有,则暂停现行进程的运行,让中断服务程序占用CPU,这一过程称为(
B)。
A、中断处理B、中断响应C、现场保护D、都不是
9.CPU分配给进程的时间片用完而强迫进程让出CPU,此时进程的状态为(A
)。
A、就绪状态B、执行状态C、阻塞状态D、都不是
10.操作系统资源分配的基本单位是(D
)。
A、程序B、指令C、作业D、进程
11.进程调度算法的准则说法错误的是(
B
)。
A、交互式用户的请求应及时响应
B、能适当增加进程在就绪队列中的等待时间
C、尽可能提高系统吞吐量
D、尽量提高CPU的利用率
12.下列不是进程的特征(
C)。
A、异步性B、并发性C、并行性D、动态性
13.单处理器系统中,处于运行状态的进程(
C
)。
A、可以有多个B、不能被打断C、只有一个D、不能请求系统调用
14.采用优先级调度算法时,对那些具有相同优先级的进程按(
A
)次序分配处理器。
A、先来先服务B、时间片轮转C、运行时间长短D、使用外围设备多少
15.关于PCB不正确的描述是(C
)。
A、PCB就是Process
Control
Block
B、PCB是用以记录各进程执行时的情况
C、OS为每个进程设备若干个PCB
D、PCB是进程存在的唯一标志,操作系统通过PCB对进程进行管理和调度
16.操作系统通常通过(
D)来扩充主存空间。
A、对内存的管理B、分页管理方式
C、固定分区方式D、对硬盘的虚拟存储管理
17.共享区域中的信息一般情况下具有以下特征(
D
)。
A、可读,可写B、不可读,不可写C、只可写D、只可读,不可写
18.固定分区存储管理一般采用(
D
)进行主存空间的分配。
A、最先适应算法B、最优适应算法C、最坏适应算法D、顺序分配算法
19.静态重定位是装入作业时,需要(D
)。
A、执行B、修改变量C、不需要任何改变D、地址转变
20.动态重定痊是在作业的(
D
)中进行的。
A、编译过程B、装入过程C、修改过程D、执行过程
21.编程过程中涉及的地址被称为(
B
)。
A、物理地址B、逻辑地址C、虚拟地址D、一段非连续的地址
22.假定空闲区表自上至下为20KB,14KB,17KB和80KB,某作业要求分配16KB的主存空间,若此时分割的是17KB空闲区,则可能判断系统采了的主存分配算法是(B
)。
A、最先适应算法B、最佳适应算法
C、最坏适应算法D、首次适应算法
23.在页式存储管理中,在页表中增加“引用位”的页面调度算法是(
B
)。
A、先进先出算法FIFOB、最近最少使用算法LRU
C、最近最不经常使用LFUD、最坏适应算法
24.可变分区存储管理中,总是按作业要求挑选最大的空闲区的算法是(B
)。
A、顺序分配算法B、最坏适应分配算法
C、最先适应分配算法D、最优适应算法
25.最近最不经常使用算法LFU是指(
B
)。
A、以后再也不用的页淘汰
B、近期被访问次数最少的页先淘汰
C、近期最长时间以来没被访问的页先淘汰
D、最早进入内存的页先淘汰
26.计算机系统地址空间采用32位来表示,则存储器的最大容量为(
C
)。
A、2nB、n2C、4GBD、不清楚
27.段式存储管理地址具有以下特征(
B
)。
A、段内逻辑地址连续,段间逻辑地址连续
B、段内逻辑地址连续,段间逻辑地址不连续
C、段内逻辑地址不连续,段间逻辑地址连续
D、段内逻辑地址不连续,段间逻辑地址不连续
28.“抖动”是指(B
)。
A、使用机器时引起屏幕闪烁的现象
B、刚调出的页面又被立即装入所形成功之路频繁装入/调出的现象
C、系统盘有问题
D、由于主布分配不当,偶然造成系统不稳定的现象
29.主存储器与外围设备之间的信息传递操作称为(
C
)。
A、通道操作B、存储管理操作C、IO操作D、输入操作
30.对磁盘进行移臂操作的目的是为了缩短(
A
)时间。
A、寻找B、延迟C、传送D、启动
31.(C
)调度算法能够保证在一定时间移臂方向的连续性。
A、先来先服务B、最短时间优先调度算法C、电梯调度算法D、最优调度算法
32.采用SPOOL技术的主要目的在于(
D
)。
A、提高系统对设备的处理速度
B、让用户真正共享设备
C、实现“外围设备的一致性”
D、提高独占设备的利用率
33.作业调度的核心问题是(
C
)。
A、选择恰当的进程管理程序B、选择恰当的作业
C、选择恰当的作业调度算法D、选择作业的优先队列
34.(
B
)调度算法能使作业平均周转时间最短。
A、先来先服务B、计算机时间短的优先
C、响应比高的优先D、优先级算法
35.临界区表明(
C)。
A、临界区里资源处于临界状态B、临界区里资源对系统而言非常重要
C、具有并发进程共享使用的资源D、在同一时刻可被进程共享
36.在执行V操作的过程中,当信号量的值(
D
)时,应当释放一个等待该信号量的进程。
A、0C、>=0D、<=0
37.PV操作改变的是(D)。
A、程序数据B、共享变量C、通信息D、信号量
38.下列不是线程属性的是(D
)。
A、同一进程的各个线程共享进程的主存地址空间
B、线程具有等待、就绪和运行等状态
C、每个线程有唯一的标识符
D、线程是资源分配的基本单位
39.不能破坏哪个必要条件达到防止死锁?(A
)
A、互斥条件B、占有并等待资源C、不可抢夺D、循环等待资源
40.下列不属于抢占式分配资源策略的是(
D
)。
A、时间片轮转B、可强占的优先级调用
C、CPU将申请不到资源的运行态进程变为等待态
D、先来先服务策略
41.银行家算法的实质是(B
)。
A、死锁的防止B、死锁的避免C、死锁的检测D、死锁的恢复
42.用户使用文件时不必考虑文件存储在哪里、怎样组织输入输出等工作,这称为(B)。
A、文件共享B、文件按名存取C、文件保护D、文件的透明
43.文件在存储介质早的组织方式称为文件的(A)。
A、物理结构B、逻辑结构C、流式结构D、顺序结构
44.索引结构为每个文件建立一张索引表,用于存放(A
)。
A、逻辑记录存放位置的指针B、部分数据信息
C、主关键字D、逻辑记录地址
45.把作业地址空间中使用的逻辑地址变为内存中物理地址称为(
B
)。
A、加载B、重定位C、物理化D、逻辑化
46.要达到文件保密,可以(
A
)。
A、隐藏文件目录B、限制文件的使用权限
C、设置存取控制表D、定时转储
47.解除死锁一般采用终止进程和(B)两种方法。
A、关闭系统B、抢夺资源C、后退执行D、重新执行进程
48.在文件系统中,要求物理块必须连续的物理文件是(A)。
A、顺序文件B、链接文件C、串联文件D、索引文件
49.UNIX系统全部分用C语言写成,具有(A)。
A、易移植性B、开放性C、可扩展性D、简便性
50.操作系统的功能不包括(B)。
A、CPU管理B、用户管理C、作业管理D、文件管理
51.系统功能调用是(D)
A、用户编写的一个子程序B、高级语言中的库程序
C、操作系统中的一条命令D、操作系统向用户程序提供的接口
52.操作系统中,并发性是指(C)
A、若干个事件在不同时刻发生B、若干个事件在同一时刻发生
C、若干个事件在同一时间间隔内发生D、若干个事件在不同时间间隔内发生
53.批处理系统的主要缺点是(C)
A、CPU利用率低B、不能并发执行C、缺乏交互性D、以上都不是
54.实时操作系统必须在(C)内响应来自外部的事件。
A、响应时间B、周围时间C、规定时间D、调度时间
55.
操作系统的进程管理模块并不负责(
C
)
A、进程的创建和删除B、提供死锁处理机制
C、实现I/O设备调度D、通过共享内存实现进程间的通信
56.当(B)时,进程从执行状态转变为就绪状态。
A、进程被调度程序选中B、时间片到
C、等待某一事件D、等待的事件发生
57.进程申请打印输出完成向系统发生中断后,进程的状态变化为(C)
A、从就绪到执行B、从执行到就绪
C、从等待到就绪D、从执行到就绪
58.在进程转换中,下列(
)转换是不可能发生的。
A、就绪态→运行态B、运行态→就绪态
C、运行态→阻塞态D、阻塞态→运行态
59.现有3个同时到达的作业J1、J2、J3,它们的执行时间分别是T1、T2、T3,且T1 A、T1+T2+T3B、(T1+T2+T3)/3 C、(3T1+2T2+T3)/3D、(T1+2T2+3T3)/3 60.一作业8:00到达,估计运行时间为1小时。若10:00开始执行该作业,其响应比是(C) A、2B、1C、3D、4 61.设有4个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理机上按单道方式运行,则平均周转时间为(B)。 A、1hB、5hC、2.5hD、8h 62.死锁现象并不是计算机系统独有的,例如:除(B)之外,下列三种案例都是死锁的体现。 A、公路上塞车,因为大修,桥上只有一个车道供同行。 B、高速公路大堵车,因为桥被台风吹断了。 C、两列相向行驶的列车在单轨铁路上迎面相遇了。 D、两位木匠钉地板,一位只握榔头,而另一位没有榔头,却有钉子。 63.某系统中有3个并发进程都需要4个同类资源,该系统不会发生死锁的最少资源是(B) A、9B、10C、11D、12 ***.银行家算法用于(A)死锁。 A、避免B、预防C、控制D、模拟 65.使用(B)方法可以实现虚拟存储。 A、分区靠拢B、覆盖、交换C、联想寄存器D、段靠拢 66.下列算法会产生Belady异常的现象是(A) A、先进先出的页面替换算法B、最近最久未使用替换算法 C、栈式页面替换算法D、最佳页面替换算法 67.下列设备属于共享设备的是(C) A、打印机B、磁带机C、磁盘D、磁带机和磁盘 68.如果I/O设备与存储设备间数据交换不经过CPU来完成,则这种数据交换方式是(C) A、程序查询方式B、中断方式 C、DMA方式D、外部总线方式 69.若8个字(字长32位)组成的位示图管理内存,假定用户归还一个块号为100的内存块时,它对应位的位置为(B) A、字号为3,位号为5B、字号为4,位号为4 C、字号为3,位号为4D、字号为4,位号为5 70.文件系统中路径名是由(C)组成。 A、磁盘符和目录名B、目录名和文件名 C、磁盘符、目录结构的各个目录名、文件名D、磁盘符、根目录名、文件名 二、判断题(每小题1分,共10分)√× (×)1.在分时系统中,时间片越小,越能改改善响应时间。 (×)2.特殊指令是随操作系统的发展而出现的一类特殊指令,主要是特殊用户才能使用的指令。 (×)3.每一个驻留在辅存上的文件都必须连续存放。 (×)4.P、V操作为同步原语,在执行中不可以被中断,以保证原语的不可分割性。 (√)5.进行的并发执行,失去了顺序程序的封闭性和可再现性。 (×)6.一个虚拟的存储器,其地址空间的大小等于辅存的容量加上主存的容量。 (√)7.进程——资源图中出现了环路,不一定就有死锁发生。 (×)8.先来先服务作业调度算法,有可能使长作业等待得不到运行,产生“饿死”现象。 (√)9.作业的周转时间越小,作业调度算法越好。 (×)10.作业从后备到就绪状态是由进程调度程序完成的。 (×)11.所谓批处理系统,即指每一时刻有若干个进程在执行。 (×)12.采用多道程序设计的系统,系统的程序道数越多,系统的效率越高。 (×)13.当一个进程从阻塞状态变成就绪,则一定有一个进程从就绪变成执行状态。 (√)14.在用P、V操作解决进程之间同步和互斥时,一定要正确地安排P和V操作的顺序,否则会引起死锁。 (×)15.死锁是指系统中的全部进程都处于阻塞状态。 (√)16.采用资源的静态分配算法可以预防死锁的发生。 (√)17.作业调度是处理机的高级调度,进程调度是处理机的低级调度。 (×)18.请求分页存储管理系统,若把页的大小增加一倍,则缺页中断次数会减少一半。 (×)19.采用多级目录不能实现不同用户可使用不同名字来访问系统中的同一共享文件。 (√)20.当前目录的引入,提高了访问文件的效率。 三、填空题(每小题1分,共10分) 1.操作系统是计算机系统中的一个 系统软件 ,它管理和控制计算机系统中的软件和硬件资源。 2.现代操作系统的两个最基本的特性:并发性 和 共享性 3.在操作系统中,不可中断执行的操作称为 原子操作 。 4.对信号量S只能通过 PV 操作进行,其物理意义是:一个相当于申请资源,一个相当于释放资源。 5.进程是由程序、数据和 进程控制块(PCB) 组成的。 6.进程的同步是进程的直接相互制约 关系,进程的互斥是进程的 间接相互制约 关系。 7.如果信号量的当前值为-4,则表示系统中在该信息量上有 4 等待进程。 8.作业调度是处理机的高级调度, 进程 调度是处理机的低级调度。 9.如果系统中所有作业是同时到达,则使作业平均周转时间最短的作业调度算法是 短作业优先调度算法 。 10.在有m个进程的系统中出现死锁时,死锁的进程的个数K应满足的条件是: 2<= K<=m 。 11.用户编程时使用 逻辑 地址,处理机执行程序时使用 物理 地址。 12.虚拟设备是指操作系统利用某种I/O技术,将某个 独占 设备改造为多个用户可以同时共享的设备。 13.SPOOLing系统中,作业执行时从磁盘上的 输入井 中读取信息,并把作业的执行结果暂时存放在磁盘上的 输出井 中。 14.目录的作用在于实现 按名存取 ;目前广泛采用的目录结构是 树型目录结构 。 15.根据文件的逻辑结构,文件分为 流式文件 和记录式文件。 四、 简述题(每小题5分,10分) 1.进程和程序的主要区别。 答:1)进程是程序在一个数据集合上的一次运行过程,而程序是指令的有序集合,所以两者是相关但完全不同的两个概念; 2)程序就是一个存储在某个储存介质上的代码,进程除了程序段和数据段外还有进程控制块PCB; 3)进程从创建到被撤销是有生命周期的,是个动态的过程,而程序则是一组放在介质上的指令的集合,是静态的; 4)多个进程在内存中是并发地执行的,而程序的并发执行具有不可再现性,不能正确地并发执行; 5)进程能独立运行,独立分配资源,独立接受调度,而程序不能在多道程序环境下独立运行。 2.若系统只有一个进程,它会被卷入死锁吗?为什么? 答:若系统中只有一个进程,不会卷入死锁。因为系统中的所有资源都归它使用,不可能存在为申请某个资源而永运得不到的情况。 3.产生死锁的必要条件是什么?解决死锁问题常用哪几种措施? 答:产生死锁的必要条件是: 1)互斥条件。即被争夺的资源同一时间只能被一个进程使用。 2)请求和保持条件。即一个进程由于请求某个资源不成功被阻塞的时候不丢失它之前已经申请到的其他资源的使用权。 3)不剥夺条件。指一个进程申请到资源后不能被其他进程剥夺,直到使用完该资源释放掉。 4)环路等待条件。指发生死锁时,必然存在一个资源-进程的环路。 解决死锁问题常用的措施有: 1)预防死锁。通过一些限制条件的设置来破坏死锁发生的四个必要条件中一个或多个,以预防死锁的发生。 2)避免死锁。在资源的动态分配的过程中用某些算法加以限制,防止系统进入不安全状态从而避免死锁的发生。 3)检测死锁。采取一定的机制检测系统是否死锁,以配合死锁的解除。 4)解除死锁。通过撤消一些进程回收资源把系统从死锁中解脱出来。 4.请简要比较进程与线程。 答:进程和线程有着很多相似的地方:都可以并发执行;都有就绪、执行、阻塞这些基本状态,也都可以在这些基本状态间转换状态;从创建到撤消都有一定的生命同期;都需要同步工具。 进程和线程也有很多差异: 1)在传统的OS中进程是拥有资源和独立调度分派的基本单位,在加入线程的OS中,线程代替进程成为独立调度和分派的基本单位,进程则仍是拥有资源的基本单位。 2)并发粒度不同。除了不同进程的线程之外,同一进程里的不同线程之间也可以并发执行,所以线程拥有更好的并发性。 3)拥有资源数量不同。进程是拥有资源的基本单位,线程除了些在运行过程中必不可少的资源外基本不拥有系统资源,它可访问自己所在的进程的资源。 4)管理开销不同。创建、撤销进程时系统都要为之分配和回收资源,所以进程切换用的时间等开销相对要多于线程。进程间通信很麻烦,而同一进程的线程间则通过共享进程的资源很方便地通信和同步,同步开销小得多。 5.对基本的进程状态转换图(如下)中的状态转换编号1、2、3和4,令I和J分别取1,2,3和4(J不等于4)。请分别讨论在状态转换I和状态转换J之间是否存在因果关系。若存在,请指出这种关系是必然的,还是有条件的?条件是什么? 答:1)先来回答补充的问题: 引起1的事件:该进程的时间片用完,或可抢占式系统中有比正在执行的进程优先级更高的进程需要被执行。 引起2的事件:CPU调度算法分配CPU给这个进程。 引起3的事件:正在等待I/O传输完成的进程的I/O传输完成。 引起4的事件:正在执行的进程出现I/O传输请求等事件 2)再来分析I和J存在的各种因果关系 I=1时能引发J=2的发生。而且这种因果关系是必然的。此时就绪队列中优先级最高的进程得到CPU。 I=2时和任何状态转换J的发生都没有因果关系。 I=3时能引发J=2的发生,这种因果关系是有条件的,条件是“就绪队列为空且没有进程被执行”或者“在可抢占式系统中,就绪队列为空且该进程比正在执行的进程的优先级高”,在两个条件下都必然引发J=2的发生,否则不能引发任何状态转换。 I=4时能引发J=2的发生。这种因果关系是有条件的,条件是“就绪队列不空”。此时就绪队列中优先级最高的进程得到CPU,若就绪队列为空则不能引发任何状态变化。 五、辨析题(每小题10分,共20分) 1.请判断这句话是否正确“并发是并行的不同表述,其原理相同。” 答:答案是“错误的”,因为并发和并行是两个相似却有区别的概念,并行是指多个事件在同一时刻发生,比如多道程序设计技术里的CPU和I/O设备就是并行工作的,因为CPU和I/O设备可以在同一时刻都处于工作状态;而并行则指多个事件在同一时间间隔内发生,比如多道程序设计里的同在主存中的进程就是并发执行的,因为在一个特定的时刻主存中只能有一个进程得到CPU运行(单处理机)而不是多个进程在同一个时刻同时运行,但宏观上看在一个时间间隔内有多个进程在运行。 2.进程就是程序 答:这个观点是错误的,错在没有理解进程的动态性,进程从被创建到被撤销有一个生命同期,而程序则可以永久地存在某种介质上,是静态的。 3.虚拟存储器的大小等于或小于内存和外存的容量之和。 答:这个观点是错误的。这个观点的产生是因为看到了虚拟存储器的实现方式是通过页面和段在外存和内存间调入调出实现的,所以认为虚拟存储器的大小至少要等于或小于这两者之和。实际上决定虚拟存储器大小的因素只有一个,那就是计算机的地址结构,也就是在该计算机上运行的汇编代码中的地址的位数,和该系统中的内存和外存的大小没有关系。程序运行的时候给出的地址都不是物理地址,而是一个逻辑地址,需要通过地址变换机构映射到内存中,而虚拟存储的地址空间就是一个程序能给出的所有地址的总和,而这显然是由地址总线的位数决定的,一般来说就是CPU的位数,比如CPU是32位的话,那么能给出的地址总数是232个,那么虚拟存储器的大小就是232X1B=4GB。 4.在分页存储管理中,减少页面大小,可以减少内存的浪费。所以页面越小越好。 答:这个观点是错误的。分页存储管理中,页面大有大的优势,小有小的好处,并非越大越好,更不是越小越好。页面大可以减少页表的大小,节省内存空间;而页面小可以有效减少页内碎片的大小,也能节省内存空间。所以应该统筹兼顾,取合适的页面大小。 5.不安全状态是指系统中有进程已经发生死锁。 答:这个观点是错误的。错在不知道不安全状态是指系统可能发生死锁的状态,并不意味着系统已经发生死锁。 6.段页式结合了段式和页式的优点,所以段页式的内部碎片和页式一样少。 答:这个观点是错误的。段页式的确结合了段式和页式的优点,而且克服了段式的外部碎片问题,但段页式的内部碎片并没有做到和页式一样少,页式存储管理方式下平均一个程序有半页碎片,而段页式存储管理方式下平均一段就有半页碎片,而一个程序往往有很多段,所以平均下来段页式的内部碎片比页式要多。 7.临界区就是临界资源所在的区域 答:这个观点是错误的。这个完全是字面上的理解,显然是错误的,要知道临界资源是进程需要互斥访问的对象(可以是硬件),而临界区则是进程中的代码,只不过这个代码有些特殊,是有来访问临界资源的代码罢了。 8.阻塞状态就是进程被销毁了。 答:这种错误相法根源是误以为进程得不到执行就是被销毁。其实进程有没有被销毁应该看进程的PCB,只要进程被销毁了,该进程的PCB就会被销毁。而阻塞状态下进程的PCB还在,而且进程可能在和I/O设备通信,只不过暂时没有被执行而已。 9.高速缓存等价于缓冲区,两者没有区别。 答:这观点是错误的。高速缓存和缓冲区都是介于一个高速设备和一个低速设备之间,但它们之间有很大的区别。 1)两者存放的数据不同,高速缓存上放的是低速设备上的某些数据的一个拷贝,也就是说高速缓存上有的数据低速设备上必然是有的;而缓冲区则是放置低速设备传递给高速设备的数据,这些数据从低速设备传递到缓冲区中,而在低速设备中却不一定有备份,然后再从缓冲区送到高速设备。 2)两者的目的不同,高速缓存是为了存放低速设备上经常被访问到的数据的拷贝;而缓冲区是为了缓和高速设备和低速设备间速度不匹配的矛盾而存在的,高速设备和低速设备间通信每次都经过缓冲区,高速设备不会直接去访问低速设备。 六、综合题(10分/小题,共40分) 1.一组合作进程,执行顺序如图所示,请用P、V操作实现进程间的同步操作。 解: Var a,b,c,d,e,f,g,h:semaphore: =0,0,0,0,0,0,0,0; begin parbegin begin P1; signal(a); signal(b); end; begin wait(a); P2; signal(c); signal(d); end; begin wait(b); P3; signal(e); signal(f); end; begin wait(c); wait(e); P4; signal(g); end; begin wait(d); wait(f); P5; signal(h); end; begin wait(g); wait(h); P6; end; parend end 2.设公共汽车上,司机和售票员的活动分别是: 售票员的活动: 关车门 售票 开车门 司机的活动: 启动汽车 正常行车 到站停车 在汽车不断地到站、停车、行驶过程中,这两个活动有什么同步关系?请用信号量机制实现他们的同步。 解: 直接相互制约的同步关系,司机等售票员关好门才启动汽车,售票员等司机停好车才开门,他们的活动需要同步 Semaphore start=stop=0 Driver{ While(1){ Wait(start) 启动汽车 正常行驶 到站停车 Signal(stop)}} Conductor(){ While(1){ 开车门 等乘客上车 关车门 Signal(start) 售票} Wait(stop)} 作业 提交时间 运行时间 1 8.0 1.0 2 8.5 0.5 3 9.0 0.2 4 9.1 0.1 3.在一单道批处理系统中,一组作业的提交时间和运行时间如表所示,试计算以下3种作业调度算法的平均周转时间T和平均带权周转时间W。 (1)先来先服务;(2)短作业优秀;(3)响应比高者优先。 提示:优先级=(等待时间+运行时间)/运行时间 解: 请分别给出在算法FCFS、SJF和HRN中这组作业的调度顺序、平周转时间和平均带权周转时间。 【解答】 FCFS算法调度顺序:1,2,3,4,作业运行情况如下表 作业号开始时间完成时间周转时间带权周转时间 18.09.01.01.0 29.09.51.02.0 39.59.70.73.5 49.79.80.77.0 平均周转时间T=(1.0+1.0+0.7+0.7)/4=0.85 平均带权周转时间W=(1.0+2.0+3.5+7.0)/4=3.375 SJF(相当于等待时间最短)算法调度顺序:1,3,4,2,作业运行情况如下表 作业号开始时间完成时间周转时间带权周转时间 18.09.01.01.0 29.39.81.32.6 39.09.20.21.0 49.29.30.22.0 平均周转时间T=(1.0+1.3+0.2+0.2)/4=0.675 平均带权周转时间W=(1.0+2.6+1.0+2.0)/4=1.65 HRN(最高响应比调度算法就相当于等待时间/运行时间)算法调度顺序:1,2,4,3,作业运行情况如下表 作业号开始时间完成时间周转时间带权周转时间 18.09.01.01.0 29.09.51.02.0 39.69.80.84.0 49.59.60.55.0 平均周转时间T=(1.0+1.0+0.8+0.5)/4=0.825 平均带权周转时间W=(1.0+2.0+4.0+5.0)/4=3.0 4.假定某操作系统存储器采用页式存储管理,页的大小为***B。假定一进程的代码段的长度为702B,页表如下表所示。该进程在联想存储器中的页表项如第二个表格所示。现有如下的访问序列:其逻辑地址为八进制的105、217、567、1120、2500。试问给定的这些地址能否进行转换?若能,请说明地址转换过程及其相应的物理地址;若不能则说明理由。 页号 页帧号 0 F0 1 F1 2 F2 3 F3 4 F4 5 F5 6 F6 7 F7 8 F8 9 F9 10 F10 页号 页帧号 0 F0 1 F1 2 F2 3 F3 4 F4 解:一页的大小是***B,进程的代码长为702B,所以该进程有702/***=11页。可以看到11个页面全部都在内存中,页号从0到10。由于页的大小是***B=26B,所以页内偏移地址是6位,即逻辑地址的最后6位二进制是页内偏地址,前面其他位是页号。 1)逻辑地址105转换成二进制地址为:001 000 101,页号为1,所以逻辑地址可以转换为物理地址,其物理帧号为F1,页内偏移为5(十进制)。物理地址为:11 1100 0100 0101=3C45H 2)逻辑地址217转换成二进制地址为:010 001 111,页号为2,所以逻辑地址可以转换成为物理地址,其物理帧号为F2,页内偏移为15(十进制)。物理地址为:11 1100 1000 1111=3C8FH 3)逻辑地址567转换为二进制地址为:101 110 111,页号为5,所以该逻辑地址可以转换为物理地址,其物理帧号为F5,页内偏移为55(十进制)。物理地址为:11 1101 0111 0111=3D77H 4)逻辑地址1120转换为二进制地址为:001 001 010 000,页号为9,所以该逻辑地址可以转换为物理地址,其物理帧号为F9,页内偏移为16(十进制数)。物理地址为:11 1110 0101 0000=3E50H 5)逻辑地址2500转换为二进制地址,010 101 000 000,页号为21,而该进程只有11页,发生了越界中断,所以该逻辑地址不能转换为物理地址。 5. 对访问串1,2,3,4,1,2,5,1,2,3,4,5指出在驻留集大小(即内存块)分别为3,4时,使用FIFO和LRU替换算法的页故障数。结果说明了什么。 解: 物理内存块为3时,FIFO算法: 引用串 1 2 3 4 1 2 5 1 2 3 4 5 内 存 1 2 3 4 1 2 5 5 5 3 4 4 1 2 3 4 1 2 2 2 5 3 3 1 2 3 4 1 1 1 2 5 5 是否缺页 √ √ √ √ √ √ √ √ √ 物理内存块为4时,FIFO算法: 引用串 1 2 3 4 1 2 5 1 2 3 4 5 内 存 1 2 3 4 4 4 5 1 2 3 4 5 1 2 3 3 3 4 5 1 2 3 4 1 2 2 2 3 4 5 1 2 3 1 1 1 2 3 4 5 1 2 是否缺页 √ √ √ √ √ √ √ √ √ √ 物理内存块为3时,LRU算法: 引用串 1 2 3 4 1 2 5 1 2 3 4 5 内 存 1 2 3 4 1 2 5 1 2 3 4 5 1 2 3 4 1 2 5 1 2 3 4 1 2 3 4 1 2 5 1 2 3 是否缺页 √ √ √ √ √ √ √ √ √ √ 物理内存块为4时,LRU算法: 引用串 1 2 3 4 1 2 5 1 2 3 4 5 内 存 1 2 3 4 1 2 5 1 2 3 4 5 1 2 3 4 1 2 5 1 2 3 4 1 2 3 4 1 2 5 1 2 3 1 2 3 4 4 4 5 1 2 是否缺页 √ √ √ √ √ √ √ √ 驻留集(内存块)为3的FIFO算法缺页数为9次,驻留集(内存块)为4的FIFO算法缺页数为:10; 驻留集(内存块)为3的LRU算法缺页数为10次,驻留集(内存块)为4的LRU算法缺页数为:8; 结果说明FIFO算法存在着Belady异常,并非驻留集越大缺页数就越小,而LRU算法不一定在任何引用串下都比FIFO算法好。 6. 在某个系统的某个运行时刻有磁盘访问的请求序列,如下表,假设磁头当前在15柱面,磁臂移动方向从小到大。 请求序列 柱面 1 15 2 20 3 9 4 16 5 24 6 13 7 29 请给出最短查找时间优先算法和电梯调度算法的柱面移动数,并分析为何通常情况下,操作系统并不采用效率更高的最短查找时间优先算法。 解: 访问次序:15-16-13-9-20-24-29 移动数是28 电梯算法 访问次序:15-16-20-24-29-13-9 移动数是34 7.考虑某个系统在如下表时刻的状态 Allocation Max Available A B C D A B C D A B C D P0 0 0 1 2 0 0 1 2 1 5 2 0 P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 0 1 4 0 6 5 6 使用银行家算法回答下面的问题: (1)Need矩阵是怎样的? (2)系统是否处于安全状态?如安全,请给出一个安全序列。 (3)如果从进程P1发来一个请求(0,4,2,0),这个请求能否立刻被满足?如安全,请给出一个安全序列。 解: 于安全状态。 15