一、前言🚀🚀🚀
小郑在刷题的过程中帮大家整理了一些常见的考试题目,以及易于遗忘的知识点,希望对大家有所帮助。
二、正文☀️☀️☀️
1.OS的不确定性是指(ABC
)。
A.程序的运行次序不确定
B.程序多次运行的时间不确定
C.程序的运行结果不确定
2.关于缓冲池(Buffer Pool)的描述,错误的是©
A.缓冲池(Buffer Pool)由主存中的一组缓冲区组成,每个缓冲区的大小一般等于物理记录的大小。
B.各个缓冲区作为系统公共资源为进程所共享,并由系统进行统一分配和管理。
C.缓冲池中的缓冲区要么用于输出,要么用于输入。
D.缓冲池的目的在于避免在消费者多次访问相同数据时重复产生相同数据问题。
缓冲区可以同时输入输出
3.下列选项中,磁盘逻辑格式化程序所做的工作是( BD
)。
A.对磁盘进行分区
B.建立文件系统的根目录
C.确定磁盘扇区校验码所占位数
D.对保存空闲磁盘块信息的数据结构进行初始化
一个新磁盘是一个空白版,必须分成扇区以便磁盘控制器能读和写,这个过程称为低级格式化(物理格式化)。低级格式化。为磁盘的每个扇区采用特别的数据结构,包括校验码,即C错误,为了使用磁盘存储文件,操作系统还需要将其数据结构记录在磁盘。上。这分为两步,第一步是将磁盘分为由一个或多个柱面组成的分区,每个分区可以作为一个独立的磁盘,即I错误:在分区之后,第二步是逻辑格式化(创建文件系统)。在这一步,操作系统将初始化的文件系统数据结构存储到磁盘上。这些数据结构包括空闲和已分配的空间及一个初始为空的目录,
4.所谓“存储保护”!的基本含义,最恰当的描述是( C
)。
防止存储器硬件受损
防止程序在内存丢失
防止程序间相互越界访问
防止程序被人偷看
5.关于处理机的特权级的描述,错误的是(B
)
A.处理机的特权级指处理机正处于何种工作状态、正执行哪类程序区分
B.处理机的特权级的目的是高效利用操作系统
C.处理机的至少需要区分管态和用户态两种状态
D.用户对操作系统的某些操作可能导致用户态自动转管态
A. 处理机的特权级指处理机正处于何种工作状态、正执行哪类程序
这个说法是正确的。处理机的特权级,又称处理机的态,是指处理机当前处于何种状态,正在执行哪类程序。它是为了区分操作系统的管理程序和用户程序在执行时的不同职责和权限。
B. 区分处理机的特权级的目的是高效利用操作系统
这个说法是不准确的。区分处理机的特权级的主要目的是为了保护操作系统
,确保系统的安全性和稳定性。通过限制用户程序对特权指令和系统资源的访问,可以防止用户程序对系统造成破坏或误操作。而高效利用操作系统更多地是通过优化算法、资源管理和任务调度等手段来实现的。
C. 处理机的至少需要区分管态和用户态两种状态
这个说法是正确的。基本的处理机的态是管态(又称系统态或核心态)和用户态(又称目态或常态)。在管态下,处理机可以使用全部机器指令,包括特权指令,可以使用所有的资源;而在用户态下,禁止使用特权指令,不能直接取用资源与改变其状态,并且只允许用户程序访问自己的存储区域。
D. 用户对操作系统的某些操作可能导致用户态自动转管态
这个说法是正确的。在用户程序需要操作系统服务、发生中断、产生错误状态或企图执行特权指令时,都会导致用户态自动转换为管态,以便操作系统能够处理这些事件或请求。
我不要挂科~
6.若多个进程共享同一个文件F,则下列叙述中正确的是(B
)。
A.各进程只能用“读”方式打开文件F
B.在系统打开文件表中仅有一个表项包含F的属性
C.各进程的用户打开文件表中关于F的表项内容相同
D.进程关闭F时系统删除F在系统打开文件表中的表项
A中各进程既可以用读方式打开文件F,也可用写方式打开文件F,按照一定的读写原则就可以了;
B打开一个文件,则将指定文件的属性从外存复制到内存打开文件表的一个表目中。操作系统维护所有打开文件信息的表(打开文件表),同一个文件被多个进程打开只改变打开计数。打开文件的属性信息对进程而言是唯一的;
C打开同样一个文件的表项内容不一定相同;
D进程关闭F时会使F的引用计数减1,引用计数为0 时才会删除表项。
7.在分段存储管理系统中,用共享段表描述所有被共享的段。若进程P1和P2共享段S,下列叙述中,错误的是( B
)。
A.在物理内存中仅保存一份段S的内容
B.段S在P1和P2中应该具有相同的段号
C.P1和P2共享段S在共享段表中的段表项
D.P1和P2都不再使用段S时才回收段S所占的内存空间
段号是对于进程的逻辑地址空间进行划分的,每个进程根据需要划分多个段各自编号,所以B选项的说法是错误的。
8.下列选项中,可能导致当前进程P阻塞的事件是( AB
)。
A.进程P申请临界资源
B.进程P从磁盘读数据
C.系统将CPU分配给高优先权的进程
进程等待某资源为可用(不包括处理机)或等待输入输出完成均会进入阻塞态,系统将CPU分配给高优先权的进程,会使当前进程从运行态变为就绪态.
9.设备的输入/输出控制涉及的硬件,不包括(B
)
A.端口(Port)
B.选择器(Selector)
C.总线(Bus)
D.控制器(Controlller)
10.下列关于死锁的叙述中,正确的是(ABD
)
A.可以通过剥夺进程资源解除死锁
B.死锁的预防方法能确保系统不发生死锁
C.银行家算法可以判断系统是否处于死锁状态
D.当系统出现死锁时,必然有两个或两个以上的进程处于阻塞态
银行家算法是解决死锁问题中避免死锁采用的方法,是一种提前采取的措施,是通过安全性检査来杜绝发生死锁的可能性。
11.若x是管程内的条件变量,则当进程执行x.wait()时,所做的工作是( C
)。
A.实现对变量x的互斥访问
B.唤醒一个在x上阻塞的进程
C.根据x的值判断该进程是否进程阻塞状态
D.阻塞该进程,并将之插入x的阻塞队列中
若x是管程内的条件变量,当进程执行x.wait()时,所做的工作主要是:
**阻塞该进程:**当进程发现x对应的条件不满足时,它会调用x.wait()来阻塞自己,即停止继续执行并等待某个条件的发生。
**将进程插入x的阻塞队列中:**当进程调用x.wait()时,它会被放入一个与条件变量x相关联的等待队列中。这个队列包含了所有因为等待x条件满足而被阻塞的进程。
释放管程:进程在调用x.wait()并阻塞自己后,会释放对管程的占用,这样其他进程就可以进入管程并执行。
对于其他选项:
**实现对变量x的互斥访问:**这不是x.wait()的功能。管程本身提供互斥访问的机制,但x.wait()主要用于阻塞和唤醒进程,而不是实现互斥访问。
唤醒一个在x上阻塞的进程:这是x.signal()的功能,而不是x.wait()的功能。
根据x的值判断该进程是否进入阻塞状态:虽然x的值可能与进程是否阻塞有关,但x.wait()的调用并不直接根据x的值来判断进程是否应该阻塞。进程是否应该阻塞取决于它正在等待的某个条件是否满足。
综上所述,当进程执行x.wait()时,所做的工作主要是阻塞该进程,并将之插入x的阻塞队列中,同时释放管程以便其他进程可以使用。
12.假设某同学不小心在程序中引入了一个死循环,那么,该程序在抢占式进程调度环境中运行时,一旦进入此循环,将会出现如下结果:(B
)。
A.对应进程一直处于运行态
B.对应进程可能在运行态和就绪态之间交替转换
C.操作系统将杀死对应进程
D.系统将进入僵死状态,对用户操作失去反应
对应进程可能在运行态和就绪态之间交替转换:
这是正确的。在抢占式调度中,当进程的时间片用完或者更高优先级的进程出现时,当前进程(即使是处于死循环中的进程)会被抢占,状态从运行态变为就绪态。当调度器再次选择它执行时,它又会回到运行态。
13.在下列同步机制中,可以实现让权等待的是(C
)。
A.Peterson方法
B.swap指令
C.信号量方法
D.TestAndSet指令
硬件方法实现进程同步不能实现让权等待,即选项B、D错误;Peterson算法满足有限等待但不满足让权等待,即选项A错误:记录型信号量由于引入阻塞机制,消除了不让权等待的情况,即C选项正确。
14.在设备管理中,引入缓冲的主要原因不包括(B
)。
A.缓和处理器和外设之间访问速度不匹配的矛盾
B.缓和处理器和内存之间访问速度不匹配的矛盾
C.减少对处理器的中断频率,放宽对处理器中断响应时间的限制
D.提高处理器和外围设备之间的并行性
引入缓冲的主要原因是用来缓解处理器与外围设备之间工作速度不匹配的矛盾,减少CPU的中断频率,提高处理器和外围设备之间的并行性。缓冲不缓和处理器和内存之间速度不匹配的矛盾。
15.可重定位内存的分区分配目的是为(A
)。
A.解决碎片问题
B.便于多作业共享内存
C.便于用户干预
D.回收空白区方便
在连续分配存储管理方式中,用户程序必须装入到连续的内存空间中。当计算机运行一段时候,它的内存空间将会被分割成许多小的分区,而缺乏大的分区。即使这些分散的小分区的容量总和大于要装入的程序,但由于这些分区不相邻,也无法把该程序装入内存,可采用的一种方法是:将内存中的所有作业进行移动,使它们全都相邻接,要做到如此可用动态重定位方法进行解决,也即是解决了碎片问题。
16.系统调用的作用是( D
)。
A.申请系统资源
B.终止系统服务
C.释放系统资源
D.请求系统服务