第3章操作系统
从历年的考试试题来看,本章的考点在综合知识考试中的平均分数为6分,约为总分的8%。
主要分数集中在进程状态转换图、信号量与PV操作、死锁问题、银行家算法、段页式存储、页面置换算法、磁盘调度算法、文件系统等这些知识点上。
3.1考点提炼 根据考试大纲,本章要求考生掌握以下几个方面的知识点。
操作系统的内核。
操作系统的5大管理功能:进程管理、存储管理、设备管理、文件管理、作业 管理。
网络操作系统和嵌入式操作系统基础知识。
操作系统的配置。
但结合历年考试真题来看,笔者认为,考生必须要掌握以下几个方面的内容:
1.操作系统基本知识在操作系统基本知识方面,涉及的考点有操作系统的分类、操作系统的作用、操作系统的内核、操作系统的配置。
2.进程管理在进程管理方面,涉及的考点有进程的概念、进程状态转换图(重点)、同步与互斥、信号量与PV操作(重点)、进程死锁(包括死锁的概念、条件和判定死锁)、银行家算法(重点)、进程调度算法。
3.存储管理在存储管理部分,涉及的考点有连续存储与非连续存储概念、页式存储、段式存储、段页式存储、程序局部性原理、页面置换算法(重点)、通过逻辑地址计算物理地址、随机存取、直接存取、顺序存取。
4.磁盘管理在磁盘管理部分,涉及的考点有磁盘的相关概念、磁道数计算、磁盘容量计算、磁盘调度算法(重点)、磁盘数据的存取过程。
5.设备管理在磁盘管理部分,涉及的考点有数据传输控制方式(常见的4种)、虚拟设备与SPOOLING技术(重点)。
46 软件设计师考试冲刺(习题与解答)
6.文件管理在磁盘管理部分,涉及的考点有目录结构、绝对路径、相对路径、位示图(重点)、索引文件。
3.2强化练习 试题1以下描述中,不正确的是
(1)。
(1)
A.固定分区支持多道程序设计,算法简单,但存储器碎片多
B.可重定位分区能消除碎片,但用于存储器紧缩处理的时间长
C.分页式存储允许动态链接和装入,能消除碎片,支持虚拟存储
D.分页式存储支持虚拟存储,但不能以自然的方式提供存储器的共享和存取保护机制 试题2从静态角度看,进程由程序段、进程控制块(PCB)和数据空间三部分组成。
通常, 用户进程被建立后,
(2)。
(2)
A.便一直存在于系统中,直到被操作人员撤销
B.随着作业运行正常或不正常结束而撤销
C.随着时间片轮转而撤销与建立
D.随着进程的阻塞或唤醒而撤销与建立 例题3从下列给出的4个叙述中,正确是
(3)。
(3)
A.唤醒:就绪→运行
B.超时:运行→挂起
C.用户进程可激发调度进程
D.进程具有引用局部性时,可降低页面出错的频率 例题4以下关于进程和程序的描述中,不正确的是
(4)。
(4)
A.进程是一个程序关于某个数据集的一次运行
B.进程是系统分配资源的基本单位,而程序不是
C.进程和程序是一种一一对应的关系
D.一个程序可以包含多个进程 例题5在一单处理机系统中,若有8个用户进程,在非管态的某一时刻,处于就绪状态的 用户进程最多、最少分别有
(5)个。
第3章操作系统 47
(5)A.8和
0 B.7和
0 C.8和
1 D.7和
1 例题
6 在有一台处理机CPU和两台输入/输出设备IO1和IO2,且能够实现抢先式多任务并 行工作的多道程序内,投入运行优先级由高到低P1,P2,P3三个作业。
它们使用设备的 先后顺序和占用设备时间分别是: 作业P1:IO2(30ms),CPU(10ms),IO1(30ms),CPU(10ms)。
作业P2:IO1(20ms),CPU(20ms),IO2(40ms)。
作业P3:CPU(30ms),IO1(20ms)。
在对于其他辅助操作时间可以忽略不计的假设下,作业P1,P2,P3从投入到完成, CPU的空闲时长为
(6)。
假定在系统中仅有这三个作业投入运行。
(6)A.10 B.20 C.30 D.40 例题
7 操作系统的主要作用是
(7)。
(7)
A.管理设备
B.提供操作命令
C.管理文件
D.为用户提供使用计算机的接口,管理计算机的资源 例题
8 如果分时系统的时间片一定,那么
(8)则响应时间越长。
(8)
A.用户数越多
B.用户数越少
C.内存越小
D.内存越大 例题
9 在一段时间内,只允许一个进程访问的资源称为
(9)。
(9)
A.共享资源
B.独占资源
C.临界资源
D.共享区 例题10 下述(10)不属于多道程序运行的特征。
(10)
A.多道
B.运行速度快
C.宏观上并行
D.实际上多道程序是穿插运行的 例题11 (11)调度算法有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业(进程)。
(11)
A.时间片轮转调度算法
B.先来先服务调度算法 48 软件设计师考试冲刺(习题与解答)
C.短作业(进程)优先算法
D.优先权调度算法 例题12 若信号量的初值为
2,当前值为负
3,则表示有(12)个等待进程。
(12)A.
1 B.
2 C.
3 D.
5 例题13 某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印 机。
该系统可能会发生死锁的K的最小值是(13)。
(13)A.
2 B.
3 C.
4 D.
5 例题14 进程间的同步是指进程间在逻辑上的相互(14)关系。
(14)
A.联接
B.制约
C.继续
D.调用 例题15 某仓库有两名发货员,一名审核员。
当顾客提货时,只要发货员空闲,允许顾客进 入仓库提货,顾客离开时,审核员检验顾客提货是否正确。
其工作流程如图3-1所示。
为了利用PV操作正确地协调他们之间的工作,设置了两个信号量S1和S2,且S1的初值 为
2,S2的初值为
1。
图中的a、b、c和d应分别填写(15)。
顾客进程i(i1,
2,…,n) 进入仓库 a在仓库提货 bc 检验 d顾客离开仓库 图3-1工作流程示意图 (15)
A.P(S1)、P(S2)、V(S2)和V(S1)
B.P(S2)、P(S1)、V(S1)和V(S2)
C.P(S1)、V(S1)、P(S2)和V(S2)
D.P(S1)、V(S2)、P(S1)和V(S1) 例题16进程P1、P2、P3和P4的前趋图如图3-2所示: 第3章操作系统 49 图3-2前趋图 若用PV操作控制进程P1~P4并发执行的过程,则需要设置4个信号S1、S2、S3和S4,且信号量S1-S4的初值都等于零。
图3-3中a、b、c、d处应分别填写(16)。
图3-3各进程流程图 (16)
A.V(S1)V(S2)、V(S4)、P(S2)和P(S3)、P(S4)
B.V(S1)V(S2)、V(S4)、P(S3)和P(S2)、P(S4)
C.V(S1)V(S4)、V(S2)、P(S2)和P(S3)、P(S4)
D.V(S1)V(S4)、V(S2)、P(S3)和P(S2)、P(S4) 例题17 使用Spooling系统的目的是为了提高(17)的使用效率。
(17)
A.操作系统
B.内存
C.CPU
D.I/O设备 例题18 某软盘有100个磁道,磁头从一个磁道移至另一个磁道需要2ms。
文件在磁盘上非 连续存放,逻辑上相邻数据块的平均距离为20个磁道,每块的旋转延迟时间及传输时间 分别为50ms和10ms,则读取一个10块的文件需要(18)时间。
A.1000ms B.1200ms C.1400ms D.2000ms 例题19 假设系统中有三类互斥资源R1,R2,R3,可用资源数分别是9,8,
5。
在T0时刻系 统中有P1,P2,P3,P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如 表3-1所示,如果进程按(19)序列执行,那么系统状态是安全的。
50 软件设计师考试冲刺(习题与解答) 进程 P1P2P3P4P5 资源 表3-1进程资源表 最大需求量 R1 R2 R3
6 5
2 2
2 1
8 0
1 1
2 1
3 4
4 已分配资源数 R1 R2 R3
1 2
1 2
1 1
2 1
0 1
2 0
1 1
3 (19)
A.P1P2P4P5P3
B.P2P1P4P5P3
C.P2P4P5P1P3
D.P4P2P4P1P3 例题20 通过撤销进程可以进行死锁恢复,还可以采用(20)方法解除死锁。
(20)
A.阻塞进程
B.资源剥夺
C.提高进程优先级
D.降低进程优先级 例题21 虚拟内存是(21)。
(21)
A.可提高计算机运算速度的设备
B.容量扩大了的主存实际空间
C.通过SPOOLING技术实现的
D.可以容纳总和超过主存容量的多个作业同时运行的一个地址空间 例题22 在分页式虚拟存储管理系统中,页面的大小与可能产生的缺页中断次数的关系 是(22)。
(22)
A.页面的大小与缺页中断次数成正比
B.页面越大,则缺页中断次数就越低
C.页面越大,则缺页中断次数就越高
D.页面的大小与缺页中断次数是一个固定的比值 例题23 假设磁头当前位于第105道,正在向磁道序号增加的方向移动。
现有一个磁道访问 请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法 得到的磁道访问序列是(23)。
(23)A.110,170,180,195,68,45,35,12 B.110,68,45,35,12,170,180,195 C.110,170,180,195,12,35,45,68 D.12,35,45,68,110,170,180,195 第3章操作系统 51 例题24 设备与CPU之间数据传送控制方式有4种,下面的选项中不属于这4种的 是(24)。
(24)
A.程序直接控制方式
B.设备控制方式
C.直接内存访问(DMA)方式
D.通道控制方式 例题25 设文件索引结点中有7个地址项,其中4个地址项为直接地址索引,2个地址项是 一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4字节,若磁 盘索引块和磁盘数据块大小均为256字节,则可表示的单个文件最大长度是(25)。
(25)A.33KB B.519KB C.1057KB D.16513KB 例题26 设置当前目录的主要原因是(26)。
(26)
A.节省主存空间
B.加快文件查找速度
C.节省辅存空间
D.便于打开文件 例题27 在页式存储器管理中,页表内容如表3-2所示。
若页的大小为2K,则地址转换机构 将逻辑地址9888转换成的物理地址为(27)。
逻辑页号 012345 表3-2页表内容 物理页号 2568311 (27)A.20485例题28 B.7840 C.18080 D.13984 某文件管理系统为了记录磁盘的使用情况,在磁盘上建立了位示图(bitmap)。
若系 统中字长为32位,磁盘上的物理块依次编号为:0,1,
2,…,那么6912号物理块的使 用情况在位示图中的第(28)个字中描述。
(28)A.216 B.217 C.432 D.433 例题29 某系统采用请求页式存储管理方案,假设某进程有6个页面,系统给该进程分配了 3个存储块,其页面变换表如表3-3所示,表中的状态位等于1/0分别表示页面在内存/ 52 软件设计师考试冲刺(习题与解答) 不在内存。
当该进程访问的页面1不在内存时,应该淘汰表中页号为(29)的页面。
表3-3页面变换表 页号 页帧号 状态位 访问位 修改位
0 5
1 1
1 1 -
0 0
0 2 -
0 0
0 3
2 1
1 0
4 -
0 0
0 5 12
1 1
1 (29)A.
0 B.
3 C.
4 D.
5 例题30 某进程页面访问序列为4,2,3,1,2,4,5,3,1,2,3,
5,且开始执行时内存 中没有页面,分配给该进程的物理块数是
3,则采用FIFO页面置换算法和采用LRU(最 近最久未使用)页面置换算法时的缺页率分别是(30)。
(30)A.75%和75% B.75%和83% C.83%和83% D.83%和75% 3.3习题解答 例题1分析此题考查存储管理方面的知识点,侧重各种存储管理方法的优缺点。
要正确解答此 题,必须把这些存储管理方法的特点搞清楚。
下面逐一分析各种存储方式。
(1)连续分区把所有用户区都分配给唯一的用户作业,当作业被调度时,进程全部 进入内存,一旦完成,所有主存恢复空闲,因此它不支持多道程序设计。
(2)固定分区存储管理。
这是支持多道程序设计的最简单存储管理方法,它把主存 划分成若干个固定的和大小不同的分区,每个分区能够装入一个作业,分区的大小是固定的,算法简单,但是容易生成较多的存储器碎片。
(3)可重定位分区存储管理。
这是克服固定分区碎片问题的一种存储分配方法,它能够把相邻的空闲存储空间合并成一个完整的空区,还能够整理存储器内各个作业的存储位置,以达到消除存储碎片和紧缩存储空间的目的。
紧缩工作需要花费大量的时间和系统资源。
(4)非请求分页式存储管理。
非请求分页式是将存储空间和作业的地址空间分成若干个等分部分的分页式,要求把进程所需要的页面全部调入主存后作业方能运行。
因此,当内存可用空间小于作业所需的地址空间时,作业无法运行。
它克服了分区存储管理中 第3章操作系统 53 碎片多和紧缩处理时间长的缺点,支持多道程序设计,但不支持虚拟存储。
(5)请求分页式存储管理。
非请求分页式是将存储空间和作业的地址空间分成若干 个等分部分的分页式,当进程需要用到某个页面时将该页面调入主存,把那些暂时无关的页面留在主存外。
它支持虚拟存储,克服了分区存储管理中碎片多和紧缩处理时间长的缺点,支持多道程序设计,但是它不能实现对最自然的以段为单位的共享与存储保护(因为程序通常是以段为单位划分的,所以以段为单位最自然)。
(6)段页式存储管理。
这是分段式和分页式结合的存储管理方法,充分利用了分段管理和分页管理的优点。
作业按逻辑结构分段,段内分页,内存分块。
作业只需部分页装入即可运行,所以支持虚拟存储,可实现动态链接和装配。
例题1答案
(1)C试题2分析 本题主要考核进程管理的基本概念、进程控制及作业管理与进程管理的关系等知识点。
进程是操作系统中可以并发运行和分配系统资源的基本单位。
进程是运行中的程序,是程序在某个数据集合上的一次执行过程,具有并发性和动态性。
从静态的角度看,进程实体是由进程控制块(PCB)、程序段和数据空间等三部分组成的。
从进程的运行来看,进程可并发运行程序在其数据集合上的运行过程。
进程控制是通过进程控制原语来实现的。
用户可以通过系统调用接口调用进程控制原语实现进程的建立与撤销、阻塞与唤醒等控制。
但是,进程的控制通常是由系统自动完成的,这就是用户作业管理的功能。
作业管理通过三级调度(作业、均衡、进程)实现用户进程的创建与撤销等控制。
时间片轮转、阻塞或唤醒只会引起进程的状态改变,而不能控制进程的产生与终止。
运行的进程会随着作业运行正常或不正常结束而撤销。
例题2答案
(2)B试题3分析 进程就是系统进行分配和调度的最小单位。
它有三种基本状态。
就绪状态:进程已得到运行所需资源,只等待CPU的调度便可运行。
运行状态:进程已得到运行所需资源,并且得到了CPU的调度。
挂起状态:不具备运行条件、等待时机的状态。
进程的状态是可变化的,其变化如图3-4所示。
就绪→运行的条件是被调度程序选中。
运行→就绪的条件是时间片到了(超时),或被更高优先级的进程剥夺。
运行→挂起的条件是不具备运行条件,等待某一事件的发生。
54 软件设计师考试冲刺(习题与解答) 时间片到 调度 运行 等待某个事件 就绪 挂起 等待事件发生 图3-4进程状态转换图 挂起→就绪的条件是等待的事件已发生,具备了运行条件。
从图中可以看出,在状态转换中不能由挂起态直接进入运行态,也不能由就绪态进入挂起态。
操作系统对存储的管理主要是对内存的分配、保护和扩充。
内存分配管理办法之一就是分页式管理。
由于分配的内存太低,页面淘汰算法选择不当或程序存储空间跨度太大等原因,可能引起页面缺页率的增加,故D正确。
试题3答案
(3)D试题4分析本题考查进程与程序的区别。
程序是一个在时间上按严格次序顺序执行的操作序列。
进程是一个程序关于某个数据集的一次运行,是系统进行资源分配和调度的基本单位。
也就是说,进程是运行中的程序,是程序的一次运行活动。
相对于程序,进程是一个动态的概念,而程序是静态的概念,是指令的集合。
因此,进程具有动态性和并发性。
同时进程是系统进行资源分配和独立运行的基本单位。
而进程和程序并不是一一对应的关系,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。
而程序无法做到,由于程序没有和数据产生直接的联系,即使是执行不同的数据的程序,他们的指令的集合依然是一样的。
所以,一个进程肯定有一个与之对应的程序,而且只有一个。
而一个程序有可能没有与之对应的进程(没执行),也有可能有多个进程与之对应。
另外,要理解进程这个概念,还应掌握以下几个方面的内容。
(1)为什么要引入进程。
引入进程是为了使内存中的多道程序能够正确地并发执行。
(2)进程具有哪些基本特征。
进程具有动态性、并发性、独立性、异步性和结构特征。
(3)进程有哪些基本状态。
进程具有就绪、执行和阻塞三种基本状态,现代操作系统中还加入了挂起状态。
试题4答案
(4)
C 第3章操作系统 55 试题5分析 处理机有两个状态,一个是管态,即系统态,另一个是非管态,即目态或用户态。
当CPU处理系统程序的时候,CPU会转为管态,CPU在管态下可以执行指令系统的全 集,包括特权指令与非特权指令;当CPU处理一般用户程序的时候,CPU的状态又由 原来的管态转为目态,这个时候程序只能执行非特权指令。
在一个单处理机中,处理器只有一个,非管态(即用户进程执行状态)的某一时刻, 处于运行态的进程最多只有一个,系统中处于就绪态或阻塞的进程可能有多个,这样处 于就绪态的进程数最多只能是进程总数减
1,本题为8–1=
7,因此最多可以有8个就绪 进程。
如果除了运行态的一个进程外,其余进程均处于阻塞态,则就绪态进程个数为
0。
试题5答案
(5)
B 试题6分析 在多任务系统中,多任务在宏观上是并行的,微观上是串行的。
从宏观上看,多任 务并行使用系统资源(如处理器、I/O设备);微观上,大部分资源是在串行地为这些任 务服务。
因此,系统必须进行调度,使系统资源有效合理地为任务提供服务。
调度的算 法有先来先服务法、优先数法、短作业优先法、响应比高者优先法等。
优先数法调度时, 根据作业的优先级别,级别高者先调度。
在抢先式多任务系统中,CPU是可抢先的,即 任何时刻CPU总是分配给需要CPU的优先级最高的作业。
根据题意,P1,P2,P3的运行优先级由高到低,在抢先式并行工作方式下,作业的 执行时序图如图3-5所示。
CPUP3P2P1P2P3 P1 IO1P2 P1 P3 IO2 P1 P2 0102030405060708090100T(ms) 图3-5作业执行时序图 有些考生不能理解此图。
这个时序图应这么看:P1前30ms使用IO2,所以时序图中,IO2第一段30ms标记为P1。
P2前20ms使用IO1,IO1第一段20ms标记为P2;P3前20ms使用CPU,CPU第一段20ms标记为P3;还有一点要注意,CPU资源是可以抢占的,从30~40看得出来,P2本来要用20msCPU,但还只用了10ms就被P1抢去了。
所以从图中可知,三个作业从投入到完成总的运行时间为90ms。
CPU,IO1,IO2的有效工作时间均为70ms,因此CPU有20ms时间是空闲的。
56 软件设计师考试冲刺(习题与解答) 试题6答案
(6)
B 试题7分析操作系统是计算机系统中最重要、最基本的系统软件,位于硬件和用户之间,一方 面,它能向用户提供接口,方便用户使用计算机;另一方面,它能管理计算机软硬件资源,以便合理充分地利用它们。
操作系统应具有以下几个主要功能。
(1)处理机管理:对处理器的管理可以归结为对进程和线程的管理,包括:进程控制和管理;进程同步和互斥;进程通信;进程死锁;处理器调度,又分高级调度,中级调度,低级调度等;线程控制和管理。
(2)存储管理:存储管理的主要任务是管理存储器资源,为多道程序运行提供有力的支撑。
存储管理的主要功能包括:存储分配;存储共享;存储保护;存储扩充。
(3)设备管理:设备管理的主要任务是管理各类外围设备,完成用户提出的I/O请求,加快I/O信息的传送速度,发挥I/O设备的并行性,提高I/O设备的利用率;设备管理应该具有以下功能:提供外围设备的控制与处理;提供缓冲区的管理;提供外围设备的分配;提供共享型外围设备的驱动;实现虚拟设备。
(4)文件管理:上述三种管理是针对计算机硬件资源的管理。
文件管理则是对系统的信息资源的管理。
文件管理要完成以下任务:提供文件逻辑组织方法;提供文件物理组织方法;提供文件的存取方法;提供文件的使用方法;实现文件的目录管理;实现文件的存取控制;实现文件的存储空间管理。
(5)网络与通信管理:联网操作系统至少应具有以下管理功能:网上资源管理功能;数据通信管理功能;网络管理功能。
(6)用户接口:为了使用户能灵活、方便地使用计算机和操作系统,操作系统还提供了一组友好的用户接口,包括程序接口,命令接口,图形接口等。
试题7答案
(7)D试题8分析 分时操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。
用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
用户根据上步结果发出下道命。
分时操作系统将CPU的时间划分成若干个片段,称为时间片。
操作系统以时间片为单位,轮流为每个终端用户服务。
每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。
分时系统具有多路性、交互性、“独占”性和及时性的特征。
多路性指,同时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。
交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。
“独占”性是指,用户感觉不到计算机为其他人服务,就 第3章操作系统 57 像整个系统为他所独占。
及时性指,系统对用户提出的请求及时响应。
响应时间指用户从提交到调度运行所需时间,用户多则轮到执行的时间就会往后延 长。
因此,如果时间片一定,那么用户数越多,则响应时间越长。
分时系统的响应时间T可以表达为T≈Q×
N,其中Q是时间片,而N是用户数。
当时间片一定,用户数越多(即N越大),T就越大。
试题8答案
(8)A试题9分析 系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个进程(线程)使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程(线程)访问该资源。
为此,当一个进程A访问某资源时,必须先提出请求,如果此时该资源空闲,系统便可将之分配给请求进程A使用,此后若再有其他进程也要访问该资源时(只要A未用完)则必须等待。
仅当A进程访问完并释放该资源后,才允许另一进程对该资源进行访问。
把这种资源共享方式称为互斥式共享,而把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。
计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源,它们要求被互斥地共享。
试题9答案
(9)C试题10分析 多道程序技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。
多道程序的运行特征: 多道:计算机内存中同时存放多道相互独立的程序。
宏观上并行:同时进入系统的几道程序都处于运行状态,但都未运行结束。
微观上串行运行:各作业交替使用CPU。
试题10分析(10)B例题11分析目前存在着多种调度算法,有的算法适合作业调度;有的算法适用于进程调度;但也有些调度算法,既可用于作业调度,也可用于进程调度。
其中,先来先服务(FCFS)调度算法是一种最简单的调度算法。
当在作业调度中采用该算法时,每次调度是从后备作业队列中,选择一个或多个最先进入该队列的作用,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。
在进程调度中,采用FCFS调度算法时,则每次调度就是从就绪队列中选择一个最先进入该队列的进程,把处理机分配给它,使之投入运行。
该进程一直运行到完成或发 58 软件设计师考试冲刺(习题与解答) 生某事件而阻塞后,才放弃处理机。
FCFS算法比较有利于长作业(进程),而不利于短作业(进程),表3-4所示为
A、 B、
C、D四个作业分别到达系统的时间、要求服务的时间、开始执行时间及各自的完成时间,并计算各自的周转时间和带权周转时间。
进程名ABCD 到达时间0123 服务时间1 1001100 表3-4四个作业情况表 开始执行时间完成时间
0 1
1 101 101 102 102 202 周转时间1 100100199 带权周转时间11100 1.99 从表3-4中可以看出,其中短作业C的带权周转时间竟高达100,而长作业D的带权周转时间仅为1.99。
由此可见,FCFS调度算法有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业(进程)。
CPU繁忙型作业,是指该类作业需要大量的CPU时间进行计算,而很少请求I/O。
通常的科学计算便属于CPU繁忙型作业。
I/O繁忙型作业是指CPU进行处理时,又需频繁地请求I/O,而每次I/O的操作时间却很短,目前大多数的事物处理,都属于I/O繁忙型作业。
可以通过一个例子来说明采用FCFS调度算法的调度性能,表3-5中有5个进程
A、B、
C、D和
E,它们到达的时间分别是0、1、2、3和
4,所要求的服务时间分别是4、3、5、2和
4,由表中还可以看出,
A、B、
C、D和E的完成时间分别是4、7、12、14和18,从每个进程的完成时间中减去其到达时间,即得到每个进程的周转时间,进而可以算出每个进程的带权周转时间。
表3-5FCFS调度算法性能 作业情况调度算法FCFS 进程名称到达时间服务时间完成时间周转时间带权周转时间
A B
C D
E 平均
0 1
2 3
4 4
3 5
2 4
4 7 12 14 18
4 6 10 11 14
9 1
2 2 5.5 3.5 2.8 例题11答案(11)
B 例题12分析当信号量控制互斥问题时,其初值往往代表资源的个数。
本题初值为
2,说明该种 资源数量2个。
当进程将2个资源全部占有之后,信号量值减至
0,此时若再有进程要 第3章操作系统 59 求申请该资源,则必须在此信号量上等待,具体表现为:将信号量的值减1,导致信号量的取值为负。
此时有几个进程申请该资源,信号量便被减几次;因此S的值为负
3,则表示有3个进程在等待该资源。
例题12答案 (12)C试题13分析 发生死锁的现象就是占有并等待,并且等待的资源不会被释放。
可假设死锁已发生,进而讨论进程个数。
肯定发生死锁的最小进程数是这样得到的:假设K个进程,每个进程需要M个资源,而每个进程已占有M–1个,都在等待最后一个资源,于是死锁发生;此时,只要再多一个资源,死锁便可解除,K便是所求值。
根据题目条件,M=
3,K×(M–1)=
8,得K=
4。
试题13答案 (13)C例题14分析 某些进程为完成同一任务需要分工协作,由于合作的每一个进程都是独立地以不可预知的速度推进,这就需要相互协作的进程在某些协调点上协调各自的工作。
为了解决进程间协作关系(直接制约关系),因此引入了进程同步。
进程同步主要源于进程合作,是进程间共同完成一项任务时,直接发生相互作用的关系,为进程之间的直接制约关系。
在多道环境下,这种进程间在执行次序上的协调是必不可少的。
进程互斥主要源于资源共享,是进程之间的间接制约关系。
在多道系统中,进程互斥就是保证每次只有一个进程使用临界资源。
例题14答案 (14)B试题15分析 首先要理解好PV操作的含义。
假设信号量为sem,则P原语的主要操作是:
(1)Sem减
1。
(2)若Sem减1后仍大于或等于零,则该进程继续执行。
(3)若Sem减1后小于零,则该进程被阻塞,在相应队列中排队,然后转向系统的进程调度。
V原语的主要操作是:
(1)Sem加
1。
(2)若相加结果大于零,则进程继续执行。
(3)若相加结果小于或等于零,则唤醒一阻塞在该信号量上的进程,然后再返回原 60 软件设计师考试冲刺(习题与解答) 进程继续执行或转进程调度。
当信号量S小于0时,其绝对值表示系统中因请求该类资源未被满足而被阻塞的进 程数目,S大于0时表示可用的临界资源数。
对于V操作有一些说明,以纠正理解偏差。
Sem大于0时表示有临界资源可供使用,而且这个时候没有进程被阻塞在这个资源 上,也就是说,没有进程因为得不到这类资源而阻塞,所以没有被阻塞的进程,自然不需要唤醒。
有人可能会问:当Sem小于0时表明没有临界资源可供使用,为什么还要唤醒进程?这是因为V原语操作的本质在于:一个进程使用完临界资源后,释放临界资源,使Sem加
1,以通知其他的进程,这个时候如果Sem<
0,则表明有进程阻塞在该类资源上,因此要从阻塞队列里唤醒一个进程来“转手”该类资源。
比如,有2个某类资源,4个进程
A、B、
C、D要用该类资源,最开始Sem=
2,当A进入时Sem=1;当B进入时Sem=
0,表明该类资源刚好用完,当C进入时Sem=
1,表明有一个进程被阻塞了;当D进入时Sem=
2。
当A用完该类资源时,进行V操作,Sem=
1,释放该类资源,而这时Sem<
0,表明有进程阻塞在该类资源上,于是唤醒一个。
有了上述对PV操作的正确理解,那这道题就很好解决了。
S1的初值为
2,显然表明最开始有两个“发货员”这种资源,当顾客去提货时要用去一个这样的资源,于是a显然填P(S1)。
当提货完了之后,顾客进程要释放“发货员”资源,于是b显然填V(S1)。
从图中可以看出,接着审核员要审核提货是否正确;同理,顾客要用去一个“审核员”资源,于是c应该填P(S2)。
最后,d显然填V(S2)了。
值得一提的是,很多考生记不清是P操作加1还是V操作加
1,这里给大家提供一个小窍门。
大家看字母“V”,从下往上看其水平宽度是逐渐变大的,这“表明”V操作是对信号量进行加1操作。
试题15答案(15)C试题16分析本题主要考查用PV操作控制进程的并发执行。
首先需要弄清楚前驱图中给出的各进制的执行顺序。
从图中不难看出进程P1没有前驱,也就是可以首先并发执行,而进程P2的前驱是P1,进程P3的前驱是P2,P4的前驱是P1和P3。
那么怎么理解前驱呢?其实前驱就是指只有在前驱进程完成后,该进程才能开始执行。
在本题的前驱图中不难看出,有4条路径,分别是P1→P2,P1→P4,P2→P3,P3→P4。
而且题目也告诉我们分别有4初值为0个信号量(S1-S4),要用PV操作来控制进程P1~P4的并发执行。
对于这类试题,笔者提醒大家要注意:一条路径对应一个信号量,在路径的源端进程中,应该对与该路径对应的信号量做V操作,而在路径的终端进程中,应该对与该路径对应的信号量做P操作。
下面具体来求解这个题目。
a空处,是在进程P1执行完成以后,那么根据题目的前 第3章操作系统 61 驱图我们可以知道,这个时候它应该唤醒它的后继进程P2和P4,因此需要执行两个V操作,同样的道理,b空处也需要执行一个V操作。
又由于进程P2在执行前对信号量S1进行了P操作,根据图可知,P1→P2的路径对应信号量S1。
至于C空处,它是在进程P3执行前进行的处理。
根据前驱的意义,可以知道执行P3要在P2完成后,因此这个时候,它首先需要判断P2进程是否完成,如果完成的话,会分别执行唤醒P3的V操作(换句话说就是会给相应的信号量进行加1操作),那么这时也可以通过同样的信号量来判断,即对相应的信号量进行减1操作,判断它是否大于
0,如果大于等于
0,则执行P3。
结合题目给出的答案来看,这个信号量应该是S2。
那么执行完P3后,它也需要唤醒它的后继进程P4,因此执行V(S3)操作。
同样的道理,可知D空处应该是两个P操作,其操作的信号量分别是S3和S4。
综上所述,可以知道本题的答案选
C。
其实做这类题也不难,首先需要对PV操作要有一个透彻的理解,另外就是能分析出题目各路径对应的信号量。
试题16答案 (16)C试题17答案 SPOOLing技术是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”,其核心思想是以联机的方式得到脱机的效果。
低速设备经通道和设在主机内存的缓冲存储器与高速设备相联,该高速设备通常是辅存。
为了存放从低速设备上输入的信息,或存放将要输出到低速设备上的信息(来自内存),在辅存分别开辟一固定区域,叫“输出井”(对输出),或“输入井”(对输入)。
简单来说就是在内存中形成缓冲区,在高级设备形成输出井和输入井,传递的时候,从低速设备传入缓冲区,再传到高速设备的输入井,再从高速设备的输出井,传到缓冲区,再传到低速设备。
SPOOling技术也是一种用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,其目的是为了提高I/O设备的利用率以及使独占设备共享化。
试题17答案 (17)D试题18分析 本题主要考查从磁盘读取数据的过程。
从磁盘存取数据,主要包括三个部分的时间,其分别是寻道时间、定位时间(旋转延迟)和传输时间,其中后两个又统称为等待时间。
寻道时间也称为查找时间,为磁头移动到目标磁道所需的时间,定位时间为等待读写的扇区旋转到磁头下方所用的时间,而传输时间就是读写数据所需要的时间。
在本题中,题目把每个数据都交代得很清楚了,只需根据其原理计算就能得出结论。
62 软件设计师考试冲刺(习题与解答) 由于逻辑上相邻数据块的平均距离为20个磁道,且磁头从一个磁道移至另一个磁道需要4ms,所以当磁头读完一个数据块再读另一个时,需要80ms的时间才能将磁头定位到目标磁道,定位到磁道后,需要旋转盘片,以查找需要的数据块。
题目已给出每块的旋转延迟时间及传输时间分别为50ms和10ms,所以读取10块的文件需要时间为 (4*20+50+10)*10=1400ms所以此题应选
C。
试题18答案(18)C试题19分析本题主要考查银行家算法,是考试中的一个重要考点。
所谓安全状态,是指系统能按某种进程顺序(P1,P2,…,Pn)为每个进程Pi分配其所需资源,直到满足每个进程对资源的最大需求,使每个进程都可以顺利完成。
如果无法找到这样的一个安全序列,则称系统处于不安全状态。
本题已经给出序列,只需将4个选项按其顺序执行一遍,便可以判断出现死锁的三个序列。
首先求剩下的资源数: R19(12211)2R28(21121)1R35(113)0由于R3已分配的资源为
0,系统不能再分配R3资源,所以不能一开始就运行需要分配R3资源的进程。
所以,A和D显然是不安全的。
其次,求序列P2→P4→P5→P1→P3是否安全。
进程运行分析如表3-6所示。
资源 进程 P2P4P5P1P3 WorkR1R2R3210421541654775 表3-6进程运行分析表 NeedR1R2R3010001231531601 AllocationR1R2R3211120113121210 WorkAllocationR1R2R3421541654775985 Finish TrueTrueTrueTrueTrue 显然,该序列是安全的。
最后,求序列P2→P4→P5→P1→P3是否安全。
进程运行分析如表3-7所示。
这时,发现进程P1需要R1资源为
5,我们能提供的R1资源为
4,所以序列无法进行下去,为不安全序列。
第3章操作系统 63 资源进程P2P1 WorkR1R2R3210421 表3-7进程运行分析表 NeedR1R2R3010531 AllocationR1R2R3211121 WorkAllocationR1R2R3421 FinishTrue 试题19答案(19)
C 试题20分析本题主要考查死锁的解决办法,其最主要的办法就是破坏死锁的条件。
死锁是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方 的资源之前不会释放自己所拥有的资源。
从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态。
产生死锁的根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数。
产生死锁有4个必要条件:
(1)互斥条件:即一个资源每次只能被一个进程使用,在操作系统中这是真实存在的情况。
(2)保持和等待条件:有一个进程已获得了一些资源,但因请求其他资源被阻塞时,对已获得的资源保持不放。
(3)不剥夺条件:有些系统资源是不可剥夺的,当某个进程已获得这种资源后,系统不能强行收回,只能由进程使用完时自己释放。
(4)环路等待条件:若干个进程形成环形链,每个都占用对方要申请的下一个资源。
解除死锁的方法就是要破坏死锁的条件,强行将死锁的进程撤销,其实本质上也是破坏死锁的条件(强行剥夺死锁进程的资源),在题目提供的4个选项中,资源剥夺法,是可以解除死锁的。
试题20答案(20)B试题21分析虚拟内存是利用操作系统本身的一个其容量比主存大得多的存储器,实际上是一个地址空间。
基于局部性原理,应用程序在运行之前并不必全部装入内存,仅需要将当前运行到的那部分程序和数据装入内存便可启动程序的运行,其余部分仍驻留在外存上。
当要执行的指令或访问的数据不在内存时,再由操作系统通过请求调入功能将它们调入内存,以使程序能继续执行。
如果此时内存已满,则还需通过置换功能,将内存中暂时不用的程序或数据调至盘上,腾出足够的内存空间后,再将要访问的程序或数据调入内 64 软件设计师考试冲刺(习题与解答) 存,使程序继续执行。
这样便可使一个大的用户程序能在较小的内存空间中运行,也可在内存中同时装入 更多的进程使它们并发执行。
从用户的角度看,该系统具有的内存容量比实际的内存容量大得多,将这种具有请求调入功能和置换功能,并能从逻辑上对内存容量加以扩充的存储器系统称为虚拟内存。
总而言之,虚拟内存实际上就是将内存和外存统一管理,虚拟内容的容量取决于计算机的地址结构和外存容量。
试题21答案 (21)D试题22分析 实现虚拟存储器能给用户提供一个容量很大的存储器,但当主存空间已装满而又要装入新页时,必须按一定的算法把已在主存的一些页调出去,这个工作称页面调度。
所以,页面调度算法实际上就是用来确定应该淘汰哪页的算法。
算法的选择是很重要的,选用了一个不适合的算法,就会出现这样的现象:刚被淘汰的页面又立即要用,因而又要把它调入,而调入不久再被淘汰,淘汰不久再被调入。
如此反复,使得整个系统的页面调度非常频繁以至于大部分时间都在来回调度上。
这种现象叫做“抖动”,又称“颠簸”,一个好的调度算法应减少和避免抖动现象。
为了衡量调度算法的优劣,考虑在固定空间的前提下来讨论各种页面调度算法。
这一类算法是假定每道作业都给固定数的主存空间,即每道作业占用的主存块数不允许页面调度算法加以改变。
在这样的假定下,怎样来衡量一个算法的好坏呢? 假定作业p共计n页,而系统分配给它的主存块只有m块(m、n均为正整数,且1≤m≤n),即最多只能容纳m页。
如果作业p在运行中成功的访问次数为S(即所访问的页在主存中),不成功的访问次数为F(即缺页中断次数),则总的访问次数A为: A=S+F又定义: f=F/A则称f为缺页中断率。
影响缺页中断率f的因素有:分配给作业的主存块数。
分配给作业的主存块数多,则缺页中断就低;反之,缺 页中断率就高。
页面的大小,如果划分的页面大,则缺页中断率就低,否则缺页中断率就高。
但 它们之间的关系不是简单的反比关系。
页面调度算法。
作业本身的程序编制方法。
程序编制的方法不同,对缺页中断的次数有很大影响。
试题22分析(22)
B 第3章操作系统 65 试题23分析本题主要考查磁盘调度算法。
常见的磁盘调度算法如下:
(1)先来先服务(FCFS)算法:它按照输入输出请求到达的顺序,逐一完成访问请 求,它只考虑请求访问者的先后次序,而不考虑它们要访问的物理位置。
(2)最短查找时间优先(SSTF)算法:先对最靠近当前柱面位置的请求进行服务, 即先对寻找时间最短的请求进行服务。
SSTF算法总是让寻找时间最短的那个请求先服务,而不管请求访问者到来的先后次序。
(3)C-SCAN算法:C-SCAN(Circular-SCAN)同SCAN算法一样,C-SCAN也将磁头从盘的一端移动到另一端,并在移动中对遇到的请求进行服务。
所不同的是当它到达另一端时,它马上折回到盘的开始端,然而不对返回路径上的任何请求服务。
(4)SCAN算法:读写头从盘的一端开始朝另一端移动,在移动中搜索每个磁道上的请求,若有则服务之,直至到达盘的另一端。
在另一端,磁头移动的方向是相反的,并继续在移动中扫描服务。
在本题中,采用SCAN算法,因此,当磁头从105道向序号增加的方向移动时,便会服务所有大于105的磁道号(从小到大的顺序);返回时又会按照从大到小的顺序进行服务。
试题23答案 (23)A试题24分析 设备与CPU之间数据传送控制方式有4种,它们是程序直接控制方式、中断控制方式、直接内存访问(DMA)方式和通道控制方式。
程序直接控制方式和中断方式都只适用于简单的、外设很少的计算机系统。
程序直接控制方式耗费大量的CPU时间,并无法检测发现设备或硬件产生的错误,而且设备和CPU、设备和设备只能串行工作。
中断控制方式虽然在某种程度上使CPU摆脱了等待I/O设备的空转现象,主机和外设可以并行工作,提高了主机的利用率,但由于中断次数多,每次中断都要作现场保护和恢复工作,系统开销较大,仍然要占用较多的CPU时间,而且,能够并行操作的设备台数也受到中断处理时间的限制。
DMA方式和通道控制方式采用了外设和内存直接交换数据的方式,解决了上述问题。
只有在一段数据传送结束时,才发出中断信号要求CPU做善后处理,从而大大减少了CPU的负担。
DMA方式与通道方式的区别在于,DMA方式要求CPU执行设备驱动程序启动设备,给出存放数据的内存起始地址以及操作方式和传送字节长度等。
而通道控制方式则是在CPU发出I/O启动命令后,由通道指令来完成这些工作。
试题24答案 (24)
B 66 软件设计师考试冲刺(习题与解答) 试题25分析本题主要考查对索引文件的理解。
索引文件既可以满足文件动态增长的要求,又可以方便而迅速地实现随机存取。
对 一些大的文件,当索引表的大小超过一个物理块时,会发生索引表的分配问题。
一般采用多级(间接索引)技术,这时在由索引表指出的物理块中存放的不是文件存放处而是存放文件信息的物理块地址。
这样,如果一个物理块能存储n个地址,则一级间接索引将使可寻址的文件长度变成n2块,对于更大的文件可以采用二级甚至三级间接索引。
根据试题给出的条件,可知表示的单个文件的最大长度为: 试题25答案4×256+2×(256/4)×256+1×(256/4)×(256/4)×256=1057KB(25)
C 试题26分析查找文件时,一次访问可能要经过若干次间接查询才能找到最终的文件。
如果目录 树很大而不能都放入内存,则不仅耗费查找时间,对I/O通道也增加了压力。
为此引进“当前目录”,用户欲访问某个文件时就不用给出全部路径,只需给出从当前目录到欲查找文件之间的相对路径名即可。
另外,需要了解从树根开始的路径为绝对路径。
试题26答案 (26)B试题27分析 本题主要考查逻辑地址向物理地址的转换。
对于这类题的求解,首先把握住首要条件,即页号和页内位移的取值(所占位数)。
该题的条件是页的大小为2KB即2的11次方,则页内位移为11位。
逻辑地址9888转换成二进制数是:10011010100000,取其低11位作为页内位移,剩余高位为页号,即逻辑页号的值为4(100),然后查表得出对应的页框号是
3,再用3(11)与页内位移合并,得出物理地址1111010100000,转换成十进制得7840。
试题27答案 (27)B试题28分析 位示图法是为管理磁盘空闲存储空间而提出的一种方法,该方法是在外存上建立一张位示图来记录文件存储器的使用情况。
每一位仅对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。
在本题中,题目告诉我们字长32位,即一个字可以表示32个物理块得使用情况,而物理块依次编号为0,1,
2,…,这里提醒大家注意:由于物理块是从0开始编号的,所以6912号物理块是第6913块。
6913/32=216.031,所以6913号物理块的使用情况在位示图中的第217个字中描述。
第3章操作系统 67 试题28答案(28)
B 试题29分析本题主要考查页式存储管理。
在分页存储管理时,将内存划分为大小相等的页面,每一页物理内存叫作页帧,以 页为单位对内存进行编号,该编号可作为页数组的索引,又称为页帧号。
在淘汰页面时,应该根据最近最久未被访问淘汰的原则,选择未被访问的页面淘汰,而如果所有页面都被访问过来,那么应该选择未被修改的页面淘汰,因为这里外存中与内存中页面内容一致,以避免数据重复传输。
在本题中,在内存的3个页面都有被访问,那么这个时候就要判断其修改位,从表中给出的内容,不难看出,3号页面未被修改,因此当该进程访问的页面1不在内存时,应该淘汰页号为3的页面。
试题29答案 (29)B试题30分析 本题主要考场页面置换算法。
在实际应用中,由于实际主存是小于虚存的,因此可能会发生内存中已满,但需要使用的页不在主存中这一情况。
这时就需要进行置换,即将一些主存中的页淘汰到外存,腾出空间给要使用的页,这个过程就是缺页中断。
常见的一些页面置换算法如下:最优算法(OPT):淘汰不用的或最远的将来才用的页。
这是一种理想算法,不可能实现,只是用来作为衡量算法效率的参照物。
随机算法(RAND):随机淘汰。
这种算法开销小,但性能不稳定。
先进先出算法(FIFO):选择最早调入(也是驻留时间最长)的页。
最近最少使用算法(LRU):选择离当前时刻最近的一段时间内使用得最少的页。
在本题中,页面置换过程如表3-8所示。
FIF0LRU 页面1页面2页面3缺页页面1页面2页面3缺页 表3-8页面置换分析表 423124531235444111133335 222244411113333555222 是是是是否是是是是是否是444111555222 222222333333334441115 是是是是否是是是是是否是 68 软件设计师考试冲刺(习题与解答) 缺页率=缺页次数/访问的页面数*100%。
对于这一类题目的解答,要把握三个要素:驻留集大小(进程可用的物理块数)、页面访问序列、采用何种算法。
同时也要注意开始 时的物理块中是否有页面存在,如果没有则初始页面的调入也应算做缺页中断,这一点要特别注意。
因此采用FIFO页面置换算法时缺页率为10/12*100%=83%。
采用LRU(最近最久未使用)页面置换算法时缺页率为10/12*100%=83%。
试题30答案 (30)
C
主要分数集中在进程状态转换图、信号量与PV操作、死锁问题、银行家算法、段页式存储、页面置换算法、磁盘调度算法、文件系统等这些知识点上。
3.1考点提炼 根据考试大纲,本章要求考生掌握以下几个方面的知识点。
操作系统的内核。
操作系统的5大管理功能:进程管理、存储管理、设备管理、文件管理、作业 管理。
网络操作系统和嵌入式操作系统基础知识。
操作系统的配置。
但结合历年考试真题来看,笔者认为,考生必须要掌握以下几个方面的内容:
1.操作系统基本知识在操作系统基本知识方面,涉及的考点有操作系统的分类、操作系统的作用、操作系统的内核、操作系统的配置。
2.进程管理在进程管理方面,涉及的考点有进程的概念、进程状态转换图(重点)、同步与互斥、信号量与PV操作(重点)、进程死锁(包括死锁的概念、条件和判定死锁)、银行家算法(重点)、进程调度算法。
3.存储管理在存储管理部分,涉及的考点有连续存储与非连续存储概念、页式存储、段式存储、段页式存储、程序局部性原理、页面置换算法(重点)、通过逻辑地址计算物理地址、随机存取、直接存取、顺序存取。
4.磁盘管理在磁盘管理部分,涉及的考点有磁盘的相关概念、磁道数计算、磁盘容量计算、磁盘调度算法(重点)、磁盘数据的存取过程。
5.设备管理在磁盘管理部分,涉及的考点有数据传输控制方式(常见的4种)、虚拟设备与SPOOLING技术(重点)。
46 软件设计师考试冲刺(习题与解答)
6.文件管理在磁盘管理部分,涉及的考点有目录结构、绝对路径、相对路径、位示图(重点)、索引文件。
3.2强化练习 试题1以下描述中,不正确的是
(1)。
(1)
A.固定分区支持多道程序设计,算法简单,但存储器碎片多
B.可重定位分区能消除碎片,但用于存储器紧缩处理的时间长
C.分页式存储允许动态链接和装入,能消除碎片,支持虚拟存储
D.分页式存储支持虚拟存储,但不能以自然的方式提供存储器的共享和存取保护机制 试题2从静态角度看,进程由程序段、进程控制块(PCB)和数据空间三部分组成。
通常, 用户进程被建立后,
(2)。
(2)
A.便一直存在于系统中,直到被操作人员撤销
B.随着作业运行正常或不正常结束而撤销
C.随着时间片轮转而撤销与建立
D.随着进程的阻塞或唤醒而撤销与建立 例题3从下列给出的4个叙述中,正确是
(3)。
(3)
A.唤醒:就绪→运行
B.超时:运行→挂起
C.用户进程可激发调度进程
D.进程具有引用局部性时,可降低页面出错的频率 例题4以下关于进程和程序的描述中,不正确的是
(4)。
(4)
A.进程是一个程序关于某个数据集的一次运行
B.进程是系统分配资源的基本单位,而程序不是
C.进程和程序是一种一一对应的关系
D.一个程序可以包含多个进程 例题5在一单处理机系统中,若有8个用户进程,在非管态的某一时刻,处于就绪状态的 用户进程最多、最少分别有
(5)个。
第3章操作系统 47
(5)A.8和
0 B.7和
0 C.8和
1 D.7和
1 例题
6 在有一台处理机CPU和两台输入/输出设备IO1和IO2,且能够实现抢先式多任务并 行工作的多道程序内,投入运行优先级由高到低P1,P2,P3三个作业。
它们使用设备的 先后顺序和占用设备时间分别是: 作业P1:IO2(30ms),CPU(10ms),IO1(30ms),CPU(10ms)。
作业P2:IO1(20ms),CPU(20ms),IO2(40ms)。
作业P3:CPU(30ms),IO1(20ms)。
在对于其他辅助操作时间可以忽略不计的假设下,作业P1,P2,P3从投入到完成, CPU的空闲时长为
(6)。
假定在系统中仅有这三个作业投入运行。
(6)A.10 B.20 C.30 D.40 例题
7 操作系统的主要作用是
(7)。
(7)
A.管理设备
B.提供操作命令
C.管理文件
D.为用户提供使用计算机的接口,管理计算机的资源 例题
8 如果分时系统的时间片一定,那么
(8)则响应时间越长。
(8)
A.用户数越多
B.用户数越少
C.内存越小
D.内存越大 例题
9 在一段时间内,只允许一个进程访问的资源称为
(9)。
(9)
A.共享资源
B.独占资源
C.临界资源
D.共享区 例题10 下述(10)不属于多道程序运行的特征。
(10)
A.多道
B.运行速度快
C.宏观上并行
D.实际上多道程序是穿插运行的 例题11 (11)调度算法有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业(进程)。
(11)
A.时间片轮转调度算法
B.先来先服务调度算法 48 软件设计师考试冲刺(习题与解答)
C.短作业(进程)优先算法
D.优先权调度算法 例题12 若信号量的初值为
2,当前值为负
3,则表示有(12)个等待进程。
(12)A.
1 B.
2 C.
3 D.
5 例题13 某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印 机。
该系统可能会发生死锁的K的最小值是(13)。
(13)A.
2 B.
3 C.
4 D.
5 例题14 进程间的同步是指进程间在逻辑上的相互(14)关系。
(14)
A.联接
B.制约
C.继续
D.调用 例题15 某仓库有两名发货员,一名审核员。
当顾客提货时,只要发货员空闲,允许顾客进 入仓库提货,顾客离开时,审核员检验顾客提货是否正确。
其工作流程如图3-1所示。
为了利用PV操作正确地协调他们之间的工作,设置了两个信号量S1和S2,且S1的初值 为
2,S2的初值为
1。
图中的a、b、c和d应分别填写(15)。
顾客进程i(i1,
2,…,n) 进入仓库 a在仓库提货 bc 检验 d顾客离开仓库 图3-1工作流程示意图 (15)
A.P(S1)、P(S2)、V(S2)和V(S1)
B.P(S2)、P(S1)、V(S1)和V(S2)
C.P(S1)、V(S1)、P(S2)和V(S2)
D.P(S1)、V(S2)、P(S1)和V(S1) 例题16进程P1、P2、P3和P4的前趋图如图3-2所示: 第3章操作系统 49 图3-2前趋图 若用PV操作控制进程P1~P4并发执行的过程,则需要设置4个信号S1、S2、S3和S4,且信号量S1-S4的初值都等于零。
图3-3中a、b、c、d处应分别填写(16)。
图3-3各进程流程图 (16)
A.V(S1)V(S2)、V(S4)、P(S2)和P(S3)、P(S4)
B.V(S1)V(S2)、V(S4)、P(S3)和P(S2)、P(S4)
C.V(S1)V(S4)、V(S2)、P(S2)和P(S3)、P(S4)
D.V(S1)V(S4)、V(S2)、P(S3)和P(S2)、P(S4) 例题17 使用Spooling系统的目的是为了提高(17)的使用效率。
(17)
A.操作系统
B.内存
C.CPU
D.I/O设备 例题18 某软盘有100个磁道,磁头从一个磁道移至另一个磁道需要2ms。
文件在磁盘上非 连续存放,逻辑上相邻数据块的平均距离为20个磁道,每块的旋转延迟时间及传输时间 分别为50ms和10ms,则读取一个10块的文件需要(18)时间。
A.1000ms B.1200ms C.1400ms D.2000ms 例题19 假设系统中有三类互斥资源R1,R2,R3,可用资源数分别是9,8,
5。
在T0时刻系 统中有P1,P2,P3,P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如 表3-1所示,如果进程按(19)序列执行,那么系统状态是安全的。
50 软件设计师考试冲刺(习题与解答) 进程 P1P2P3P4P5 资源 表3-1进程资源表 最大需求量 R1 R2 R3
6 5
2 2
2 1
8 0
1 1
2 1
3 4
4 已分配资源数 R1 R2 R3
1 2
1 2
1 1
2 1
0 1
2 0
1 1
3 (19)
A.P1P2P4P5P3
B.P2P1P4P5P3
C.P2P4P5P1P3
D.P4P2P4P1P3 例题20 通过撤销进程可以进行死锁恢复,还可以采用(20)方法解除死锁。
(20)
A.阻塞进程
B.资源剥夺
C.提高进程优先级
D.降低进程优先级 例题21 虚拟内存是(21)。
(21)
A.可提高计算机运算速度的设备
B.容量扩大了的主存实际空间
C.通过SPOOLING技术实现的
D.可以容纳总和超过主存容量的多个作业同时运行的一个地址空间 例题22 在分页式虚拟存储管理系统中,页面的大小与可能产生的缺页中断次数的关系 是(22)。
(22)
A.页面的大小与缺页中断次数成正比
B.页面越大,则缺页中断次数就越低
C.页面越大,则缺页中断次数就越高
D.页面的大小与缺页中断次数是一个固定的比值 例题23 假设磁头当前位于第105道,正在向磁道序号增加的方向移动。
现有一个磁道访问 请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法 得到的磁道访问序列是(23)。
(23)A.110,170,180,195,68,45,35,12 B.110,68,45,35,12,170,180,195 C.110,170,180,195,12,35,45,68 D.12,35,45,68,110,170,180,195 第3章操作系统 51 例题24 设备与CPU之间数据传送控制方式有4种,下面的选项中不属于这4种的 是(24)。
(24)
A.程序直接控制方式
B.设备控制方式
C.直接内存访问(DMA)方式
D.通道控制方式 例题25 设文件索引结点中有7个地址项,其中4个地址项为直接地址索引,2个地址项是 一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4字节,若磁 盘索引块和磁盘数据块大小均为256字节,则可表示的单个文件最大长度是(25)。
(25)A.33KB B.519KB C.1057KB D.16513KB 例题26 设置当前目录的主要原因是(26)。
(26)
A.节省主存空间
B.加快文件查找速度
C.节省辅存空间
D.便于打开文件 例题27 在页式存储器管理中,页表内容如表3-2所示。
若页的大小为2K,则地址转换机构 将逻辑地址9888转换成的物理地址为(27)。
逻辑页号 012345 表3-2页表内容 物理页号 2568311 (27)A.20485例题28 B.7840 C.18080 D.13984 某文件管理系统为了记录磁盘的使用情况,在磁盘上建立了位示图(bitmap)。
若系 统中字长为32位,磁盘上的物理块依次编号为:0,1,
2,…,那么6912号物理块的使 用情况在位示图中的第(28)个字中描述。
(28)A.216 B.217 C.432 D.433 例题29 某系统采用请求页式存储管理方案,假设某进程有6个页面,系统给该进程分配了 3个存储块,其页面变换表如表3-3所示,表中的状态位等于1/0分别表示页面在内存/ 52 软件设计师考试冲刺(习题与解答) 不在内存。
当该进程访问的页面1不在内存时,应该淘汰表中页号为(29)的页面。
表3-3页面变换表 页号 页帧号 状态位 访问位 修改位
0 5
1 1
1 1 -
0 0
0 2 -
0 0
0 3
2 1
1 0
4 -
0 0
0 5 12
1 1
1 (29)A.
0 B.
3 C.
4 D.
5 例题30 某进程页面访问序列为4,2,3,1,2,4,5,3,1,2,3,
5,且开始执行时内存 中没有页面,分配给该进程的物理块数是
3,则采用FIFO页面置换算法和采用LRU(最 近最久未使用)页面置换算法时的缺页率分别是(30)。
(30)A.75%和75% B.75%和83% C.83%和83% D.83%和75% 3.3习题解答 例题1分析此题考查存储管理方面的知识点,侧重各种存储管理方法的优缺点。
要正确解答此 题,必须把这些存储管理方法的特点搞清楚。
下面逐一分析各种存储方式。
(1)连续分区把所有用户区都分配给唯一的用户作业,当作业被调度时,进程全部 进入内存,一旦完成,所有主存恢复空闲,因此它不支持多道程序设计。
(2)固定分区存储管理。
这是支持多道程序设计的最简单存储管理方法,它把主存 划分成若干个固定的和大小不同的分区,每个分区能够装入一个作业,分区的大小是固定的,算法简单,但是容易生成较多的存储器碎片。
(3)可重定位分区存储管理。
这是克服固定分区碎片问题的一种存储分配方法,它能够把相邻的空闲存储空间合并成一个完整的空区,还能够整理存储器内各个作业的存储位置,以达到消除存储碎片和紧缩存储空间的目的。
紧缩工作需要花费大量的时间和系统资源。
(4)非请求分页式存储管理。
非请求分页式是将存储空间和作业的地址空间分成若干个等分部分的分页式,要求把进程所需要的页面全部调入主存后作业方能运行。
因此,当内存可用空间小于作业所需的地址空间时,作业无法运行。
它克服了分区存储管理中 第3章操作系统 53 碎片多和紧缩处理时间长的缺点,支持多道程序设计,但不支持虚拟存储。
(5)请求分页式存储管理。
非请求分页式是将存储空间和作业的地址空间分成若干 个等分部分的分页式,当进程需要用到某个页面时将该页面调入主存,把那些暂时无关的页面留在主存外。
它支持虚拟存储,克服了分区存储管理中碎片多和紧缩处理时间长的缺点,支持多道程序设计,但是它不能实现对最自然的以段为单位的共享与存储保护(因为程序通常是以段为单位划分的,所以以段为单位最自然)。
(6)段页式存储管理。
这是分段式和分页式结合的存储管理方法,充分利用了分段管理和分页管理的优点。
作业按逻辑结构分段,段内分页,内存分块。
作业只需部分页装入即可运行,所以支持虚拟存储,可实现动态链接和装配。
例题1答案
(1)C试题2分析 本题主要考核进程管理的基本概念、进程控制及作业管理与进程管理的关系等知识点。
进程是操作系统中可以并发运行和分配系统资源的基本单位。
进程是运行中的程序,是程序在某个数据集合上的一次执行过程,具有并发性和动态性。
从静态的角度看,进程实体是由进程控制块(PCB)、程序段和数据空间等三部分组成的。
从进程的运行来看,进程可并发运行程序在其数据集合上的运行过程。
进程控制是通过进程控制原语来实现的。
用户可以通过系统调用接口调用进程控制原语实现进程的建立与撤销、阻塞与唤醒等控制。
但是,进程的控制通常是由系统自动完成的,这就是用户作业管理的功能。
作业管理通过三级调度(作业、均衡、进程)实现用户进程的创建与撤销等控制。
时间片轮转、阻塞或唤醒只会引起进程的状态改变,而不能控制进程的产生与终止。
运行的进程会随着作业运行正常或不正常结束而撤销。
例题2答案
(2)B试题3分析 进程就是系统进行分配和调度的最小单位。
它有三种基本状态。
就绪状态:进程已得到运行所需资源,只等待CPU的调度便可运行。
运行状态:进程已得到运行所需资源,并且得到了CPU的调度。
挂起状态:不具备运行条件、等待时机的状态。
进程的状态是可变化的,其变化如图3-4所示。
就绪→运行的条件是被调度程序选中。
运行→就绪的条件是时间片到了(超时),或被更高优先级的进程剥夺。
运行→挂起的条件是不具备运行条件,等待某一事件的发生。
54 软件设计师考试冲刺(习题与解答) 时间片到 调度 运行 等待某个事件 就绪 挂起 等待事件发生 图3-4进程状态转换图 挂起→就绪的条件是等待的事件已发生,具备了运行条件。
从图中可以看出,在状态转换中不能由挂起态直接进入运行态,也不能由就绪态进入挂起态。
操作系统对存储的管理主要是对内存的分配、保护和扩充。
内存分配管理办法之一就是分页式管理。
由于分配的内存太低,页面淘汰算法选择不当或程序存储空间跨度太大等原因,可能引起页面缺页率的增加,故D正确。
试题3答案
(3)D试题4分析本题考查进程与程序的区别。
程序是一个在时间上按严格次序顺序执行的操作序列。
进程是一个程序关于某个数据集的一次运行,是系统进行资源分配和调度的基本单位。
也就是说,进程是运行中的程序,是程序的一次运行活动。
相对于程序,进程是一个动态的概念,而程序是静态的概念,是指令的集合。
因此,进程具有动态性和并发性。
同时进程是系统进行资源分配和独立运行的基本单位。
而进程和程序并不是一一对应的关系,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。
而程序无法做到,由于程序没有和数据产生直接的联系,即使是执行不同的数据的程序,他们的指令的集合依然是一样的。
所以,一个进程肯定有一个与之对应的程序,而且只有一个。
而一个程序有可能没有与之对应的进程(没执行),也有可能有多个进程与之对应。
另外,要理解进程这个概念,还应掌握以下几个方面的内容。
(1)为什么要引入进程。
引入进程是为了使内存中的多道程序能够正确地并发执行。
(2)进程具有哪些基本特征。
进程具有动态性、并发性、独立性、异步性和结构特征。
(3)进程有哪些基本状态。
进程具有就绪、执行和阻塞三种基本状态,现代操作系统中还加入了挂起状态。
试题4答案
(4)
C 第3章操作系统 55 试题5分析 处理机有两个状态,一个是管态,即系统态,另一个是非管态,即目态或用户态。
当CPU处理系统程序的时候,CPU会转为管态,CPU在管态下可以执行指令系统的全 集,包括特权指令与非特权指令;当CPU处理一般用户程序的时候,CPU的状态又由 原来的管态转为目态,这个时候程序只能执行非特权指令。
在一个单处理机中,处理器只有一个,非管态(即用户进程执行状态)的某一时刻, 处于运行态的进程最多只有一个,系统中处于就绪态或阻塞的进程可能有多个,这样处 于就绪态的进程数最多只能是进程总数减
1,本题为8–1=
7,因此最多可以有8个就绪 进程。
如果除了运行态的一个进程外,其余进程均处于阻塞态,则就绪态进程个数为
0。
试题5答案
(5)
B 试题6分析 在多任务系统中,多任务在宏观上是并行的,微观上是串行的。
从宏观上看,多任 务并行使用系统资源(如处理器、I/O设备);微观上,大部分资源是在串行地为这些任 务服务。
因此,系统必须进行调度,使系统资源有效合理地为任务提供服务。
调度的算 法有先来先服务法、优先数法、短作业优先法、响应比高者优先法等。
优先数法调度时, 根据作业的优先级别,级别高者先调度。
在抢先式多任务系统中,CPU是可抢先的,即 任何时刻CPU总是分配给需要CPU的优先级最高的作业。
根据题意,P1,P2,P3的运行优先级由高到低,在抢先式并行工作方式下,作业的 执行时序图如图3-5所示。
CPUP3P2P1P2P3 P1 IO1P2 P1 P3 IO2 P1 P2 0102030405060708090100T(ms) 图3-5作业执行时序图 有些考生不能理解此图。
这个时序图应这么看:P1前30ms使用IO2,所以时序图中,IO2第一段30ms标记为P1。
P2前20ms使用IO1,IO1第一段20ms标记为P2;P3前20ms使用CPU,CPU第一段20ms标记为P3;还有一点要注意,CPU资源是可以抢占的,从30~40看得出来,P2本来要用20msCPU,但还只用了10ms就被P1抢去了。
所以从图中可知,三个作业从投入到完成总的运行时间为90ms。
CPU,IO1,IO2的有效工作时间均为70ms,因此CPU有20ms时间是空闲的。
56 软件设计师考试冲刺(习题与解答) 试题6答案
(6)
B 试题7分析操作系统是计算机系统中最重要、最基本的系统软件,位于硬件和用户之间,一方 面,它能向用户提供接口,方便用户使用计算机;另一方面,它能管理计算机软硬件资源,以便合理充分地利用它们。
操作系统应具有以下几个主要功能。
(1)处理机管理:对处理器的管理可以归结为对进程和线程的管理,包括:进程控制和管理;进程同步和互斥;进程通信;进程死锁;处理器调度,又分高级调度,中级调度,低级调度等;线程控制和管理。
(2)存储管理:存储管理的主要任务是管理存储器资源,为多道程序运行提供有力的支撑。
存储管理的主要功能包括:存储分配;存储共享;存储保护;存储扩充。
(3)设备管理:设备管理的主要任务是管理各类外围设备,完成用户提出的I/O请求,加快I/O信息的传送速度,发挥I/O设备的并行性,提高I/O设备的利用率;设备管理应该具有以下功能:提供外围设备的控制与处理;提供缓冲区的管理;提供外围设备的分配;提供共享型外围设备的驱动;实现虚拟设备。
(4)文件管理:上述三种管理是针对计算机硬件资源的管理。
文件管理则是对系统的信息资源的管理。
文件管理要完成以下任务:提供文件逻辑组织方法;提供文件物理组织方法;提供文件的存取方法;提供文件的使用方法;实现文件的目录管理;实现文件的存取控制;实现文件的存储空间管理。
(5)网络与通信管理:联网操作系统至少应具有以下管理功能:网上资源管理功能;数据通信管理功能;网络管理功能。
(6)用户接口:为了使用户能灵活、方便地使用计算机和操作系统,操作系统还提供了一组友好的用户接口,包括程序接口,命令接口,图形接口等。
试题7答案
(7)D试题8分析 分时操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。
用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
用户根据上步结果发出下道命。
分时操作系统将CPU的时间划分成若干个片段,称为时间片。
操作系统以时间片为单位,轮流为每个终端用户服务。
每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。
分时系统具有多路性、交互性、“独占”性和及时性的特征。
多路性指,同时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。
交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。
“独占”性是指,用户感觉不到计算机为其他人服务,就 第3章操作系统 57 像整个系统为他所独占。
及时性指,系统对用户提出的请求及时响应。
响应时间指用户从提交到调度运行所需时间,用户多则轮到执行的时间就会往后延 长。
因此,如果时间片一定,那么用户数越多,则响应时间越长。
分时系统的响应时间T可以表达为T≈Q×
N,其中Q是时间片,而N是用户数。
当时间片一定,用户数越多(即N越大),T就越大。
试题8答案
(8)A试题9分析 系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个进程(线程)使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程(线程)访问该资源。
为此,当一个进程A访问某资源时,必须先提出请求,如果此时该资源空闲,系统便可将之分配给请求进程A使用,此后若再有其他进程也要访问该资源时(只要A未用完)则必须等待。
仅当A进程访问完并释放该资源后,才允许另一进程对该资源进行访问。
把这种资源共享方式称为互斥式共享,而把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。
计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源,它们要求被互斥地共享。
试题9答案
(9)C试题10分析 多道程序技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。
多道程序的运行特征: 多道:计算机内存中同时存放多道相互独立的程序。
宏观上并行:同时进入系统的几道程序都处于运行状态,但都未运行结束。
微观上串行运行:各作业交替使用CPU。
试题10分析(10)B例题11分析目前存在着多种调度算法,有的算法适合作业调度;有的算法适用于进程调度;但也有些调度算法,既可用于作业调度,也可用于进程调度。
其中,先来先服务(FCFS)调度算法是一种最简单的调度算法。
当在作业调度中采用该算法时,每次调度是从后备作业队列中,选择一个或多个最先进入该队列的作用,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。
在进程调度中,采用FCFS调度算法时,则每次调度就是从就绪队列中选择一个最先进入该队列的进程,把处理机分配给它,使之投入运行。
该进程一直运行到完成或发 58 软件设计师考试冲刺(习题与解答) 生某事件而阻塞后,才放弃处理机。
FCFS算法比较有利于长作业(进程),而不利于短作业(进程),表3-4所示为
A、 B、
C、D四个作业分别到达系统的时间、要求服务的时间、开始执行时间及各自的完成时间,并计算各自的周转时间和带权周转时间。
进程名ABCD 到达时间0123 服务时间1 1001100 表3-4四个作业情况表 开始执行时间完成时间
0 1
1 101 101 102 102 202 周转时间1 100100199 带权周转时间11100 1.99 从表3-4中可以看出,其中短作业C的带权周转时间竟高达100,而长作业D的带权周转时间仅为1.99。
由此可见,FCFS调度算法有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业(进程)。
CPU繁忙型作业,是指该类作业需要大量的CPU时间进行计算,而很少请求I/O。
通常的科学计算便属于CPU繁忙型作业。
I/O繁忙型作业是指CPU进行处理时,又需频繁地请求I/O,而每次I/O的操作时间却很短,目前大多数的事物处理,都属于I/O繁忙型作业。
可以通过一个例子来说明采用FCFS调度算法的调度性能,表3-5中有5个进程
A、B、
C、D和
E,它们到达的时间分别是0、1、2、3和
4,所要求的服务时间分别是4、3、5、2和
4,由表中还可以看出,
A、B、
C、D和E的完成时间分别是4、7、12、14和18,从每个进程的完成时间中减去其到达时间,即得到每个进程的周转时间,进而可以算出每个进程的带权周转时间。
表3-5FCFS调度算法性能 作业情况调度算法FCFS 进程名称到达时间服务时间完成时间周转时间带权周转时间
A B
C D
E 平均
0 1
2 3
4 4
3 5
2 4
4 7 12 14 18
4 6 10 11 14
9 1
2 2 5.5 3.5 2.8 例题11答案(11)
B 例题12分析当信号量控制互斥问题时,其初值往往代表资源的个数。
本题初值为
2,说明该种 资源数量2个。
当进程将2个资源全部占有之后,信号量值减至
0,此时若再有进程要 第3章操作系统 59 求申请该资源,则必须在此信号量上等待,具体表现为:将信号量的值减1,导致信号量的取值为负。
此时有几个进程申请该资源,信号量便被减几次;因此S的值为负
3,则表示有3个进程在等待该资源。
例题12答案 (12)C试题13分析 发生死锁的现象就是占有并等待,并且等待的资源不会被释放。
可假设死锁已发生,进而讨论进程个数。
肯定发生死锁的最小进程数是这样得到的:假设K个进程,每个进程需要M个资源,而每个进程已占有M–1个,都在等待最后一个资源,于是死锁发生;此时,只要再多一个资源,死锁便可解除,K便是所求值。
根据题目条件,M=
3,K×(M–1)=
8,得K=
4。
试题13答案 (13)C例题14分析 某些进程为完成同一任务需要分工协作,由于合作的每一个进程都是独立地以不可预知的速度推进,这就需要相互协作的进程在某些协调点上协调各自的工作。
为了解决进程间协作关系(直接制约关系),因此引入了进程同步。
进程同步主要源于进程合作,是进程间共同完成一项任务时,直接发生相互作用的关系,为进程之间的直接制约关系。
在多道环境下,这种进程间在执行次序上的协调是必不可少的。
进程互斥主要源于资源共享,是进程之间的间接制约关系。
在多道系统中,进程互斥就是保证每次只有一个进程使用临界资源。
例题14答案 (14)B试题15分析 首先要理解好PV操作的含义。
假设信号量为sem,则P原语的主要操作是:
(1)Sem减
1。
(2)若Sem减1后仍大于或等于零,则该进程继续执行。
(3)若Sem减1后小于零,则该进程被阻塞,在相应队列中排队,然后转向系统的进程调度。
V原语的主要操作是:
(1)Sem加
1。
(2)若相加结果大于零,则进程继续执行。
(3)若相加结果小于或等于零,则唤醒一阻塞在该信号量上的进程,然后再返回原 60 软件设计师考试冲刺(习题与解答) 进程继续执行或转进程调度。
当信号量S小于0时,其绝对值表示系统中因请求该类资源未被满足而被阻塞的进 程数目,S大于0时表示可用的临界资源数。
对于V操作有一些说明,以纠正理解偏差。
Sem大于0时表示有临界资源可供使用,而且这个时候没有进程被阻塞在这个资源 上,也就是说,没有进程因为得不到这类资源而阻塞,所以没有被阻塞的进程,自然不需要唤醒。
有人可能会问:当Sem小于0时表明没有临界资源可供使用,为什么还要唤醒进程?这是因为V原语操作的本质在于:一个进程使用完临界资源后,释放临界资源,使Sem加
1,以通知其他的进程,这个时候如果Sem<
0,则表明有进程阻塞在该类资源上,因此要从阻塞队列里唤醒一个进程来“转手”该类资源。
比如,有2个某类资源,4个进程
A、B、
C、D要用该类资源,最开始Sem=
2,当A进入时Sem=1;当B进入时Sem=
0,表明该类资源刚好用完,当C进入时Sem=
1,表明有一个进程被阻塞了;当D进入时Sem=
2。
当A用完该类资源时,进行V操作,Sem=
1,释放该类资源,而这时Sem<
0,表明有进程阻塞在该类资源上,于是唤醒一个。
有了上述对PV操作的正确理解,那这道题就很好解决了。
S1的初值为
2,显然表明最开始有两个“发货员”这种资源,当顾客去提货时要用去一个这样的资源,于是a显然填P(S1)。
当提货完了之后,顾客进程要释放“发货员”资源,于是b显然填V(S1)。
从图中可以看出,接着审核员要审核提货是否正确;同理,顾客要用去一个“审核员”资源,于是c应该填P(S2)。
最后,d显然填V(S2)了。
值得一提的是,很多考生记不清是P操作加1还是V操作加
1,这里给大家提供一个小窍门。
大家看字母“V”,从下往上看其水平宽度是逐渐变大的,这“表明”V操作是对信号量进行加1操作。
试题15答案(15)C试题16分析本题主要考查用PV操作控制进程的并发执行。
首先需要弄清楚前驱图中给出的各进制的执行顺序。
从图中不难看出进程P1没有前驱,也就是可以首先并发执行,而进程P2的前驱是P1,进程P3的前驱是P2,P4的前驱是P1和P3。
那么怎么理解前驱呢?其实前驱就是指只有在前驱进程完成后,该进程才能开始执行。
在本题的前驱图中不难看出,有4条路径,分别是P1→P2,P1→P4,P2→P3,P3→P4。
而且题目也告诉我们分别有4初值为0个信号量(S1-S4),要用PV操作来控制进程P1~P4的并发执行。
对于这类试题,笔者提醒大家要注意:一条路径对应一个信号量,在路径的源端进程中,应该对与该路径对应的信号量做V操作,而在路径的终端进程中,应该对与该路径对应的信号量做P操作。
下面具体来求解这个题目。
a空处,是在进程P1执行完成以后,那么根据题目的前 第3章操作系统 61 驱图我们可以知道,这个时候它应该唤醒它的后继进程P2和P4,因此需要执行两个V操作,同样的道理,b空处也需要执行一个V操作。
又由于进程P2在执行前对信号量S1进行了P操作,根据图可知,P1→P2的路径对应信号量S1。
至于C空处,它是在进程P3执行前进行的处理。
根据前驱的意义,可以知道执行P3要在P2完成后,因此这个时候,它首先需要判断P2进程是否完成,如果完成的话,会分别执行唤醒P3的V操作(换句话说就是会给相应的信号量进行加1操作),那么这时也可以通过同样的信号量来判断,即对相应的信号量进行减1操作,判断它是否大于
0,如果大于等于
0,则执行P3。
结合题目给出的答案来看,这个信号量应该是S2。
那么执行完P3后,它也需要唤醒它的后继进程P4,因此执行V(S3)操作。
同样的道理,可知D空处应该是两个P操作,其操作的信号量分别是S3和S4。
综上所述,可以知道本题的答案选
C。
其实做这类题也不难,首先需要对PV操作要有一个透彻的理解,另外就是能分析出题目各路径对应的信号量。
试题16答案 (16)C试题17答案 SPOOLing技术是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”,其核心思想是以联机的方式得到脱机的效果。
低速设备经通道和设在主机内存的缓冲存储器与高速设备相联,该高速设备通常是辅存。
为了存放从低速设备上输入的信息,或存放将要输出到低速设备上的信息(来自内存),在辅存分别开辟一固定区域,叫“输出井”(对输出),或“输入井”(对输入)。
简单来说就是在内存中形成缓冲区,在高级设备形成输出井和输入井,传递的时候,从低速设备传入缓冲区,再传到高速设备的输入井,再从高速设备的输出井,传到缓冲区,再传到低速设备。
SPOOling技术也是一种用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,其目的是为了提高I/O设备的利用率以及使独占设备共享化。
试题17答案 (17)D试题18分析 本题主要考查从磁盘读取数据的过程。
从磁盘存取数据,主要包括三个部分的时间,其分别是寻道时间、定位时间(旋转延迟)和传输时间,其中后两个又统称为等待时间。
寻道时间也称为查找时间,为磁头移动到目标磁道所需的时间,定位时间为等待读写的扇区旋转到磁头下方所用的时间,而传输时间就是读写数据所需要的时间。
在本题中,题目把每个数据都交代得很清楚了,只需根据其原理计算就能得出结论。
62 软件设计师考试冲刺(习题与解答) 由于逻辑上相邻数据块的平均距离为20个磁道,且磁头从一个磁道移至另一个磁道需要4ms,所以当磁头读完一个数据块再读另一个时,需要80ms的时间才能将磁头定位到目标磁道,定位到磁道后,需要旋转盘片,以查找需要的数据块。
题目已给出每块的旋转延迟时间及传输时间分别为50ms和10ms,所以读取10块的文件需要时间为 (4*20+50+10)*10=1400ms所以此题应选
C。
试题18答案(18)C试题19分析本题主要考查银行家算法,是考试中的一个重要考点。
所谓安全状态,是指系统能按某种进程顺序(P1,P2,…,Pn)为每个进程Pi分配其所需资源,直到满足每个进程对资源的最大需求,使每个进程都可以顺利完成。
如果无法找到这样的一个安全序列,则称系统处于不安全状态。
本题已经给出序列,只需将4个选项按其顺序执行一遍,便可以判断出现死锁的三个序列。
首先求剩下的资源数: R19(12211)2R28(21121)1R35(113)0由于R3已分配的资源为
0,系统不能再分配R3资源,所以不能一开始就运行需要分配R3资源的进程。
所以,A和D显然是不安全的。
其次,求序列P2→P4→P5→P1→P3是否安全。
进程运行分析如表3-6所示。
资源 进程 P2P4P5P1P3 WorkR1R2R3210421541654775 表3-6进程运行分析表 NeedR1R2R3010001231531601 AllocationR1R2R3211120113121210 WorkAllocationR1R2R3421541654775985 Finish TrueTrueTrueTrueTrue 显然,该序列是安全的。
最后,求序列P2→P4→P5→P1→P3是否安全。
进程运行分析如表3-7所示。
这时,发现进程P1需要R1资源为
5,我们能提供的R1资源为
4,所以序列无法进行下去,为不安全序列。
第3章操作系统 63 资源进程P2P1 WorkR1R2R3210421 表3-7进程运行分析表 NeedR1R2R3010531 AllocationR1R2R3211121 WorkAllocationR1R2R3421 FinishTrue 试题19答案(19)
C 试题20分析本题主要考查死锁的解决办法,其最主要的办法就是破坏死锁的条件。
死锁是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方 的资源之前不会释放自己所拥有的资源。
从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态。
产生死锁的根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数。
产生死锁有4个必要条件:
(1)互斥条件:即一个资源每次只能被一个进程使用,在操作系统中这是真实存在的情况。
(2)保持和等待条件:有一个进程已获得了一些资源,但因请求其他资源被阻塞时,对已获得的资源保持不放。
(3)不剥夺条件:有些系统资源是不可剥夺的,当某个进程已获得这种资源后,系统不能强行收回,只能由进程使用完时自己释放。
(4)环路等待条件:若干个进程形成环形链,每个都占用对方要申请的下一个资源。
解除死锁的方法就是要破坏死锁的条件,强行将死锁的进程撤销,其实本质上也是破坏死锁的条件(强行剥夺死锁进程的资源),在题目提供的4个选项中,资源剥夺法,是可以解除死锁的。
试题20答案(20)B试题21分析虚拟内存是利用操作系统本身的一个其容量比主存大得多的存储器,实际上是一个地址空间。
基于局部性原理,应用程序在运行之前并不必全部装入内存,仅需要将当前运行到的那部分程序和数据装入内存便可启动程序的运行,其余部分仍驻留在外存上。
当要执行的指令或访问的数据不在内存时,再由操作系统通过请求调入功能将它们调入内存,以使程序能继续执行。
如果此时内存已满,则还需通过置换功能,将内存中暂时不用的程序或数据调至盘上,腾出足够的内存空间后,再将要访问的程序或数据调入内 64 软件设计师考试冲刺(习题与解答) 存,使程序继续执行。
这样便可使一个大的用户程序能在较小的内存空间中运行,也可在内存中同时装入 更多的进程使它们并发执行。
从用户的角度看,该系统具有的内存容量比实际的内存容量大得多,将这种具有请求调入功能和置换功能,并能从逻辑上对内存容量加以扩充的存储器系统称为虚拟内存。
总而言之,虚拟内存实际上就是将内存和外存统一管理,虚拟内容的容量取决于计算机的地址结构和外存容量。
试题21答案 (21)D试题22分析 实现虚拟存储器能给用户提供一个容量很大的存储器,但当主存空间已装满而又要装入新页时,必须按一定的算法把已在主存的一些页调出去,这个工作称页面调度。
所以,页面调度算法实际上就是用来确定应该淘汰哪页的算法。
算法的选择是很重要的,选用了一个不适合的算法,就会出现这样的现象:刚被淘汰的页面又立即要用,因而又要把它调入,而调入不久再被淘汰,淘汰不久再被调入。
如此反复,使得整个系统的页面调度非常频繁以至于大部分时间都在来回调度上。
这种现象叫做“抖动”,又称“颠簸”,一个好的调度算法应减少和避免抖动现象。
为了衡量调度算法的优劣,考虑在固定空间的前提下来讨论各种页面调度算法。
这一类算法是假定每道作业都给固定数的主存空间,即每道作业占用的主存块数不允许页面调度算法加以改变。
在这样的假定下,怎样来衡量一个算法的好坏呢? 假定作业p共计n页,而系统分配给它的主存块只有m块(m、n均为正整数,且1≤m≤n),即最多只能容纳m页。
如果作业p在运行中成功的访问次数为S(即所访问的页在主存中),不成功的访问次数为F(即缺页中断次数),则总的访问次数A为: A=S+F又定义: f=F/A则称f为缺页中断率。
影响缺页中断率f的因素有:分配给作业的主存块数。
分配给作业的主存块数多,则缺页中断就低;反之,缺 页中断率就高。
页面的大小,如果划分的页面大,则缺页中断率就低,否则缺页中断率就高。
但 它们之间的关系不是简单的反比关系。
页面调度算法。
作业本身的程序编制方法。
程序编制的方法不同,对缺页中断的次数有很大影响。
试题22分析(22)
B 第3章操作系统 65 试题23分析本题主要考查磁盘调度算法。
常见的磁盘调度算法如下:
(1)先来先服务(FCFS)算法:它按照输入输出请求到达的顺序,逐一完成访问请 求,它只考虑请求访问者的先后次序,而不考虑它们要访问的物理位置。
(2)最短查找时间优先(SSTF)算法:先对最靠近当前柱面位置的请求进行服务, 即先对寻找时间最短的请求进行服务。
SSTF算法总是让寻找时间最短的那个请求先服务,而不管请求访问者到来的先后次序。
(3)C-SCAN算法:C-SCAN(Circular-SCAN)同SCAN算法一样,C-SCAN也将磁头从盘的一端移动到另一端,并在移动中对遇到的请求进行服务。
所不同的是当它到达另一端时,它马上折回到盘的开始端,然而不对返回路径上的任何请求服务。
(4)SCAN算法:读写头从盘的一端开始朝另一端移动,在移动中搜索每个磁道上的请求,若有则服务之,直至到达盘的另一端。
在另一端,磁头移动的方向是相反的,并继续在移动中扫描服务。
在本题中,采用SCAN算法,因此,当磁头从105道向序号增加的方向移动时,便会服务所有大于105的磁道号(从小到大的顺序);返回时又会按照从大到小的顺序进行服务。
试题23答案 (23)A试题24分析 设备与CPU之间数据传送控制方式有4种,它们是程序直接控制方式、中断控制方式、直接内存访问(DMA)方式和通道控制方式。
程序直接控制方式和中断方式都只适用于简单的、外设很少的计算机系统。
程序直接控制方式耗费大量的CPU时间,并无法检测发现设备或硬件产生的错误,而且设备和CPU、设备和设备只能串行工作。
中断控制方式虽然在某种程度上使CPU摆脱了等待I/O设备的空转现象,主机和外设可以并行工作,提高了主机的利用率,但由于中断次数多,每次中断都要作现场保护和恢复工作,系统开销较大,仍然要占用较多的CPU时间,而且,能够并行操作的设备台数也受到中断处理时间的限制。
DMA方式和通道控制方式采用了外设和内存直接交换数据的方式,解决了上述问题。
只有在一段数据传送结束时,才发出中断信号要求CPU做善后处理,从而大大减少了CPU的负担。
DMA方式与通道方式的区别在于,DMA方式要求CPU执行设备驱动程序启动设备,给出存放数据的内存起始地址以及操作方式和传送字节长度等。
而通道控制方式则是在CPU发出I/O启动命令后,由通道指令来完成这些工作。
试题24答案 (24)
B 66 软件设计师考试冲刺(习题与解答) 试题25分析本题主要考查对索引文件的理解。
索引文件既可以满足文件动态增长的要求,又可以方便而迅速地实现随机存取。
对 一些大的文件,当索引表的大小超过一个物理块时,会发生索引表的分配问题。
一般采用多级(间接索引)技术,这时在由索引表指出的物理块中存放的不是文件存放处而是存放文件信息的物理块地址。
这样,如果一个物理块能存储n个地址,则一级间接索引将使可寻址的文件长度变成n2块,对于更大的文件可以采用二级甚至三级间接索引。
根据试题给出的条件,可知表示的单个文件的最大长度为: 试题25答案4×256+2×(256/4)×256+1×(256/4)×(256/4)×256=1057KB(25)
C 试题26分析查找文件时,一次访问可能要经过若干次间接查询才能找到最终的文件。
如果目录 树很大而不能都放入内存,则不仅耗费查找时间,对I/O通道也增加了压力。
为此引进“当前目录”,用户欲访问某个文件时就不用给出全部路径,只需给出从当前目录到欲查找文件之间的相对路径名即可。
另外,需要了解从树根开始的路径为绝对路径。
试题26答案 (26)B试题27分析 本题主要考查逻辑地址向物理地址的转换。
对于这类题的求解,首先把握住首要条件,即页号和页内位移的取值(所占位数)。
该题的条件是页的大小为2KB即2的11次方,则页内位移为11位。
逻辑地址9888转换成二进制数是:10011010100000,取其低11位作为页内位移,剩余高位为页号,即逻辑页号的值为4(100),然后查表得出对应的页框号是
3,再用3(11)与页内位移合并,得出物理地址1111010100000,转换成十进制得7840。
试题27答案 (27)B试题28分析 位示图法是为管理磁盘空闲存储空间而提出的一种方法,该方法是在外存上建立一张位示图来记录文件存储器的使用情况。
每一位仅对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。
在本题中,题目告诉我们字长32位,即一个字可以表示32个物理块得使用情况,而物理块依次编号为0,1,
2,…,这里提醒大家注意:由于物理块是从0开始编号的,所以6912号物理块是第6913块。
6913/32=216.031,所以6913号物理块的使用情况在位示图中的第217个字中描述。
第3章操作系统 67 试题28答案(28)
B 试题29分析本题主要考查页式存储管理。
在分页存储管理时,将内存划分为大小相等的页面,每一页物理内存叫作页帧,以 页为单位对内存进行编号,该编号可作为页数组的索引,又称为页帧号。
在淘汰页面时,应该根据最近最久未被访问淘汰的原则,选择未被访问的页面淘汰,而如果所有页面都被访问过来,那么应该选择未被修改的页面淘汰,因为这里外存中与内存中页面内容一致,以避免数据重复传输。
在本题中,在内存的3个页面都有被访问,那么这个时候就要判断其修改位,从表中给出的内容,不难看出,3号页面未被修改,因此当该进程访问的页面1不在内存时,应该淘汰页号为3的页面。
试题29答案 (29)B试题30分析 本题主要考场页面置换算法。
在实际应用中,由于实际主存是小于虚存的,因此可能会发生内存中已满,但需要使用的页不在主存中这一情况。
这时就需要进行置换,即将一些主存中的页淘汰到外存,腾出空间给要使用的页,这个过程就是缺页中断。
常见的一些页面置换算法如下:最优算法(OPT):淘汰不用的或最远的将来才用的页。
这是一种理想算法,不可能实现,只是用来作为衡量算法效率的参照物。
随机算法(RAND):随机淘汰。
这种算法开销小,但性能不稳定。
先进先出算法(FIFO):选择最早调入(也是驻留时间最长)的页。
最近最少使用算法(LRU):选择离当前时刻最近的一段时间内使用得最少的页。
在本题中,页面置换过程如表3-8所示。
FIF0LRU 页面1页面2页面3缺页页面1页面2页面3缺页 表3-8页面置换分析表 423124531235444111133335 222244411113333555222 是是是是否是是是是是否是444111555222 222222333333334441115 是是是是否是是是是是否是 68 软件设计师考试冲刺(习题与解答) 缺页率=缺页次数/访问的页面数*100%。
对于这一类题目的解答,要把握三个要素:驻留集大小(进程可用的物理块数)、页面访问序列、采用何种算法。
同时也要注意开始 时的物理块中是否有页面存在,如果没有则初始页面的调入也应算做缺页中断,这一点要特别注意。
因此采用FIFO页面置换算法时缺页率为10/12*100%=83%。
采用LRU(最近最久未使用)页面置换算法时缺页率为10/12*100%=83%。
试题30答案 (30)
C
声明:
该资讯来自于互联网网友发布,如有侵犯您的权益请联系我们。