1. 什么是设备的独立性?它有什么好处?
应用程序独立于具体使用的物理设备
1) 设备分配时的灵活性 2) 易于实现I/O重定向
2.解释死锁的含义,操作系统从哪几方面解决死锁的问题。
是计算机系统中多道程序并发执行时,两个或两个以上的进程由于竞争资源而造成的一种互相等待的现象(僵局),如无外力作用,这些进程将永远不能再向前推进
(1) 预防死锁。 (2) 避免死锁。 (3) 检测死锁。 (4) 解除死锁。
3.采用PV操作作为同步机构时,假定与某共享变量相关的信号量S的值
可在[-1,1]之间,问S的初值是哪个值?当S= -1,S= 0,S= 1 时它们各自的含义是什么?
S的初值是 1.
S=-l,表示有一个进程在等待进入临界区执行。
S=0,表示已有一个进程在临界区执行,这时若有进程想进入临界区则必须等待。 S=l,表示无进程在临界区执行,若有进程想进入临界区则可以立即进入。
4. 实现虚拟设备的硬件条件是什么?操作系统应设计哪些功能程序?
输入井、输出井 输入缓冲区、输出缓冲区
输入进程、输出进程
5.进程调度中“可抢占”和“非抢占”两种方式,哪一种系统的开销更大?为什么?
可抢占式会引起系统的开销更大。
可抢占式调度是严格保证任何时刻,让具有最高优先数(权)的进程占有处理机运行,因此增加了处理机调度的时机,引起为退出处理机的进程保留现场,为占有处理机的进程恢复现场等时间(和空间)开销增大。
6. 试说明资源的静态分配策略能防止死锁的原因。
资源静态分配策略要求每个进程在开始执行前申请所需的全部资源,仅在系统为之分配了所需的全部资源后,该进程才开始执行。这样,进程在执行过程中不再申请资源,从而破坏了死锁的四个必要条件之一“占有并等待条件”,从而防止死锁的发生。
7.一个比较完善的文件系统应该具有哪些功能?
1)文件存储空间的管理
2)目录管理
3)文件的读写管理
4)文件的安全管理
5)提供用户接口
8.一个作业要占有处理器必须经过两级级调度,写出这两级调度且指出它们的关系?
(1)作业调度是宏观调度,它决定了哪一个作业能进入主存。进程调度是微观调度,它决定各作业中的哪一个进程占有中央处理机。(或)作业调度是高级调度,它位于操作系统的作业管理层次。进程调度是低级调度,它位于操作系统分层结构的最内层。
(2)作业调度是选符合条件的收容态作业装入内存。进程调度是从就绪态进程中选一个占用处理机。
9. I/O控制可用那几种方式实现?各有何优缺点?
(1)程序I/O方式
优点:提高了I/O设备与CPU的并行程度
缺点:因为CPU的高速性和I/O设备的低速性,导致CPU大部分时间都处于等待I/O设备,造成对CPU的
极大浪费
(2)中断驱动I/O控制方式
优点:CPU可以与设备并行的工作,比起程序I/O方式来,中端驱动方式成百倍的提高CPU的利用率 缺点:没传送一个字节便请求一次中断,故CPU仍需花费大量时间处理频繁的中断
(3)直接存储器访问DMA I/O控制方式
优点:仅在传送一个数据块的开始和结束时才需要CPU干预,较之中断驱动I/O控制方式提高了CPU利用
率
缺点:一次传送多个数据块时,仍需要CPU发出多条指令进行中断处理
(4)I/O通道控制方式
优点:把以一个数据块的读写为单位的干预,减少为一组数据块为单位的干预,实现了CPU,通道,I/O通
道三者并行操作,提高了系统资源利用率
缺点:CPU要花时间干预I/O读写
10.什么是系统调用?它与一般的过程调用有何区别?
所谓系统调用,就是用户在程序中调用操作系统所提供的一些子功能。
系统调用与一般过程调用不同,其主要区别是:
1.运行的状态不同。
2.进入的方式不同。
3.代码层次不同。
11. 什么叫通道?通道的作用是什么?
I/O通道是一种特殊的处理机。它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。但I/O通道又与一般的处理机不同,主要表现在以下两个方面:
一是其指令类型单一,这是由于通道硬件比较简单, 其所能执行的命令,主要局限于与I/O操作有关的指令; 再就是通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的, 换言之,是通道与CPU共享内存。通道程序解决了I/O操作的独立性和各部件工作的并行性,采用通道技术后,能实现CPU与通道的并行操作。
12.操作系统为什么要引入进程?进程与程序的关系是怎样的?
现代计算机系统中程序并发执行和资源共享的需要,使得系统的工作情况变得非常复杂,而程序作为机器指令集合,这一静态概念已经不能如实反映程序并发执行过程的动态性,因此,引入进程的概念来描述程序的动态执行过程。这对于我们理解、描述和设计操作系统具有重要意义。
1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。进程是一个动态的实体,它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在一定的数据集上运行的全部动态过程。
2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。而这一点正是程序无法做到的,由于程序没有和数据产生直接的联系,既使是执行不同的数据的程序,他们的指令的集合依然是一样的,所以无法唯一地标识出这些运行于不同数据集上的程序。一般来说,一个进程肯定有一个与之对应的程序,而且只有一个。
3)进程还具有并发性和交往性,这也与程序的封闭性不同。
13.简述引起死锁的四个必要条件。
(1) 互斥条件
(2) 请求和保持条件
(3) 不剥夺条件
(4) 环路等待条件
14.什么是动态链接?
答:指用户程序中的各程序段,不是在程序开始运行前就链接好,而是在程序装入或运行过程中,当发现要调用的程序段未链接时,才进行链接。
15.在操作系统中,何为虚拟存储器、虚拟设备、虚拟处理机?
虚拟存储器:通过虚拟存储器技术,将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储
器的容量。
虚拟设备:将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设
备,这样便可使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为在一段时间内允许多个用户同时访问的共享设备。
虚拟处理机:利用多道程序设计技术,把一台物理上的CPU虚拟为多台逻辑上的CPU
16.试从物理概念上来说明记录型信号量和wait 与 signal 操作?
在记录型信号量机制中,S.value的初值表示系统中某类资源的数目, 因而又称为资源信号量,对它的每次wait操作,意味着进程请求一个单位的该类资源,因此描述为S.value∶ =S.value-1; 当S.value<0时,表示该类资源已分配完毕,因此进程应调用block原语,进行自我阻塞,放弃处理机,并插入到信号量链表S.L中。可见,该机制遵循了“让权等待”准则。 此时S.value的绝对值表示在该信号量链表
中已阻塞进程的数目。 对信号量的每次signal操作,表示执行进程释放一个单位资源,故S.value∶ =S.value+1操作表示资源数目加1。 若加1后仍是S.value≤0,则表示在该信号量链表中,仍有等待该资源的进程被阻塞,故还应调用wakeup原语,将S.L链表中的第一个等待进程唤醒。如果S.value的初值为1,表示只允许一个进程访问临界资源,此时的信号量转化为互斥信号量。
17.什么叫进程同步和互斥?举例说明。
答:进程同步是在几个进程合作完成一项任务时,体现各进程相互联系相互协调的关系。例如:A、B两个进程合作通过缓存区输出数据。把两个以上进程不能同时访问临界区的工作规则称为进程互斥。例如:两个进程同时使用打印机
18.什么是缓冲?为什么要引入缓冲?
(1) 缓和CPU与I/O设备间速度不匹配的矛盾。
(2) 减少对CPU的中断频率, 放宽对CPU中断响应时间的限制。
(3) 提高CPU和I/O设备之间的并行性。
19.什么是抖动?产生抖动的原因是什么?
在请求分页存储管理中,从主存中刚刚移走某一页面后,根据请求马上又调进该页,这种反复调进调出的现象,称为系统颠簸,也叫系统抖动。原因是调度的算法不科学。
20.SPOOLING技术
在联机的情况下,同时实现外围的I/O操作
(1)由输出进程为要打印的信息在输出井中申请一个空闲的磁盘块区,并将要打印的信息送入其中
(2)由输出进程为用户申请一张空白的用户请求打印表,并将用户的打印要求填入其中,并将此表挂到请
求打印队列上
(3)若打印机空闲,输出进程将打印队列队首的请求表取出,根据表中的要求打印数据,从输出井,传送
到内存缓冲区
第二篇:操作系统简答题 2
1. 什么是操作系统?地位?目标?作用?
定义:操作系统是一组控制和管理计算机硬件和软件资源,合理地组织计算机工作流程,以及方便用户的程序的集合。
地位:紧贴系统硬件之上,所有其他软件之下(是其他环境的共同环境)。
注:上面的三层是应用用户、应用软件、系统工具。
目标:(1)有效性——提高系统资源利用率;提高系统的吞吐量。(2)方便性——配置OS后可使计算机系统更容易使用。(3)可扩充性——适应计算机硬件、体系结构以及应用发展的要求。(4)开放性——系统能遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。 注:方便性和有效性是设计操作系统时最重要的两个目标。
作用:(1)OS作为用户与计算机硬件系统之间的接口;(2)OS作为计算机系统资源的管理者;
(3)OS实现了对计算机资源的抽象;
2.OS发展的主要动力:提高计算机资源的利用率和系统性能;方便用户;器件的不断更新换代;计算机体系结构不断发展。
3.OS的特征?
并发:多个时间在同一时间段内发生;
共享:多个进程共享有限的计算机系统资源;
虚拟:一个物理实体映射为若干个对应的逻辑实体——分时或分空间;
异步性:也称不确定性,“走走停停”,进程以异步方式进行,并以人们不可预知的速度向前推进。
4.OS的功能?
处理机管理功能、存储器管理功能、设备管理功能、文件管理功能、操作系统与用户之间的接口。
5.什么是多道程序设计?多道程序设计技术的特点?
多道程序设计是指在内存中同时存放多道程序,这些程序在管理程序的控制下交替运行,共享处理机及系统中的其他资源。特点:多道、宏观上并行、微观上串行。
6.为使系统中的多道程序间能协调地运行,多道批处理系统需要解决的问题?
(1)处理机管理问题;(2)内存管理问题(内存的使用效率);(3)I/O设备管理问题;(4)文件管理问题;(5)资源的竞争问题:共享资源,同步,互斥。(6)内存保护:多道程序互不影响。
7.用户与操作系统之间存在哪几种接口?
(1)系统命令接口:供用户用于组织和控制自己的作业运行。命令行,菜单式或GUI,“联机”
(2)程序接口:为用户程序在执行中访问系统资源而设置,是用户程序取得操作系统服务的唯一途径。
8.操作系统的基本类型?它们的特点?
批处理系统、分时系统和实时系统。批处理系统的主要特点:用户脱机使用计算机、多道程序运行和成批处理。
分时系统:同时性、交互性、独立性、及时性。
实时系统:及时性和高可靠性。
9.进程的定义:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程,即进程是程序的一次执行活动。进程的三种基本状态:就绪态、执行态、等待态。就绪状态是指进程已获得了除处理机以外的所有资源。一旦获得处理机就可以立即执行。执行状态是指进程获得必要的资源并正在处理机上执行。阻塞状态是指进程由于发生某事件而暂时无法执行下去。此时即使把处理机分配给该进程,他也无法运行。
10.进程控制块:由OS维护的用来记录进程相关信息和管理进程设置的一个专门的数据结构。作用:当操作系统要调度某进程执行时,需要从该进程的PCB中查询其现行状态一优先级等调度参数,在调度到某进程后,要根据其PCB中保存的处理机状态去设置和恢复进程运行的现场,并根据其PCB中的程序和数据的内存地址来找到其程序和数据;进程在执行过程,当需要与其进程通信时,也要访问其PCB;当进程因某种原因而暂停执行是时,又需将断点的现场信息保存在其PCB中,系统在建立该进程PCB,在撤销一个进程时也就撤销其PCB。由此可知:操作系统对PCB来讲并发执行的进程进行控制和管理,PCB是进程存在的唯一标志。
11.程序的顺序执行的特点:①顺序性:按照程序结构所指定的次序(可能有分支或循环);②封闭性:独占全部资源,计算机的状态只有于该程序的控制逻辑所决定;③:可再现性:初始条件相同则结果相同。如:可通过空指令控制时间关系。
12.运行→就绪队列:时间片用完;运行→数据资源:因等待数据资源而阻塞;运行→等I/O传输:因等待I/O而阻塞;数据资源→就绪队列:因获得数据资源被唤醒;等I/O传输→就绪队列:因I/O完成被唤醒
13.进程和程序的关系:进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制。 进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存。
进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。
进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
14.临界资源:系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。
临界区:进程中访问临界资源的一段代码。
进入区:在进入在临界区之前,检查可否进入临界区的一段代码。如果可以进入临界区,通常设置相应“正在访问临界区”标志。
临界区遵循的准则:
(1) 有空让位:当无进程在互斥区时,任何有权使用互斥区的进程可进入。
(2) 无空等待:不允许两个以上的进程同时进入互斥区。
(3) 多中择一:当没有进程在临界区,而同时有多个进程要求进入临界区,只能让其中之一
进入临界区,其他进程必须等待。
(4) 有限等待:任何进入互斥区的要求应在有限的时间内得到满足。
(5) 让权等待:处于等待状态的进程应放弃占用CPU。
(6) 平等竞争:任何进程无权停止其它进程的运行,进程之间相对运行速度无硬性规定。
高级进程通信方式有哪几类?各自如何实现进程间通信?
三类:共享存储器系统、消息传递系统及管道通信系统。
在共享存储器系统中,为通信进程建立一个共享存储区,多个进程可以通过对共享存储区进行读或写来实现通信,进程在通信前,应建立一个共享存储区。然后通信进程把共享存储区附接到进程的地址空间上。这一进程变可像读写普通存储器一样地读写共享存储区。
在消息传递系统中,进程间的数据交换以消息为单位,程序员利用系统提供的一组通信原语来实现通信。若以直接通信方式通信,则发送进程把消息发给接收进程,并将消息挂在接收进程的消息缓冲队列上,接受进程从信箱中取得消息。
在管道通信方式中,读进程和写进程通过共享文件实现通信。写进程将信息写入管道,读进程从管道中接收数据.
P、V操作的定义,如何利用P、V操作实现进程间的互斥?
设S为信号量,P、V操作的定义如下:
P(s)
{
--s;
if(s<0)
{
阻塞该进程;
将该进程插入信号s的等待队列;
}
}
V(s)
{
++S;
if(s<=0)
{
从信号量s的等待队列中取出队首进程;
将其插入就绪队列;
}
}
只需把临界区置于P(s),V(s)之间,即可实现对临界资源的互斥访问,互斥访问临界区的算法描述如下:
{ /* ”:” 表示剩余区*/
P(s);
进程的临界区
V(s;)
}
P(s),V(s)操作管理临界区时,信号量的初值应定义为1
3
5、每个进程中各个P操作的次序是重要的:先检查资源数目,再检查是否互斥----否则死锁。
(1)各进程必须先检查自己对应的资源数目,在确信有可用资源后,再申请对整个缓冲区的操作。(2)如果先申请到对整个缓冲区的互斥操作后,才发现自己对应的缓冲区不能用,这时已不可能放弃对整个缓冲区的占用。
产生死锁的必要条件是什么?解决死锁问题常用哪几种措施?
产生死锁的必要条件是互斥、非剥夺、请求和保持、环路等待。
互斥是指进程要求对所分配的资源进行排他性控制,即在一段时间内某资源仅为一个进程所占有。非剥夺是指进程所获得的资源在未使用完毕之前,不能被其他程序强行夺走,即只能有货的该资源的进程自己来释放,请求和保持是指进程每次申请它所需要的一部分资源,在等待分配新资源的同时,进程继续占有已分配到的资源。环路等待是指存在一种进程资源的环路等待链,链中的每一个进程已获得的资源同时被链中下一个进程所请求。
解决死锁问题常用的方法有忽略死锁、预防死锁、避免死锁、检测及解除死锁。预防死锁方法通过设置某些限制条件,去破坏产生死锁的4个必要条件中的一个或几个,来防止发生死锁。避免自锁方法在资源的动态分配过程中,用某种方法防止系统进入不安全状态,从而避免死锁。检测死锁方法通过系统的检测机构及时的检测出死锁的发生,并确定与死锁有关的进程。解除死锁方法用于将进程从思索状态下解脱出来。检测死锁方法一般与解除死锁方法联合使用。
2.某进程被唤醒后立刻投入运行,我们就说这个系统采用的是剥夺调度方法,对么?为什么?
不对。因为,若当前就绪队列为空,这样被唤醒进程就是就绪队列中唯一的一个进程,于是调度程序会立即将该进程投入运行。
3.什么是有序资源分配方法?为什么有序资源分配方法可以防止死锁?
有序资源分配方法是将系统中的所有资源都按类型赋予一个编号,要求每一个进程均严格按照编号递增的次序请求资源,同类资源一次申请完。对资源请求做了这样的限制后,破坏了环路等待条件,因此可以防止死锁。
4.何谓JCB?其作用是什么?JCB至少包括哪些内容?
JCB(即作业控制块)是系统用来记录作业属性信息的数据结构,系统通过JCB感知作业的存在,并通过JCB对作业进行控制和管理,JCB是作业存在的唯一标志。
不同系统的JCB所包含的信息有所不同,但通常包含以下内容:资源要求、资源使用情况、作业的控制方式、类型及优先权、作业名及作业状态。
T:衡量不同调度算法对同一个作业流的性能;W:衡量同一调度算法对不同作业流的性能 死锁发生的原因:竞争资源、并发执行的顺序不当。
死锁产生的必要条件:互斥、请求和保持、非剥夺、环路等待。
处理死锁的基本方法:预防、避免、检测。
死锁的预防策略:
预先静态分配法((针对死锁的第2个条件)预先分配所需全部资源,保证不等待资源)
特点:降低了对资源的利用率,降低了进程的并发程度;有可能无法预先知道所需资源。 有序资源使用法((针对死锁的第4个条件)把资源分类按顺序排列,保证不形成环路)
特点:限制进程对资源的请求;资源的排序占用系统开销。
死锁的避免算法:银行家算法。
死锁检测算法主要是检查是否有循环等待。
死锁恢复的方法:重新启动、撤销进程、剥夺资源。
资源分类:可重用资源和可消费资源
资源使用模式:申请—分配—使用—释放
3.系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。进程与PCB一一对应的。
JCB(即作业控制块)是系统用来记录作业属性信息的数据结构,系统通过JCB感知作业的存在,并通过JCB对作业进行控制和管理,JCB是作业存在的唯一标志。
4.高响应比优先HRN是FCFS(先来先服务)和SHF(短作业优先)的折衷。
5.T(响应时间)=N(进程数目)*q(时间片)。
当响应时间一定时,就绪进程的数目越多,时间片越小(T一定,N与q反比)。
6.调度的层次:作业调度、内外存交换、进程或线程调度。
7.调度按照OS类型的分类:批处理调度、分时调度、实时调度、多处理机调度。
8.从不同角度判断处理机调度算法的性能:用户的角度、处理机的角度、算法实现的角度。
9.作业=程序+数据+作业说明书 进程=程序+数据+PCB
9.作业的状态:提交状态、收容状态、执行状态、完成状态。
10.先来先服务(FCFS)算法特点:比较有利于长作业,而不利于短作业;有利于CPU繁忙的作业,而不利于I/O繁忙的作业。
20.可能产生死锁。
20.对待死锁,一般应考虑死锁的预防、避免、检测和解除4个问题。典型的银行家算法是属于(死锁的避免),破坏环路等待条件是属于(死锁预防),而剥夺资源是(解除)的基本算法。
11.短作业优先(SJF)
算法思想:对预计执行时间短的作业(进程)优先分派处理机。通常后来的短作业不抢先正在执行的作业。
结论:假设系统中所有作业同时到达,我们可以证明采用SJ2 特点:
优点:比FCFS改善平均周转时间和平均带权周转时间,缩短作业的等待时间;
提高系统的吞吐量;
缺点:对长作业非常不利,可能长时间得不到执行;
未能依据作业的紧迫程度来划分执行的优先级;
难于准确估计作业(进程)的执行时间,从而影响调度性能。
1.静态重定位:把作业装入内存中随机进行地址变换的方式
2.动态重定位:在作业执行期间,当访问到指令或数据时才进行地址变换的方式
3.存储管理的主要功能:内存分配和回收,地址变换,内存扩充,内存保护
4.在内存管理中,“内零头(内碎片)”和“外零头(外碎片)”各指的是什么?在固定式分区分配,可变式分区分配,页式虚拟存储系统,段式虚拟存储系统中,各会存在何种零头?为什么? 在存储管理中,内零头是指分配给作业的存储空间中未被利用的部分,外零头是指系统中无法利用的小存储块。
在固定式分区分配中,为将一个用户作业装入内存,内存分配程序从系统分区表中找出一个能满足作业要求的空闲分区分配给作业,由于一个作业的大小并不一定与分区大小相等,因此,分区中有一部分存储空间被浪费掉了。由此可知,固定式分区分配中存在内零头。
在可变式分区分配中,为把一个作业装入内存,应按照一定的分配算法从系统中找出一个能满足作业需求的空闲分区分配给作业,如果这个空闲分区的容量比作业申请的空间大,则将该分区一分为二,一部分分配给作业,剩下的一部分仍然留做系统的空闲分区,由此可知,可变式分区分配中,存在外零头。
在页式虚拟存储系统中,用户作业的地址空间被划分为若干大小相等的页面,存储空间也分为与页大小相等的物理块,但一般情况下,作业的大小不可能都是物理块大小的整数倍,因此作业的最后一页中,仍有一部分空间被浪费掉了。由此可知,页式虚拟存储系统中存在内零头。 在段式存储系统中,作业的地址空间由若干个逻辑分段组成,每段分配一个连续的内存区,但各段之间不要求连续,其内存的分配方式类似于动态分区分配。由此可知,段式虚拟存储系统中存在外零头。