操作系统期末复习考题三(不挂科系列)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


一、前言🚀🚀🚀

二、正文☀️☀️☀️

1.OS的五大功能包括:处理机管理、存储器管理、设备管理、文件管理、用户接口,主要功能处理机管理、存储器管理、设备管理、文件管理。

2.在下列动态分区分配算法中,最容易产生内存碎片的是 (C)。

A.首次适应算法

B.最坏适应算法

C.最佳适应算法

D.循环首次适应算法

首次适应算法要求空间分区链以地址递增的次序链接在分配内存时,从链首开始顺序査找,直至找到一个大小能满足要求的空闲分区为止,按作业大小划出一块内存空间分配给请求者。该算法每次都是从低地址开始查找,导致低址部分不断被划分,会留下许多难以利用的、很小的空闲分区。

循环首次适应算法是从上次找到的空闲分区的下一个空闲分区开始査找,直至找到一个能满足要求的空闲分区,从中划出一块与请求大小相等的内存空间分配给作业。该算法能使内存中的空闲分区分布得更均匀,从而减少了査找空闲分区时的开销,但这样会缺乏大的空闲分区。

最佳适应算法是指每次为作业分配内存时,总是把能满足要求、又是最小的空闲分区分配给作业,避免"大材小用"。为了加速寻找,该算法要求将所有的空闲分区按其容量以从小到大的顺序形成一空闲分区链,这样,第一次找到的能满足要求的空闲区,必然是最佳的。孤立地看,最佳适应算法似乎是最佳的,然而在宏观上却不一定。因为每次分配后所切割下来的剩余部分总是最小的,这样,在存储器中会留下许多难以利用的小空闲区

最坏适应算法要求将所有的空闲分区按其容量以从大到小的顺序形成一空闲分区链,査找时只要看第一个分区能否满足作业要求。但是该算法会使存储器中缺乏大的空闲分区。从以上分析中可以看出,最佳适应算法最容易产生内存碎片。

3.下列选项中,不可能在用户态发生的是 (C)

A.系统调用

B.外部中断

C.进程切换

D.缺页

在操作系统中,用户态(用户模式)和内核态(内核模式或管理模式)是两种主要的执行状态。用户态下的程序不能直接访问硬件和操作系统内核的某些功能,而需要通过系统调用来间接完成。

现在,我们来看这些选项:

系统调用 :这是用户态程序请求操作系统内核服务的一种机制。用户态程序通过系统调用来进入内核态,然后执行相应的内核代码。因此,系统调用可以在用户态发生,但随后会切换到内核态执行。

外部中断 :外部中断(如键盘输入、鼠标点击、定时器中断等)通常是由硬件产生的,并且它们会直接触发CPU从用户态切换到内核态来执行中断处理程序。但是,说外部中断在用户态发生"是不准确的,因为中断处理程序是在内核态下执行的。但中断本身可以在任何时候(包括用户态运行时)发生。

进程切换 :进程切换是操作系统内核的一个功能,用于从一个进程切换到另一个进程。这个过程涉及到保存当前进程的上下文、选择下一个要运行的进程、恢复该进程的上下文等。所有这些操作都是在内核态下完成的,因此进程切换不可能在用户态发生。进程切换是在管态

缺页 :缺页(或页面错误)是虚拟内存管理中的一个概念,当进程尝试访问一个尚未在物理内存中的页面时,就会发生缺页。这通常会导致一个异常,然后操作系统内核会介入来处理这个异常(例如,从磁盘加载页面到物理内存)。因此,缺页虽然可以由用户态的程序触发,但其处理过程是在内核态下完成的。

4.文件名不能包含下列任何字符: / \ : * ? <>

5.下列关于线程的描述中,错误的是 (B )。

A.内核级线程的调度由操作系统完成

B.操作系统为每个用户级线程建立一个线程控制块

C.用户级线程间的切换比内核级线程间的切换效率高

D.用户级线程可以在不支持内核级线程的操作系统上实现

内核级线程是在操作系统内核的支持下运行的,为了对内核线程进行控制和管理,在内核空间也对每一个内核线程设置了一个线程控制块,而不是为每个用户级线程建立线程控制块;用户级线程切换不需要转换内核空间,切换效率高,开销小;用户级线程的实现与操作系统平台无关,因此可以在不支持内核级线程的操作系统上实现。


休息一下,马上回来~

6.下列与中断相关的操作中,由操作系统完成的是 (BCD)。

A.保存被中断程序的中断点

B.提供中断服务

C.初始化中断向量表

D.保存中断屏蔽字

保存被中断程序的中断点 这一操作通常是由硬件自动完成的。当CPU检测到中断信号时,它会自动保存当前程序的执行状态,包括程序计数器(PC)的值,以便在中断处理完成后能够恢复原来的执行。

7.进程同步方法,不包括 (C)

A.锁机制

B.信号灯机制

C.死锁机制

D.通信机制

A. 锁机制(Lock Mechanism)

锁机制是一种用于控制多个进程或线程对共享资源访问的技术。通过锁定共享资源,可以确保在任意时刻只有一个进程或线程可以访问该资源,从而实现进程同步。这包括互斥锁(Mutex)、读写锁(Reader-Writer Lock)等。

B. 信号灯机制(Semaphore Mechanism)

信号灯机制是一种用于同步进程或线程访问共享资源的机制。它使用一个或多个信号灯(Semaphore)来表示资源的数量或状态。进程或线程在访问共享资源之前,必须先检查信号灯的状态,并根据状态决定是否等待或继续执行。

C. 死锁机制(Deadlock Mechanism)

死锁机制并不是一种进程同步方法,而是一种系统状态,其中两个或多个进程无限期地等待一个或多个资源,而这些资源又被其他等待进程所持有。死锁是进程同步中需要避免的一种情况,因为它会导致系统资源的浪费和进程的阻塞。

D. 通信机制(Communication Mechanism)

通信机制是一种允许进程之间进行信息交换的技术。通过通信机制,进程可以发送和接收消息,从而协调它们之间的活动。进程间的通信是实现进程同步的一种重要手段,它允许进程在需要时相互通知和协作。

8.某计算机系统中有13台打印机,有K个进程竞争使用,每个进程最多需要5台打印机,该系统可能会发生死锁的K最小值是 ( 4)。

构建一种不死锁的状态,一组进程中每个进程都能获得比它所需要的最多资源少一个的情况,产生竞争,再给该组进程一个资源,这时候就不死锁,由此可得不死锁的公式为Kx(5-1)+1>13,得K>3,则最小值为4。

9.文件系统管理空闲磁盘块的数据结构常用的有空闲磁盘块表和空闲磁盘块链、位示图、文件分配表、成组链接法。

10.Linux操作系统把作业放到后台执行的命令是( bg )

11.具有并行处理能力的计算机系统结构不包括 (C)

A.多处理机系统

B.计算机网络系统

C.个人计算机操作系统

D.消息传递型多计算机系统

12为解决由于通道不足所造成的瓶颈问题,可采取 (D)技术

A.字节多路通道

B.数组多路通道

C.数组选择通道

D.多通路

多通路:这是解决"瓶颈"问题的最有效方法。通过增加设备到主机间的通路而不增加通道,**即把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上,**这样既解决了瓶颈问题,也增加了系统的可靠性。

13.分页存储管理中存储保护是通过 (C)完成的

A.快表

B.存储键

C.索引动态重定位

D.页表

内存保护采用两种方法:(1)在CPU中设置一对上、下限寄存器,存放用户作业在主存中的下限和上限地址,对每个地址判断有无越界。(2)采用重定位寄存器和界地址寄存器来实现保护。

14.下列关于父进程与子进程的叙述中错误的是 (B )。

A.父进程与子进程可以并发执行

B.父进程与子进程共享虚拟地址空间

C.父进程与子进程有不同的进程控制块

D.父进程与子进程不能同时使用同一临界资源

父进程与子进程可以并发执行:这是正确的。父进程和子进程都是系统分配资源的最小单位,都是独立的进程,因此它们可以并发运行。这意味着在宏观上,它们似乎都在同时执行,但在微观上,它们是通过快速交替的方式来执行的。

父进程与子进程共享虚拟地址空间:这是错误的。父进程和子进程各自拥有独立的虚拟地址空间。在创建子进程时,系统会为子进程分配新的资源,包括虚拟地址空间。尽管父进程和子进程在某些情况下可能共享某些资源(如数据段),但它们并不共享整个虚拟地址空间。

父进程与子进程有不同的进程控制块:这是正确的。进程控制块(PCB)是进程存在的唯一标志,每个进程都有自己的PCB。因此,父进程和子进程具有不同的PCB。

父进程与子进程不能同时使用同一临界资源:这是正确的。临界资源是指一次只能被一个进程使用的资源。因此,父进程和子进程不能同时使用同一临界资源。

15.下列关于系统调用的叙述中,正确的是 (ABD )。

A.在执行系统调用服务程序的过程中,CPU处于内核态

B.操作系统通过提供系统调用避免用户程序直接访问外设

C.不同的操作系统为应用程序提供了统一的系统调用接口

D.系统调用是操作系统内核为应用程序提供服务的接口

操作系统通过系统调用来调用服务程序,这个服务程序就是系统程序,系统程序运行时CPU处于内核态;系统调用提供了用户程序和操作系统内核之间的接口,不仅可供所有的应用程序使用,也可供操作系统自身使用,用户程序可以通过系统调用来达到控制外部设备的目的,保证了操作系统的安全;不同的操作系统为应用程序提供的接口是不同的,例如i0S系统和Windows系统是两种截然不同的操作系统,应用不同,系统调用是不同的

三、总结🍓🍓🍓

相关推荐
YmgmY2 分钟前
推荐算法学习笔记2.2:基于深度学习的推荐算法-基于特征交叉组合+逻辑回归思路的深度推荐算法-Deep Crossing模型
笔记·学习·推荐算法
cool 32114 分钟前
python学习-函数
学习
Purepisces34 分钟前
深度学习笔记: 最详尽解释预测系统的分类指标(精确率、召回率和 F1 值)
人工智能·笔记·python·深度学习·机器学习·分类
铁匠匠匠42 分钟前
django学习入门系列之第三点《案例 小米商城二级菜单》
前端·css·经验分享·python·学习·django·前端框架
猫头虎1 小时前
猫头虎博主全栈前沿AI技术领域矩阵社群
人工智能·职场和发展·创业创新·学习方法·业界资讯·程序员创富·改行学it
jiayoushijie-泽宣1 小时前
深入浅出3D感知中的优化与基于学习的技术 (第二章) 原创教程
人工智能·学习·算法·机器学习·3d·机器人
2301_795168581 小时前
昇思25天学习打卡营第6天|简单的深度学习模型实战 - 函数式自动微分
人工智能·深度学习·学习
javaer炒粉1 小时前
Es结合springboot(笔记回忆)
spring boot·笔记·elasticsearch
林麓1 小时前
数据结构笔记第3篇:双向链表
数据结构·笔记·链表
史前大洪水2 小时前
Java - 程序员面试笔记记录 & 实现 - Part2
笔记