操作系统题库
虚拟内存方案为页表项使用了一个特殊的高速缓存,通常称为( 转换检测缓冲区(TLB) )。
根据操作系统内核是否能感知线程,可以把线程分为两类,其中( 用户级线程 )对程序员来说是可见的,而对内核来说却是不可见的。
当系统采用资源有序分配的方法预防死锁时,它破坏了死锁的必要条件中的(循环等待 )条件
处理多个中断有两种方法,分别是( 顺序处理 )和(嵌套处理 );
页表项中有一个控制位用来表示当前页是否在内存中,它叫做( 存在位 ),当此控制位未置位时,产生一次内存访问故障,称为( 缺页中断 )
在最高响应比优先调度算法中,当各个进程的等待时间相同时,( 服务时间长 ) 的进程将优先调度;当各进程的服务时间相同时,( 等待时间长 ) 的进程将优先调度。
两级存储器提高性能的理论基础是 (局部性原理 ) 。
处理死锁通常有三种方法 (静态预防 ) 、 (动态避免 ) 、 ( 动态检测及解除 ) 。
现代操作系统进程管理的基本功能是 (创建 ) 、 ( 管理 )、 ( 终止 ) 进程。
对I/O操作可能的三种技术 ( 程序I/O )、(中断I/O )、( DMA ) 。
简述进程切换与模式切换的区别。
模式切换是用户态和内核态之间的切换,因为他们的资源是共享的,所以效率高并且不改变正在运行的进程的状态。
进程切换是一个正在运行的进程被中断,操作系统指定另一个进程为运行态,并把控制权交给这个进程。进程切换可以在操作系统从当前正在运行的进程中获得控制权的任何时刻发生,由于进程之间不同状态的切换,需要重新分配各种资源,操作系统需要做更多的工作。
12.简述DMA概念
DMA是直接存储器访问技术,其功能由系统总线中的一个独立模块完成或并入到一个I/O模块。当CPU需要读写一块数据时,它给DMA模块发出一条命令,然后断续处理其他工作。DMA模块直接与存储器交互,此进程无需CPU参与,传送完毕之后,DMA发送中断信号给CPU。
- 请列举两种常用的页面置换算法,并简要说明其算法思想和优缺点。
最佳置换OPT:选择置换下次访问距当前时间最长的那些页。OPT能导致最少的缺页中断,但是由于它要求操作系统必须知道将来的事件,显然这是不可能实现的。但是它仍然能作为一种标准来衡量其他算法的性能。
先进先出FIFO:置换出驻留在内存中时间最长的页。FIFO是实现起来最简单的置换算法,只需要使用一个循环移动的指针。但是FIFO可能导致一些页会反复的被换入换出。
最近最少使用LRU:置换内存中上次使用距离当前最远的页。LRU的性能接近于OPT。但LRU比较难于实现,而且实现的开销比较大。
- 说明动态分区存储管理中的最佳和首次适配算法的执行过程,以及他们的优缺点。
最佳适配:选择与要求的大小最接近的空闲块。首次适配:从开始扫描内存,选择大小足够的第一个可用块。首次适配算法不仅是最简单的,而且通常是最快和最好的。但首次适配算法会使得内存的前端出现很多小的空闲分区,并且每当进行首次适配查找时,都要经过这些分区。最佳适配算法尽管称为“最佳”,但通常性能却是最差的。这个算法需要查找满足要求的最小块,因而它可能保证产生的碎片尽可能的小。尽管每次存储请求总是浪费最小的存储空间,但结果却使得内存中很快产生许多很小的块,这些块通常很小以至于不能满足任何内存分配请求。因此,最佳适配算法比其他算法需要更经常的进行内存压缩。
- 什么是进程?为什么要在操作系统中引入进程?
进程是可并发执行且具有独立功能的程序在一个数据集合上的运行过程,它是操作系统进行资源分配和调度的基本单位。“进程”概念是人们为了使程序能够并发执行,并且能对并发的程序加以描述和控制而引入的。
- 简述什么是临界区?对临界区的互斥访问有哪些要求?
对临界区的互斥访问必须满足(1)必须强制实施互斥,即只允许一个进程进入临界区 (2)一个在非临界区停止的进程不能干涉其他进程 (3)绝不允许出现需要访问临界区的进程被无限延迟的情况,即不会死锁或饥饿 (4)当没有进程在临界区中时,任何需要进入临界区的进程必须能够立即进入 (5)对相关进程的执行速度和处理器的数目没有任何要求和限制 (6)一个进程驻留在临界区中的时间必须是有限的。
使用临界资源的那一部分程序称为临界区。
- 处理器调度的层次有哪些?各层次的主要工作是什么?
(2)中级调度:内存和外存之间的交换。系统内存使用紧张时,把内存中暂时不能运行的进程调到外存中等待,等内存有足够的空闲空间时,再将外存上的某些具备了运行条件的就绪进程调入内存
(1)高级调度:从驻留在外存后备队列中选择一个或多个作业调入内存,创建进程并放入就绪队列中,等待被调度执行。
(3)低级调度:按照一定的算法从就绪队列中选择一个进程,然后将处理器分配给它。
处理器调度的层次分为三级调度:高级调度、中级调度和低级调度。
一个计算机系统的虚拟存储器,其最大容量和实际容量分别由什么决定?
虚拟存储器的实际容量由指令中表示地址的字长决定,也就是计算机的地址结构决定的。
虚拟存储器的最大容量由主存和辅存的容量之和确定。什么是内部碎片和外部碎片?固定分区分配、可变分区分配、分段存储管理和分页存储管理可能产生何种碎片?
内碎片:在一个分区或页的内部出现的碎片(即被浪费的空间)。外碎片:在所有分区之外新增的碎片称作外部碎片。固定分区分配、分页存储管理可能产生内碎片。可变分区分配、分段存储管理可能产生外碎片请简述FCFS (先来先服务)、RR (轮转)、SPN (最短进程优先)进程调度算法的算法思想。
(3)最短进程优先 SPN:选择预计处理时间最短的进程运行。
轮转RR:以一个时间间隔(时间片)产生时钟中断,当时钟中断发生时,当前正在运行的进程被置于就绪队列中,然后基于FCFS策略选择下一个就绪进程运行。
先来先服务FCFS:选择在就绪队列中存在时间最长的进程执行。
- 简述进程控制块的内容。
进程控制块中包含标识符、状态、优先级、程序计数器、内存指针、上下文数据、I/O状态信息、记账信息。
- semWait操作和semSignal操作是如何定义的?简述当进程调用了semWait和semSignal后,它自身的进程状态的改变情况。
semWait操作:信号量减1,若值为负数,则执行semWait的进程被阻塞。否则进程继续执行。semSignal操作:信号量加1,若值小于或等于零,则被semWait操作阻塞的进程被解除阻塞。当进程调用了semWait,它自身的进程状态可能不改变,或由运行态变为阻塞态。当进程调用了semSignal,它自身的状态不变。
- 某杂技团进行走钢丝表演。在钢丝的A、B两端各有n名演员(n>1)在等待表演。只要钢丝上无人时便允许一名演员从钢丝的一端走到另一端。现要求两端的演员交替地走钢丝,且从A端的一名演员先开始。请问,把A、B两端的演员各看作一个进程时,怎样用semWait操作和semSignal操作(PV操作)来进行控制?设置几个信号量,分别用于控制什么,信号量的初值是多少?请写出能进行正确管理的程序。
(参考答案说明:信号量的命名可以任意)设置2个信号量S1、S2。S1用于A端演员是否可以走钢丝,由于A端演员先走,S1初值为1。S2用于B端演员是否可以走钢丝,由于B端演员后走,S2初值为0.。
A端: B端:
semSignal(S2) semSignal(S1)
semWait(S1) semWait(S2)
走钢丝 走钢丝
简述进程与线程的概念。
进程是具有独立功能的程序在某个数据集合上的一次执行过程。进程是系统进行资源分配和调度的一个独立单位。在现代操作系统中,资源申请的基本单位是进程,进程由程序段、数据段和PCB(进程控制块)组成。线程是进程内的一个执行实体或执行单元,是比进程更小的能独立运行的基本单位。简述文件及文件组织的概念。
文件组织:堆、顺序文件、索引顺序文件、索引文件、直接或散列文件。
文件是一组相似记录的集合,它被用户和应用程序看做一个实体,可以通过名字访问。
26.简述抢占式处理器调度和非抢占式处理器调度。
抢占式处理器调度:当前正在运行的进程可能被操作系统中断并转移至就绪态,它可能会导致较大的开销,但对所有的进程会提供较好的服务。
非抢占式处理器调度:一旦进程开始运行,就不间断执行直到终止,或者为等待I/O或请求某些系统服务而阻塞自己。
- 简述在使用TLB的请求式分页内存管理方案中一次指令访问过程。
首先进行逻辑地址转换为页号与页内偏移,根据页号查找TLB中的页表项,如果命中,则进行地址重定位;如果TLB没有命中,则在内存中查找页表,如果当前页在内存,则将此页表项添加到TLB,并将页帧号与页内偏移拼接形成物理地址,如果当前页不在内存,则产生缺页中断,将所缺页调入内存之后,再进行地址重定位。