Bootstrap

操作系统期末复习考题

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


一、前言🚀🚀🚀

小郑在刷题的过程中帮大家整理了一些常见的考试题目,以及易于遗忘的知识点,希望对大家有所帮助。

二、正文☀️☀️☀️

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

A 、 线程是进程的一个组成部分,一个进程可以有多个线程,而且至少有一个可执行的线程。这是正确的,因为线程是进程内的一条执行路径,多个线程可以共享进程的资源。
B 、进程是 资源分配 的基本单位,线程是处理机调度的基本单位。这也是正确的,因为操作系统在创建进程时,会为它分配资源(如内存空间、文件句柄等),而线程则是共享这些资源,并在其上执行代码。调度器通常以线程为单位来分配处理机时间。
C 、以线程为单位进行处理机调度和切换时,相比以进程为单位进行处理机调度和切换时间更短。这是正确的,因为线程切换通常只需要保存和恢复线程的上下文(如寄存器值、栈指针等),而不需要像进程切换那样涉及整个进程的上下文(包括内存映射、打开的文件等),因此线程切换的开销通常更小。
D 、线程和进程一样,都有自己的状态和相应的同步机制,但线程不能像进程那样将程序和数据交换到外存去。这是错误的。线程是依附于进程的,它们共享进程的地址空间,包括代码段、数据段等。当进程被交换到外存时,其所有的线程都会受到影响,因为线程并没有自己独立的地址空间。所以,线程不能独立地将程序和数据交换到外存去,这是由进程来管理的。

在这里插入图片描述

在这里插入图片描述

B. 可能发生死锁:虽然题目描述中没有明确说明进程的请求顺序或策略,但由于每次只有一个进程可以请求资源,且资源数量多于进程数,所以通常不会发生死锁。但是,如果进程间存在某种循环等待(例如,进程A等待进程B释放资源,进程B等待进程C释放资源,而进程C又等待进程A释放资源),则可能发生死锁。然而,这种循环等待在题目描述的情况下不太可能出现。

D. 不会发生死锁:在没有明确的进程请求策略和顺序的情况下,我们不能100%确定不会发生死锁。但是,考虑到资源数量多于进程数,且进程每次只请求一个资源,发生死锁的可能性非常小。

在这里插入图片描述

运行原语:在标准的进程控制原语中,并没有直接称为“运行原语”的原语。进程的“运行”状态通常是由操作系统调度器自动管理的,而不是通过某个特定的原语来控制的。进程控制原语更多地关注于进程状态的转换(如创建、阻塞、唤醒、终止等),而不是直接控制进程的执行状态。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

A、由运行变就绪:这通常不是由进程释放资源直接导致的。一个进程从运行状态变为就绪状态通常是因为它被调度器中断(如时间片用完)或因为某些原因(如I/O操作)主动让出CPU。
B、由就绪变运行:这也不是由进程释放资源直接导致的。一个进程从就绪状态变为运行状态是因为调度器选择了它来执行。
C、由阻塞变运行:这通常也不会直接由进程释放资源导致。一个阻塞的进程需要等待某个条件(如获取资源)变为真才能从阻塞状态变为就绪状态,并最终可能被调度器选中而变为运行状态。
D、由阻塞变就绪:当一个进程释放了某种资源,而另一个或多个进程正在等待这个资源以便继续执行,那么这些等待的进程可能会因为资源的释放而满足其执行条件,从而从阻塞状态变为就绪状态。
在这里插入图片描述
当一个进程处于“就绪状态”时,它表示该进程已经准备好了运行,即它已经被分配了除CPU以外的所有必要资源,并且没有因为其他原因(如I/O操作、等待其他资源等)而被阻塞。

A、它正等着读磁盘 - 这表示进程正在等待I/O操作完成,因此它处于阻塞状态,而不是就绪状态。
B、它正等着进入主存 - 这同样表示进程正在等待某个资源(在这里是主存空间)变得可用,因此它也是处于阻塞状态。
C、它正等着输入一批数据 - 这也表明进程正在等待外部输入,因此它处于阻塞状态。
D、它正等着 CPU 的控制权 - 这正是就绪状态的定义。进程已经准备好执行,只需要等待CPU变得可用。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
死锁生成的四个条件:
1.互斥 2.不剥夺 3. 请求和保持条件(保存着某种资源不放的同时,请求其他资源) 4.循环等待

在这里插入图片描述
在这里插入图片描述

三、总结🍓🍓🍓

在这里插入图片描述

;