操作系统核心名词解释--期末简答题快速复习
本文系统梳理操作系统关键知识,涵盖进程与线程管理、存储管理、死锁处理、I/O 技术等核心模块
大学操作系统简答题/名词解释可以靠本文章快速复习!
目录
一、名词解释
管态
目态
并发
并行
进程
线程
管程
就绪态
运行态
阻塞态
临界区
临界资源
死锁
饥饿
死锁预防
死锁避免
抢占式调度
非抢占式调度
TLB
Spooling技术
输入井
缓冲池
时钟页面置换算法
设备的无关性
数字签名
非对称加密
二、简答题
在操作系统中为什么要引入进程概念?
试比较进程和程序的区别
进程的基本状态有哪些?试描绘进程状态转换图。
什么是临界区和临界资源?进程进入临界区的调度原则是什么?
什么是进程间的互斥?什么是进程间同步?
请简要说明使得一个进程或线程从与运行态变为阻塞态的原因
请比较说明用户级线程与核心级线程的异同点
什么是线程?它与进程有什么关系?
什么是管程?它由哪几部分组成?有什么基本特性?
计算机系统中产生死锁的根本原因是什么?死锁发生的四个基本条件是什么?
简述发生死锁的四个必要条件?
死锁预防的基本思想是什么?死锁避免的基本思想是什么?
实现SPOOLing系统的硬件前提是什么?SPOOLing系统的主要功能是什么?
请说明时钟页面置换算法的主要思想
什么是页故障?发生页故障时操作系统如何处理?
什么是虚拟存储器?它有哪些基本特征?
什么是分页?什么是分段?两者有何主要区别
什么叫寻道?访问磁盘时间由哪几部分组成?其中哪一个是磁盘调度的主要目标?为什么?
一、名词解释
管态
运行操作系统程序时处于的状态,能够访问所有硬件资源,能够执行全部的机器指令,属于特权状态。
目态
运行用户程序时处于的状态,用户态,只能够执行部分的机器指令,访问硬件资源受到限制。
并发
两个或者两个以上的事情在同一个时间间隔内发生。操作系统中,把一个时间段分成几个小的时间片段,每一个时间片段分配给一个进程(线程)运行,但是同一个时刻只有一个进程(线程)在运行。
并行
两个或者两个以上的事件在同一个时刻发生。如果计算机有多个CPU,那么并发的进程分配给不同的CPU,就可以实现真正的并行。
进程
正在运行的程序的实例,包括程序计数器、寄存器、和变量当前的值。是资源分配和调度的基本单位。
线程
轻量级进程,程序执行的最小单位,CPU上调度执行的实体,使用CPU的基本单位。由线程ID、程序计数器、寄存器和堆栈构成。
管程
由过程、变量和数据结构组成的一个集合,组成一个特殊的软件包。特点:任一个时刻只有一个活动的进程
就绪态
当一个进程获得了除CPU以外的一切所需资源,一旦得到CPU即可运行,则称此进程处于就绪状态。
运行态
当一个进程在CPU上运行时,进程处于运行状态。
阻塞态
一个进程正在等待某些外部事件发生而停止运行,除非这种外部事件发生,否则进程无法运行。
临界区
对共享内存进行访问的程序片段叫做临界区
临界资源
一次只允许一个进程使用的资源称为临界资源,有硬件打印机、磁带机等
死锁
如果一个进程集合的每个进程都在等待该进程集合的其它进程才能引发的事件,那么该进程集合就是死锁的。
或者两个或两个以上的进程在执行过程中,因为争夺资源而发生的一种互相等待的现象,如果没有外力作用,那么它们都无法推动,称为发生了死锁。
饥饿
在系统中,每个资源占有者都在有限的时间内释放它占有的资源,但是可能使得一些进程永远无法得到资源,它们总是无限地推后,尽管它们没有被阻塞。
或者有时资源分配策略可能是不公平的,即不能保证等待时间上界的存在。在这种情况下,即使系统没有发生死锁,某些进程也可能会长时间等待。当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。
死锁预防
通过保证四个条件中至少有一个不成立,那么死锁就不会发生。在设计时确定资源分配算法,系统按预先规定的策略为进程进行分配,为保证不发生死锁,而破坏产生死锁的必要条件的行为过程。
或者要求进程请求资源时遵循某种协议,从而打破产生死锁的四个必要条件中的一个或几个,保证系统不会进入死锁状态
死锁避免
死锁的避免是当进程提出资源申请时系统测试资源分配,仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。
抢占式调度
抢占式调度算法挑选一个进程,然后让它运行至某个固定时段的最大值,时间段用完时,它被挂起,调度算法选择另外一个进程运行。
非抢占式调度
非抢占式调度算法挑选一个进程,然后让该进程运行直至阻塞或者它自动释放CPU。
TLB
位于CPU中。转换后援缓冲器,是一个小型硬件设备,将虚拟地址直接映射到物理地址,不必再访问页表。
Spooling技术
通过Spooling技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备,把独享设备变成共享设备的技术。
输入井
是指为使设备与 CPU速度相匹配,系统在磁盘上设置的多个缓冲区,以实现设备和 CPU之间的数据交换。
缓冲池
由若干个大小相同的缓冲区组成,把系统内的缓冲区统一管理起来,变专用为通用。系统在磁盘上设置的多个缓冲区,既可以用于输入,也可以用于输出,较好的克服了专用缓冲区的缺点。一方面提高了缓冲区的利用率,另一方面也提高了设备与 CPU的并行操作程度
时钟页面置换算法
简单的CLOCK算法是给每一帧关联一个附加位,称为使用位。当某一页首次装入主存时,该帧的使用位设置为1;当该页随后再被访问到时,它的使用位也被置为1。对于页替换算法,用于替换的候选帧集合看做一个循环缓冲区,并且有一个指针与之相关联。当某一页被替换时,该指针被设置成指向缓冲区中的下一帧。当需要替换一页时,操作系统扫描缓冲区,以查找使用位被置为0的一帧。每当遇到一个使用位为1的帧时,操作系统就将该位重新置为0;如果在这个过程开始时,缓冲区中所有帧的使用位均为0,则选择遇到的第一个帧替换;如果所有帧的使用位均为1,则指针在缓冲区中完整地循环一周,把所有使用位都置为0,并且停留在最初的位置上,替换该帧中的页。
设备的无关性
设备独立性,即应用程序独立于具体使用的物理设备。设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。
数字签名
所谓数字签名就是附加在数据单元上的一些数据。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。一般是对文档进行散列运算得到散列值,然后发送方用私钥对散列值进行加密得到一个值,该值称为数字签名。
或者是一种使用公钥加密领域的技术实现,用于鉴别数字信息。
非对称加密
非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。
二、简答题
在操作系统中为什么要引入进程概念?
为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程概念。进程是资源分配和调度的基本单位,引入了进程后才使得处理机利用率和内存利用率大大提高。
或者由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序执行过程中就出现了相互制约的新关系,程序执行出现“走走停停”的新状态。“程序”这一静态概念不足以如实反映程序执行过程中的新特征,所以引入“进程”来描述程序动态执行过程。
试比较进程和程序的区别
程序是静态实体,是指令的集合,进程是动态实体,是运行的程序的实例。并发性是进程的主要特征,也是OS的主要特征,引入进程的原因是为了使程序和其他进程的程序能够并发运行,而程序是无法并发的。进程是独立运行的实体,也是资源分配和调度的基本单位,而程序是不可以作为独立单位运行的。
进程的基本状态有哪些?试描绘进程状态转换图。
运行态、就绪态、阻塞态
什么是临界区和临界资源?进程进入临界区的调度原则是什么?
临界区:对共享内存进行访问的代码片段
临界资源:一次只能允许一个进程使用的资源
调度原则:
Ø 1.若干进程想进入空闲的临界区,一次仅允许一个进程进入
Ø 2.任何时候,处于临界区的进程不能多于一个
Ø 3.进入临界区的进程要在有限的时间内退出
Ø 4.如果进程不能进入自己的临界区,则应让出CPU
什么是进程间的互斥?什么是进程间同步?
进程互斥 :指两个或两个以上的进程由于竞争资源而形成的制约关系。
进程同步 :指两个或两个以上的进程由于某种时序上的限制而形成的相互合
作的制约关系。
请简要说明使得一个进程或线程从与运行态变为阻塞态的原因
进程正在等待某个外部事件的发生而无法继续运行时从运行态转到阻塞态
请比较说明用户级线程与核心级线程的异同点
(1)内核支持线程是OS内核可感知的,而用户级线程是OS内核不可感知的。
(2)用户级线程的创建、撤消和调度不需要OS内核的支持,是在语言(如Java)这一级处理的;而内核支持线程的创建、撤消和调度都需OS内核提供支持,而且与进程的创建、撤消和调度大体是相同的。
(3)用户级线程执行系统调用指令时将导致其所属进程被中断,而内核支持线程执行系统调用指令时,只导致该线程被中断。
(4)在只有用户级线程的系统内,CPU调度还是以进程为单位,处于运行状态的进程中的多个线程,由用户程序控制线程的轮换运行;在有内核支持线程的系统内,CPU调度则以线程为单位,由OS的线程调度程序负责线程的调度。
(5)用户级线程的程序实体是运行在用户态下的程序,而内核支持线程的程序实体则是可以运行在任何状态下的程序。
什么是线程?它与进程有什么关系?
轻量级进程,程序执行的最小单位,CPU上调度执行的实体,使用CPU的基本单位。由线程ID、程序计数器、寄存器和堆栈构成。
线程是程序执行的最小单元,进程是资源分配和调度的基本单位;
一个进程由一到多个线程组成,每个线程负责不同的功能;
进程之间相互独立,数据独立,但是一个进程的线程共享地址空间和全局变量;
线程的调度比进程要快得多;
线程在执行过程中,需要协作同步;
两者都可以实现并发。
什么是管程?它由哪几部分组成?有什么基本特性?
一种高级同步原语。由过程、变量和数据结构组成的一个集合,组成一个特殊的软件包。特点:任意时刻只有一个活动的进程
计算机系统中产生死锁的根本原因是什么?死锁发生的四个基本条件是什么?
根本原因是资源有限而且操作不当。
四个必要条件:
- 互斥条件。每个资源要么分配给一个进程,要么就是可用的
- 占有和等待条件。已经得到某个资源的进程可以再请求新的资源
- 不可抢占条件。已经分配给某个进程的资源不可以被强制性抢占,它只能被占有它的进程显式地释放
- 环路等待条件。死锁发生时,系统中一定有两个或者两个以上的进程组成的环路,该环路的每个进程都在等待下一个进程占有的资源。
简述发生死锁的四个必要条件?
四个必要条件:
- 互斥条件。每个资源要么分配给一个进程,要么就是可用的
- 占有和等待条件。已经得到某个资源的进程可以再请求新的资源
- 不可抢占条件。已经分配给某个进程的资源不可以被强制性抢占,它只能被占有它的进程显式地释放
- 环路等待条件。死锁发生时,系统中一定有两个或者两个以上的进程组成的环路,该环路的每个进程都在等待下一个进程占有的资源。
死锁预防的基本思想是什么?死锁避免的基本思想是什么?
死锁预防:通过保证四个条件中至少有一个不成立,那么死锁就不会发生。在设计时确定资源分配算法,系统按预先规定的策略进行分配,为保证不发生死锁,而破坏产生死锁的必要条件的行为过程。
死锁的避免是当进程提出资源申请时系统测试资源分配,仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。
实现SPOOLing系统的硬件前提是什么?SPOOLing系统的主要功能是什么?
实现SPOOLING系统的首先要有硬件支持:要提供大容量的磁盘,要有中断和通道装置,以便使外围设备与中央处理器能够并行工作。
功能:它是为了满足多道程序或多进程对独占设备的共享使用而引入的,其主要功能即是:将独占设备改造为共享设备,实现虚拟设备。
请说明时钟页面置换算法的主要思想
将所有页面组成一个环形链表,为每一个页面设置一个使用位R,指针指向最老的一个页面。当要发生页面置换时,如果当前指针指向的页面的R=0,那么直接淘汰该页面,指针向前移动一格;否则,将该页面的R设置为0,指针向前移动一格,直到找到R=0的页面为止。
什么是页故障?发生页故障时操作系统如何处理?
页面故障就是缺页中断,要访问的页不在内存中。
进行页面调度,把内存的一个页面淘汰,把外存的页面调入内存,然后进行访问。
什么是虚拟存储器?它有哪些基本特征?
是用户可作为可编址内存对待的虚拟存储空间,实现了逻辑存储器和物理存储器的分离,是操作系统给用户提供的比真实内存空间大得多的逻辑地址空间。
基本特征Ø
虚拟性:逻辑上而非物理上扩充了内存容量
Ø 部分装入性:每个作业装入一部分至内存而非全部
Ø 离散性:不占用连续的内存空间,而是“见缝插针”
Ø 多次交换性:所需全部资源分多次调入内存
什么是分页?什么是分段?两者有何主要区别
分页:由系统将一个进程的逻辑地址空间划分成若干大小相同的块,每个块称作一个页面
分段:用户根据作业的逻辑关系进行自然划分,每个分段是作业中独立的一部分,每个段是由0至某个最大的线性地址序列构成,段的长度可以在运行期间动态改变。
相同点:都是非连续的存储管理方法
区别:
Ø 页是信息的逻辑单位,段是信息的物理单位
Ø 页面的大小由系统确定,且各页大小相同;各段大小不尽相同,由用户决定
Ø 分页的作业地址空间是一维的,分段作业的地址空间是二维的
Ø 分页活动对用户不可见,分段活动对用户可见
什么叫寻道?访问磁盘时间由哪几部分组成?其中哪一个是磁盘调度的主要目标?为什么?
寻道:磁头移动到数据所在的磁道
访问磁盘时间:
寻道时间:磁盘臂移动到适当柱面(数据所在柱面)所需的时间
Ø 旋转延迟:等待合适的扇区转到磁头下方所需时间
Ø 实际数据传输时间
寻道时间占据主导地位,所以是磁盘调度的主要目标