操纵系统解题记录

1. 进程与线程

下列关于线程的描述中,正确的是?
A. 线程包含CPU现场,可以独立执行
B. 每个线程都有独立的地址空间
C. 进程只能包含一个线程
D. 线程之间的通信必须使用系统函数
选择A
B:线程与进程贡献空间,没有独立的空间
C:一个进程可以创建多个线程
D:可以通过共享内存空间

进程之间交换数据不能通过?
A. 共享文件
B. 消息传递
C. 访问进程地址空间
D. 共享存储区
选择C:访问其他进程的地址空间会导致段错误。

下列说法正确的是?
A.获取处理机是通过调度得到的
B.优先级是进程调度的重要依据,一旦确定就不可改变
C.在单处理机的系统中,任意时刻都只有一个进程处于运行态
D.进程在申请处理机资源而得不到满足,会进入阻塞态。

选择A:算法调度可以使进程获得处理机资源
B:根据时间的不同,一个程序的优先级可能发生变化
C:可能处理机资源处于空闲,没有任何程序处于运行态
D:阻塞态是指缺少除了处理机之外的资源

在一个进程申请IO操作完成之后,将使进程状态由_____态转为_____态。

阻塞,就绪。
请求IO完成之前一直为阻塞态, 完成之后变成就绪态。

在具有通道设备和单处理器系统中实现并发技术后,各进程在同一时间_____运行(填:并发,或者并行,下同),CPU和IO设备同一时间_____工作?

并发,并行。
所有程序都跑在一个处理器上,处理器以时间片轮转的方式让所有程序同时运行,称之为并发。
IO设备和处理器是不同的硬件,同时执行不同的任务,称之为并行。;

下列关于父进程与子进程的叙述中,错误的是:
A. 父进程和子进程可以并发执行
B. 父进程和子进程共享虚拟地址空间
C. 父进程和子进程有不同的进程控制块
D. 父进程和子进程不能同时使用同一临界资源
选择B
B:父进程和子进程可以共享一部分资源,但是虚拟地址空间是不共享的,每个进程创建时,都会分配独立的虚拟地址空间。
D:临界资源在同一时刻不能被多个进程访问。

父进程调用子进程和主程序调用子程序有什么不同?
父进程调用子进程后,并发执行。而主程序调用子程序后,要先等子程序执行完成,主程序才能继续往下执行。

在进程控制块中,主要包括4方面用于描述和控制进程运行的信息,其中(),主要是由处理机各种寄存器中的内容所组成。
A.处理机状态信息
B.进程标识符信息
C.进程控制信息
D.进程调度信息
‏选择A:在进程处于执行的时候,处理机的寄存器中存有这个进程的信息,所以PCB的状态信息可以存放在处理机的寄存器中。

顺序程序和并发程序的执行相比:
A.有点不同 
B.并发程序执行总体上执行时间快
C.基本相同
D.顺序程序执行总体上执行时间快

选择B:虽然顺序执行可以减少处理机的上下文切换,但是顺序执行要执行完某一个人物,才能执行下一个任务,当某一个任务由于缺少某种资源,迟迟得不到响应,就会导致整体的效率低下,资源利用率降低。

‎以下不可能引起进程调度的是()。
A.一个进程从运行状态变成了等待状态获就绪状态
B.一个进程从就绪状态变成了运行状态
C.一个进程从等待状态变成了就绪状态
D.一个进程完成工作后被撤销

选择B:处理机调度只可能发生在某些运行态的程序由于某些原因(如进程结束,申请IO未得到满足等。)退出运行态,或者是有新的进程加入就绪队列导致优先级发生变化(可剥夺的调度策略)。进程从就绪变为运行没有满足发生进程调度的直接条件,所以不可能引起进程调度。

进程是具有特定功能的一组指令的集合,它指出了处理器执行操作步骤?
一组指令的集合对应的是程序,进程是程序动态执行的过程,包含了DS,CS以及PCB这些动态要素,并随着时间可能发生变化。

在9个生产者,6个消费者共享容量为8的缓冲区的生产者-消费者问题中,互斥使用缓冲区的信号量S的初始值为______。
1.
互斥使用缓冲区,信号量S是针对互斥使用缓冲区的,不是针对缓冲区的大小的。
所有互斥访问的信号量初始值都是1。

  1. 处理机调度算法
    时间片轮转调度算法是为了:
    A. 多个用户能及时干预系统
    B. 使得系统变得高效
    C. 优先级较高的进程尽快得到相应
    D. 需要CPU时间较少的进程及时得到相应
    选择A:时间片轮转法的目的就是为了让进程及时得到相应,不至于某个进程卡死的现象发生。
    B:时间片轮转法经常上下文切换,浪费时间,使得效率低下
    C:高优先级调度算法
    D:短作业优先调度算法

为什么分时系统要使用时间片轮转调度算法?
分时系统要满足多用户的相应需求,每个进程都需要得到相应,所以应该使用时间片轮转调度算法。
分时系统:把处理机的运行时间分为诺干时间片,指定用户程序运行。

下列说法,正确的是:
A. 分时系统的时间片固定,所以用户越多,相应越慢
B. UNIX是一个多用户,多任务的操作系统,支持多种处理器架构,按照操作系统分类,是分时系统。
C. 中断向量地址是中断服务例行程序的入口地址
D. 中断发生时,由硬件保护并更新程序计数器,而不是由软件完成,主要是为了提高相应速度。
选择A、B
C:中断向量是中断服务的入口地址
D:主要目的:保持系统的稳定

有P_1,P_2,P_3,三个作业,优先级P_1 > P_2 > P_3, 每个作业所需资源如下:
P_1:D2(30ms),CPU(10ms),D1(30ms),CPU(10ms)
P_2:D1(20ms),CPU(20ms),D2(40ms)
P_3:CPU(30ms),D1(20ms)

求平均周转时间和设备利用率?

CPU [0~20ms,P_3], [20~30ms P_2],[3040ms,P_1],[4050ms,P_2],
[5060ms,P_3],[6070ms, ][70~80ms,P_1]
D1 [0~20ms,P_2], [4070ms,P_1],[7090ms, P_3]
D2[030ms,P_1],[3050ms,][50~90ms,P_2]

P_1的周转时间为80ms,P_2的周转时间为90ms,P_3的周转时间为90ms

CPU利用率为5/9,D1的利用率为7/9,D3的利用率为1。


独木桥问题。某条河上只有一座独木桥,以便行人过河。现在河的两边都有人要过桥,按照下面的规则过桥。为了保证过桥安全,请用P(或wait)、V(或signal)操作分别实现正确的管理。

过桥的规则是:同一方向的可连续过桥,某方向有人过桥时另一方向的人 要等待。

互斥信号量,mutex 表示相向过桥的互斥,SA,SB 分别表示 countA countB 变量访问的互斥

mutex = 1, SA = 1, SB = 1

countA = countB = 0

表示当前方向的桥上还有多少人。

processA:
	wait(SA)
	if countA == 0:
		wait(mutex)
	countA ++
	post(SA)
	/* 过桥 */
	wait(SA)
	countA –-
	if countA == 0:
		post(mutex)
	post(SA)
processB /* 同理 ,故略 */
  1. 进程的同步与互斥
    下列关于管程的叙述中,错误的是:
    A. 管程只能用于实现进程的互斥
    B. 管程是由编程语言支持的进程同步语言
    C. 任何时候只能有一个进程在管城中执行
    D. 管程中定义的变量只能被管程内的过程访问
    选择A:管程是一组数据和这组数据上的操作组成的软件模块,可以实现同步和互斥
    C&D:局部管程内的数据只能被局部管程内的过程访问;一个进程只能通过调用管程内的程序才可访问共享数据;每次仅仅允许一个进程在管程内部。

下列准则中,实现临界区互斥机制的必须遵循的是:
A. 两个进程不能同时进入临界区
B. 允许进程访问空闲的临界资源
C. 进程等待进入临界区的资源是有限的
D. 不能进入临界区的执行状态立刻放弃CPU
选择A、B、C
C:如果无限等待,会让进程进入饥饿(hungry)状态
D:Peterson算法

死锁定理是用于____死锁的方法
检测和解除:死锁定理可以检测程序进程是否死锁。

下列为进程的资源分配图,按P1,P4,P3,P2执行可否?
P1(已分配R1:2,R2:0,R3:0)(需分配R1:0,R2:0,R3:1)
P2 (已分配R1:1,R2:2,R3:0)(需分配R1:1,R2:3,R3:2)
P3(已分配R1:0,R2:1,R3:1) (需分配R1:1,R2:3,R3:1)
P4(已分配R1:0,R2:0,R3:1)(需分配R1:2,R2:0,R3:0)
(可用资源R1:0,R2:2,R3:1)
否,
分配P1后,可用资源变为:2,2,1
分配P4后,可用资源变为:2,2,2
无法分配P3,P4,进程死锁
死锁预防是保证系统不进入死锁状态的静态策略,其解决办法是破坏产生死锁的四个必要条件之一。下列方法中哪一个破坏了“循环等待”条件( )。
A.银行家算法
B.一次性分配策略
C.资源有序分配策略
D.资源剥夺策略
选择C:资源有序分配是指在进程申请资源时,必须先申请编号小的,再申请编号大的,这样可以保证先检测到循环申请的存在(如存在),而不占用更多的资源,导致死锁。
B:这时破坏进程的申请保持的特点防止死锁。

  1. 内存管理
    在使用交换技术时,诺一个进程正在()操作时,不能交出主存。
    A. 创建
    B. I/O操作
    C. 处于临界区
    D. 死锁
    选择B,处于IO操作,如果交出主存,会导致写入的数据出错。

分区分配的内存管理方式主要是_____保护。
界地址
当程序发生越界时,报出越界错误。

某系统采用二级页表的分页管理系统,按字节编址,页的大小为pow(2,10)B,页表项的大小为2B,逻辑地址结构为
(页目录号,页号,disp)
逻辑地址空间的大小为pow(2,16)页,整个逻辑地址空间的页目录表包含的表项至少是____。
128
问题转化为:页目录表,也叫顶层页表,其中包含了多少个二级页表?
页表项为2B,所以一个页面可以存pow(2,9)个页表项。
一共有pow(2,16)个页面,所以要有pow(2,7)= 128 个页表项。
所以答案是128。

在分段储存管理系统中,共享段表描述所有被共享的段,如果进程P1,P2,共享段S,则下列叙述中,错误的是:
A. 在物理内存中仅保存一份S的内容
B. 段S在进程P1和P2中拥有相同的段号
C. P1和P2共享段S在共享段表中的段表项
D. P1和P2都不再使用段S时才回收段S所占的内存空间
选择B:分段存储管理系统中,每个程序中,段的逻辑位置不一样,即逻辑段号可能不同,所以在不同的程序中可能会有不同的段号。
A;通过段表访问到同一段物理内存
C:段表项包含了段的物理地址和段的长度,这对于一个物理内存段来说是唯一的。
D:有上述解释可得,正确

下列,不属于虚拟内存技术的特征的是:
A. 一次性
B. 多次性
C. 对换性
D. 离散性
选择A:虚拟内存的目的就是在作业一开始不全部调入物理内存,而是在使用到的情况下再进行调入,节约了物理内存。
B:虚拟内存的目的。
C:虚存的内容支持更改,支持内容的换进换出

设主存容量为1MB,外存容量为400MB,系统地址寄存器32位,求虚存最大为:
A.1MB
B.401MB
C.1MB + 4GB
D.4GB
选择D:虚拟内存的容量上限只和地址寄存器的最大寻址位数有关,和其他要素没有必然联系。寻址支持32位,那么理论上就可以放入4GB的内容,但实际上并没有那么多内容。题目问最大,那么理应4GB。

序拟内存的____决定虚拟内存是否发生缺页(选填:合法位、修改位、页类型、保护码)
合法位标记了虚拟页是否位于内存中。(概念,记忆知识)

再请求分页系统中,页面分配策略与页面置换策略不能组合使用的是:
A. 可变分配,全局置换
B. 可变分配,局部置换
C. 固定分配,全局置换
D. 固定分配,局部置换
选择C:
可变分配是指内存为程序分配的空间是可以改变的,不固定的。
而固定分配则相反。
全局置换,是指程序运行遇到缺页情况的策略是在内存全局进行对换操作。
局部置换,是指程序运行遇到缺页情况,只在程序内部进行对换页操作。
显然,固定分配的程序装入的内存空间在初始就指定了,无法进行全局置换。

下列操作,通过系统调用完成的是:
A. 页置换
B. 进程调度
C. 创建新进程
D. 生成随机数
选择C:
系统调用是指用户请求,系统对系统内部函数进行调用。
A、 B:不涉及用户的请求,都是系统自己为了能够保持效率运行进行的操作。
D:生成随机数这个过程不需要调用系统函数。

‍在引入线程的操作系统中,资源分配和调度的基本单位是_____, 在引入线程的操作系统中,CPU调度和分配的基本单位是_____。
进程,线程。
各种资源的分配和调度的基本单位一直是进程。线程不拥有资源,只有执行必要的资源,所以CPU的基本调度单位就是线程了。
在批处理系统中,周转时间是()。 
A.作业等待时间和运行时间之和
B.作业的相对等待时间
C.作业被调度进入内存到运行完毕的时间
D.作业运行时间
选择A:作业的周转时间就是作业提交到完成的时间,其中包含了等待的时间和运行的时间
C:作业调入内存不代表作业被提交的时间

在一个批处理单道系统中,假设有四道作业,它们的提交时间及运行时间在下表中所列,当第一个作业进入系统后开始调度,假定作业都是仅作计算,采用计算时间短的作业优先调度算法,忽略调度花费时间。

作业
‏ 进入系统时间
‏ 运行时间
‏ 开始时间
‏ 完成时间
‏ 周转时间

1
‏ 8:00
‏ 2小时




2
‏ 8:50
‏ 30分钟




3
‏ 9:00
‏ 6分钟




4
‏ 9:30
‏ 12分钟



作业

进入系统时间

运行时间

开始时间

完成时间

周转时间

1

8:00

2小时

8:00

10:00

120分钟

2

8:50

30分钟

10:18

10:48

118分钟

3

9:00

6分钟

10:00

10:06

66分钟

短作业优先法不可剥夺

‍内外存数据传送的控制方式中,由用户程序自己控制的方式是( )。
A.交换
B.覆盖
C.请求页面调度
D.预调入
选择B:覆盖即可能修改了数据内容,会产生内容的差异,所以需要用户程序自己控制。

有16页的逻辑空间,页面的大小为1K,映射到的物理存储区有64块,则逻辑地址是__位。
14
逻辑地址由页号 + 页内偏移量组成,由题目可知,页号为4位,页内偏移量为10位,所以总的逻辑地址位数是14位。

‏采用动态重定位方式装入的作业,在执行中允许( )将其移动。
A. 操作系统由条件的
B. 操作系统无条件的
C. 用户有条件的
D. 用户无条件的
选择A:需要移动作业的场景一般是内存碎片化严重,需要移动作业将这些碎片拼合起来。显然这个操作是由操作系统完成的,而且是在内存碎片化的情况下进行的,所以是操作系统有条件的移动。

  1. 文件流
    打开文件的操作主要是:
    A. 把指定文件的目录复制到内存的指定区域
    B. 把文件复制到指定的区域
    C. 在指定文件所在的存储介质上找到指定文件的目录
    D. 在内存寻找到指定的文件
    选择A;打开文件的操作是指把FCB复制到活跃文件目录。
    B:打开文件并不是把文件的内容复制出来
    C:寻找文件在打开文件之前

在以下文件的物理结构中,不适合直接存取的结构方式是:
A. 连续结构
B. 链式结构
C. 索引结构
D. 所有以上都是
选择B:链式结构不具备直接存储的特点,因为只有头尾指针,无法对中间的内容直接进行修改操作。

下面关于索引文件,正确的是:
A. 索引文件中,每一个索引项都含有关键字和物理地址
B. 顺序文件进行检查时,首先从PCB中读取出文件的第一个盘块号,而进行缩影检索时,应读出索引块的起始地址。
C. 对于一个具有三级索引的文件,存取一条记录通常访问3次磁盘
D. 文件较大时,无论是进行顺序存取还是进行随机存取,索引文件的方式最快。
选择B
A:索引项包含的是逻辑地址,物理地址是索引块初始地址 + 索引项逻辑地址得来的。
C:4次
D:只有随机存储,索引文件的方式是最快的

下列说法正确的是:
A. 系统调用read一个文件,如果文件不存在内存,则进程进入等待态
B. Read请求会让CPU从用户态变为核心态
C. Read请求应包含文件名
选择A、B:系统read一个文件,如果不存在内存,那么就先阻塞该进程,直到页面的调入,进程被阻塞后进入等待态。
C:read是read文件打开之后的文件流,所以需要包含文件描述符,而不是文件名。

文件系统用位视图表示空闲盘块,视图位于盘块的32 ~ 127 号块中,每个盘块占1024B,盘块和块内字节均从0开始。假设要释放的盘块号为409612,则要修改的位所在的盘块和块内字号分别为?
82, 1.
首先盘块大小为1024B,所以每个盘块可以表示的位有 1024 * 8 位。
409612显然位于第 floor( 409612 / (1024 * 8) ) + 50 个盘块(显然的,从0开始编号,所有计算过程使用向下取整)。块内字号则是 floor(409612 % (1024 * 8) / 8) 。
计算得知 盘号为 32 + 50 = 82。块内字号为 1。

‏最常用的流式文件是字符流文件,它可看成是()的集合。
A.页面
B.字符序列
C.记录
D.数据
选择B,字符流文件都已字符位单位进行读入读出,所以字符流文件时字符的集合
某移动臂磁盘的柱面由外向里从0开始顺序编号,假定当前磁头停在100号柱面而且移动方向是向外的,现有一个请求队列在等待访问磁盘,访问的柱面号分别为190、10、160、80、90、125、30、20、140和25。请写出分别采用最短寻找时间优先和电梯调度算法处理上述请求的次序。

最短时间优先:找到离磁头最近的柱面
编号 90 80 125 140 160 190 30 25 20 10
距离 10 10 45 15 20 30 160 5 5 10

平均距离:31

电梯调度:和电梯一样先往一个方向寻找,到最后一个(请求访问)柱面后改变方向,然后以改变后的方向再寻找,以此往复
编号 90 80 30 25 20 10 125 140 160 190
距离 10 10 50 5 5 10 115 15 20 30
平均距离:27

  1. 输入/输出设备
    将系统中的每一台设备按某种原则进行统一编号,这些编号作为区分硬件和设备识别的代号,该编号称为设备的:
    A. 绝对号
    B. 相对号
    C. 类型号
    D. 符号
    选择A:设备绝对号是为了给每个设备都不同的编号,方便对这些设备进行识别,而相对号则是方便用户进行识别的

某文件占10个磁盘块,现在要把该文件的磁盘块逐渐读入主存的缓存区,并且送到用户区进行分析,假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读入到缓冲区的时间为100μs,将缓冲区的数据送到用户区需要50μs,CPU对一块数据进行分析的时间为50μs,在单缓冲与双缓冲的结构下,读入并分析完成的时间分别是:
A.1500μs,1000μs
B.1550μs,1100μs
C.1550μs,1550μs
D.2000μs,2000μs
选择B
卡诺图

可以看出,除了中间有9段CPU处理的时间都与后一块数据读入到缓冲区的时间并行了,设读入到缓冲区的时间为T1,缓冲区读入到用户区的时间为T2,CPU处理的时间为T3,那么总的时间就是 T1 * 10 + T2 * 10 + T3,为什么最后还要加上T3,因为最后一个任务的CPU处理时间不能与下一个块数据(没有下一块了)读入缓冲区的时间并行。
双缓冲

双缓冲的解题思路与单缓冲比较相似,读入CPU的时间和CPU处理的时间之和可以与下一块数据读入缓冲区的时间并行,所以就变成了 T1 * 10 + T2 + T3
最后需要加上T2和T3的原因与单缓冲时间计算最后要加上T3的原因相同。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值