西电计科操作系统 操作系统简答题整理: 1. 操作系统的定义: 操作系统是控制和管理计算机硬件和软件资源,合理的组织和管理计算机的工作流程以方便用户使用的程序集合。 2. 操作系统形成的标志是什么?为什么这么说? 标志:多道程序设计技术(并发)的出现 多道程序设计技术的出现给计算机系统的管理带来了巨大挑战,如:内存共享与保护问题,处理器调度问题,I/O设备的共享及竞争问题等,为解决这些问题,形成了现代操作系统的雏形。 3. 现代操作系统的基本特征是什么? 并发,共享,虚拟,异步(不确定性) 并发:指两个或者多个事件在同一时间间隔内发生,是宏观上的并行和微观上的串行。 共享:系统中软硬件资源不再为某个用户(程序)独占,而是可供多个程序共同使用。 虚拟:指将一个物理实体变为若干逻辑单。 不确定性:也称为并发程序的异步执行性,主要指程序的执行过程存在高度动态的特征,从而可能引发执行结果的不确定,操作系统必须有效解决这一问题。 4. 分时系统和实时系统各有什么特点? 分时系统特点:独立性,同时性,及时性,交互性。 实时系统特点:响应速度快,可靠性和安全性高。 三个主要区别: 设计目标不同:实时系统多是专用系统,分时系统多是通用系统。 交互性强弱不同:实时系统外界操作是严格控制的,因此交互性弱。分时系统允许系统和用户之间有较强的会话能力,交互性强。 响应时间长短不同:实时系统以控制过程中信息处理能接受的延迟为标准。分时系统以人能接受的等待时间为标准。 5. 操作系统的内核结构分几种?各有什么特点? 有如下几种结构:微内核、单内核和混合结构(只写前两种也可) 微内核:内核保持尽量小,只实现操作系统的基本功能,而将更多功能放在内核之外运行,各模块之间通过消息 进行通讯。其特点是:内核简单,安全可靠,可移植性好。 单内核:内核容纳更多的功能,分为若干个模块,模块间的通信通过调用其它模块中的函数实现(直接调用)。 其特点为:执行效率高,但可移植性相对减弱。 混合结构:单内核和微内核的结合,取长补短,为大多数商业操作系统采用。 6.操作系统和用户之间有几种接口?都是什么? (请在纸上作答并截图上传)
有2种接口。 用户控制级接口,程序级接口。 6. 说明访管指令、特权指令和广义指令的区别与联系。 特权指令是一类只能在管态下执行而不能在算态下执行的特殊指令。 访管指令是引发访管中断的指令,运行在算态。 广义指令是操作系统提供的每一个子功能(系统调用程序)被抽象成的一个系统调用命令。 访管指令本身不是特权指令,它会引发访管中断,进而进入系统态执行系统调用(广义指令),在系统调用程序中可能会嵌入特权指令。 什么是系统调用,请用图形说明其实现原理?
系统调用是指用户在程序中调用操作系统提供的一些子功能,是用户在程序级请求操作系统服务的一种手段。 系统调用通过软中断机制实现,其基本过程为:(1)执行访管指令->引发中断->进入中断处理过程->设置系统调用号和参数->保护CPU现场->查询系统调用子程序的入口地址->执行调用程序->返回结果->恢复处理器现场->返回用户态。 试比较一般的过程调用和系统调用的区别?
主要区别是: 1)运行的状态不同。一般过程调用时,调用过程和被调用过程运行在相同的状态。系统调用时,调用过程运行在用户态(算态),被调用的系统功能子程序运行在系统态(管态)。 2)进入的方式不同。一般的过程调用可以直接由调用过程转向被调用的过程。而执行系统调用时,由于调用过程与被调用过程是处于不同的状态,只能通过软中断机制进入系统核心态,然后转向相应的处理子程序。 3)返回方式的不同。一般的过程调用执行完后,直接返回调用过程继续执行。系统调用在返回时需要进行一次重新的调度选择。 简述作业在系统中的几种状态及转换原因? 作业现在系统中一般要经历输入->后备->执行->完成四个状态的转化。 (1)用户将自己的程序和数据提交给系统的后援存储器(外存)后,作业即进入输入状态; (2)然后由作业注册程序为进入系统的作业建立作业控制块(JCB),并把它加入到后备作业队列中,等待作业调度程序调度,这时作业处于后备状态; (3)一个处于后备状态的作业被作业调度程序选中并分配了必要的资源,建立了一组相应的进程后,该作业进入执行状态; (4)当程序正常运行结束或因发生错误而终止时,作业进入完成状态,退出系统。 简述SPOOLing系统的结构及工作原理? 输入设备——>缓冲区—>输入井—>CPU—>输出井—>缓冲区—>输出设备 进程有哪三种基本状态?各状态之间是因何转换的? 进程有就绪、运行、阻塞三种状态。 转换原因: (1)就绪->执行 处于就绪状态的进程,当被进程调度程序选中,且为之分配了处理器后,该进程便由就绪状态转变成执行状态。 (2)执行->就绪 处于执行状态的进程在其执行过程中,因分配给它的时间片已用完或处理器被更高优先级进程抢占而不得不让出处理器,便从执行状态转变成就绪状态。 (3)执行->阻塞 正在执行的进程因等待系统分配资源或后写事件发生而无法继续执行时,便从执行状态变成阻塞状态 (4)阻塞->就绪 处于阻塞状态的进程,若其等待的事件已发生或等待的资源可用时,由阻塞状态转变为就绪状态。 试证明短作业优先调度算法可以得到最短的平均响应时间。
一个作业调度算法,平均周转时间的题
系统采用短作业优先的调度算法,作业被调度进入运行后不再退出内存,但每当作业进入运行时,可以调整运行的优先次序。 (1)按照所选择的调度算法,请分别给出上述4个作业的执行时间序列。 (2)计算在上述调度算法下作业的平均周转时间。 (请在纸上作答并截图上传)
进程和程序有什么区别和联系? 区别: 1.程序是静态的,是有序代码的集合; 2.进程是动态的,是程序的一次执行。 3.程序的永久的,没有生命周期,可长久保存;进程是暂时的,有生命周期,是一个动态不断变化的过程。 4.进程是操作系统资源分配和保护的基本单位;程序没有此功能。 5.进程与程序的结构不同。 联系: 一个程序可以生成多个进程;一个进程也可包含多个程序。 进程控制块的内容由哪三类信息组成?各类信息的作用如何?系统是如何管理进程控块的? 进程控制块的内容由标识信息、现场信息、控制信息组成。 标识信息:唯一的标识一个进程,主要包含进程标识、用户标识、父进程标识。 现场信息:记录进程使用处理器时的各种现场信息。主要有CPU通用寄存器的内容、CPU状态寄存器内容及栈指针等信息。 控制信息:操作系统对进程进行调度管理时用到的信息,主要有进程状态、调度信息、数据结构信息、队列指针、位置信息、通信信息、特权信息、存储信息等。 进程控制块PCB在内存中是以表的形式存在的,操作系统对PCB进行集中统一的管理,所有的PCB集中在一个固定的存储空间上,形成了PCB表。PCB之间是以双向链式队列的形式关联的。 设有n个进程共享一个互斥段,对于如下两种情况: (1)如果每次只允许一个进程进入互斥段; (2)如果最多运行m个进程(m<n)同时进入互斥段; 试问:所采用的互斥信号量的初值是否相同?信号量的变换范围如何? 所采用的互斥信号量初值不同,第一种情况下的初值为1,信号量变换范围为[(1-n),1];第二种情况的初值为m,信号量的变化范围为[(m-n),m]。 互斥信号量用于进程之间的互斥性操作,其初值反应的是临界资源的数量。信号量的变化范围上限为初值(资源量),下限与进程数量有关。 有如下两个进程T1和T2,优先级相同,信号量R1和R2的初值都是0,c=3。试分析并发执行后,a、b、c的值各是多少:
a=13 b=6 c=10 此题要注意对P、V操作执行过程的细节理解。注意V操作执行完后如果要唤醒一个进程,唤醒过程也是操作系统进行的,而不是由这个进程进行的,因此其自身并不会受到影响而产生任何停顿。 A、B两艘船共同使用一个货位卸货,A船装的是汽车,B船装的是冰箱,甲乙两个厂家分别等待提走汽车和冰箱,货位上放汽车或冰箱是随机的,有下列两种情况 (1)一个货位只能容纳一件货物(一辆汽车或一台冰箱) (2)一个货位可以容纳N件货物 使用P、V操作分别写出他们可以同步的程序。
产生死锁的4个必要条件是什么?为什么说是必要条件而不是充分条件? 4个必要条件:(1)互斥使用(资源独占);(2)非剥夺控制(不可强占);(3)零散请求;(4)循环等待。 死锁发生意味着上述四个条件同时满足,反之不成立,故为必要条件。 列举出死锁预防的各种方法?评价一下死锁预防的效果如何? 1)破环互斥条件;(2)破坏“不可剥夺”条件;(3)破坏“零散请求”条件;(4)破环“循环等待”条件。 死锁的预防是以破坏死锁产生的必要条件为基本方法,从而防止死锁发生的。由于对资源的申请加上了诸多的限制,因此这种策略虽有一定的效果,但会导致资源利用率或进程运行效率降低,很难令人满意。 一个系统中有T1、T2、T3、T4共4个进程,永久性资源R1有两个、R2有3个,临时性资源 S1、S2各一个。
(1)T1 产生 S1,申请两个单位的 R2。
(2)T2占有两个单位的 R1和一个单位的 R2,同时申请两个单位的 S2。 (3) T3占有一个单位的 R2,同时申请一个单位的 S1。 (4) T4 生产S2,申请一个单位的S1 和一个单位的R1。
根据以上的叙述画出资源分配图,并说明是否有死锁,如果有,请指出涉及哪些进程。
一个自动生产线有3种工人∶ 检验员(查看产品质量,将合格品放到传送带上,不合格品销毁),计量员(对传送带上运来的产品称重量并记录,放到另一条传送带),分拣员(对称过重量的产品按重量分别包装)。试写出工人可以并发工作的程序。
设有如图所示的工作模型:4个进程 P0,P1,P2,P3 和4个信箱 M0,M1, M2,M3。进程间借助相邻的信箱传递消息,即 Pi 每次从 Mi 中取出一条消息,经加工送入Mi+1(mod 4)。其中,M0,M1,M2,M3分别设有3,3,2,2个格子,每个格子存放一条消息。初始状态下,M0装满了2 条消息,其余为空。试以P、V操作为工具,写出进程 Pi(i=0,1,2,3)的同步算法。
有一图书馆,读者进入时必须先在一张登记表上进行登记(该表为每一座位列出一个表目),包括座号和姓名,读者离开时要撒消登记信息。图书馆有1000个座位。试问: (1)为描述读者的动作,应编写几个程序?应设置几个进程?进程和程序之间的对应关系如何?
(2)试用P、V操作描述这些进程间的同步算法。
设系统中有 3 种类型的资源(A、B、C)和 5个进程(P1、P2、P、P4、P5;),A 类资源的数量为17,B 类资源的数量为5,C类资源的数量为 20。在T0时刻,系统状态如表 4.3和表 4.4 所示。系统采用银行家算法实施死锁避免策略。 (1)T0时刻是否为安全状态?若是,请给出安全序列。
(2)在 T0时刻若进程 P2请求资源(0,3,4),是否能实施资源分配?为什么? (3)在(2)的基础上,若进程 P4请求资源(2,0,1),是否能实施资源分配?为什么? (4)在(3)的基础上,若进程 P1请求资源(0,2,0),是否能实施资源分配?为什么?
什么是地址重定位?分为哪几种?各有什么特点? (1)当程序被装入内存时,程序的逻辑地址被转换成内存的物理地址,这一过程称为地址重定位(由内存管理单(MMU)完成) (2)地址重定位分为静态重定位和动态重定位。 (3)静态重定位:用户程序装入内存时已完成逻辑地址到物理地址的转换。 动态重定位:在程序运行过程中实现地址变换(即在逐条指令执行时完成地址映射。一般为了提高效率,此工作由硬件地址映射机制来完成 在一个请求分页存储管理系统中,一个程序的页面走向4,3,2,1,4,3,5,4,3,2,1,5,采用LRU页面置换算法。设分配给该程序的存储块数为M,当M分别为3和4时,是求出在访问过程中发生却也中断的次数和缺页率。比较两种结果,从中可以得到什么启示?
说明对LRU算法来说增加主存容量不会增加缺页中断次数。(但这一结论对FIFO算法不成立) 内碎片:指占用分区之内未被利用的空间。 外碎片:指占用的分区之间难以利用的狭小空闲分区。 固定分区管理方案:内碎片 可变分区管理方案:外碎片 页式管理方案:内碎片 段式管理方案:外碎片 段页式管理方案:内碎片 )什么时“系统抖动”现象?产生抖动的直接原因是什么?可以采用哪几种方式防止抖动? (1)页面在内存与外存之间频繁调度,以至于调度页面所需时间比进程实际运行的时间还多,此时系统效率急剧下降,甚至导致系统崩溃。这种现象称为颠簸或抖动。 (2)原因: 页面淘汰算法不合理; 分配给进程的物理页面数太少。 (3) 给定更合适的页面淘汰算法(不一定奏效) 分配给个更多的物理内存页面(一般会有效果,而且效果较好,但给多了并发度就会降低) 较好的方法是使用工作集机制处理。 某分段式存储管理中采用如下表所示的结构,试回答: (1)给定段号和段内地址,完成段式管理中的地址变换过程。 (2)给定[0,340],[1,10],[2,500],[3,400]的内存地址,其中方括号内的第一素为短号,第二素为段内地址。 (3)存取主存中的一条指令或者数据至少要访问几次主存?
(2) [0,340]=219+340 [1,10]=3300+10 [2,500]越界 [3,400]=1237+400 (3)需要访问主存(内存)两次 某系统采用页式存储管理,现有J1、J2和J3共3个作业同驻内存。其中,J2有4个页面,被分别装入到内存的第3、4、6、8块中。假定页面和存储块的大小均为1024个字节,内存的容量为10 KB。 (1)写出J2的页面映像表。 (2)当J2在CPU上运行时,执行到其地址空间第500号处遇到的一条传送指令:MOV 2100,3100,请用地址变换图计算出MOV指令中两个操作数的物理地址。
在一个请求分页管理的系统中,内存容量为1 MB,被划分为256块,每块4 KB,现有一个作业,它的页表如下表所示。 (1)若给定一个逻辑地址为9016,其物理地址是多少? (2)若给定一个逻辑地址为12 300,给出其物理地址的计算过程。
(1)9016,虚页号:2,页内偏移:824。通过查找页表,该虚地址对应的物理地址为:32号实页,页内偏移824. (2)12300,虚页号:3,页内偏移:12。通过查找页表,缺页。计算过程为首先由缺页中断处理程序调入缺失的页面,然后再查找页表找到装入的实页号,进而得出对应的物理地址。 在 UNIX 系统中,文件 File 的i节点中有10个直接地址,一级、二级和三级间接索引地址分别为一个。如果盘块大小为1KB,间接盘块可以存放 256个盘块地址,每个盘块地址长度为4B。请回答∶
(1)若文件File的大小为2MB,那么分别占了多少个直接盘块和间接盘块? (2)若文件File的大小为10MB,那么分别占了多少个直接盘块和间接盘块? (3)若文件File的大小为25MB,那么分别占了多少个直接盘块和间接盘块? (1)需要2048个直接盘快和9个间接盘块 (2)需要10240个直接盘快和41个间接盘块 (3)需要25600个直接盘快和101个间接盘块 假定磁盘有 500 个柱面,编号为 0~499,当前存取臂的位置在 206 号柱面上,并刚刚完成了 150 号柱面的服务请求,如果请求队列的先后顺序是∶ 286,225,278,168,296, 94,332,414,491,205,246,398。试用 SSTF(最短查找时间)算法和 SCAN(电梯调度)算法计算移臂总量,写出移臂顺序。 我的答案:
)有一个UNIX/Linux文件,如果一个盘块的大小为1KB,每个盘块占4个字节,那么,若进程欲访问偏移为字节处的数据,需经过几次间接寻址?
经过1次间接寻址 1个盘块1024B,B/1024B=257,也就是说前面有257个直接盘块。1个一级索引能够表达256块,加上10个直接寻址,已经能够覆盖257块,因此只要一次间接寻址就能访问到。 假如当前磁头位于 1号柱面,用户进程对磁盘的请求如下表所示。 假如当前磁头位于 1号柱面,用户进程对磁盘的请求如下表所示。
假如当前磁头位于 1号柱面,用户进程对磁盘的请求如下表所示。 试分析对这 5个请求如何调度,可使磁盘的旋转圈数最少? 调度顺序:5->3->2->1->4 答案解析: 优先顺序:柱面->扇区->磁头 UNIX 系统专用块及空闲盘块情况如下图所示。请问
(1)每一组的第一个物理块的作用是什么?
(2)UNIX 系统的成组连接法与其他的空闲块管理方案比较,各有什么优缺点? (3)当用户释放了 78#,89#,108#和204#物理块,专用块中的空闲块索引表 filsys的变化情况又如何?
(4)当用户又申请5个物理块,专用块中的空闲块索引表 filsys 的变化情况又如何? 1)每组第一个物理块登记下一组空闲块的物理盘块号和空闲块总数。 (2)常用的空闲空间管理方法主要有: a) 空闲区表:其缺点是当外存中有大量的空闲区时,空闲区表会变得很大,分配效率降低。 b) 位示图:位示图的大小由磁盘空间的大小(物理块数)决定,位示图的描述能力强,适应各种物理结构。 c) 空闲快链:释放和分配都从链头处进行,主要问题是要修改几个有关的链接字,需要反复读写磁盘和分配物理块,系统开销大。 d) 成组链接法 (3)变化如图所示
为什么要引入缓冲区?设置缓冲区的原则是什么? 缓冲技术:为了解决CPU与I/O设备间速度不匹配的矛盾,提高的I/O速度和设备利用率。 引入缓冲的主要原因,可归结为以下几点: (1)缓和CPU与I/O设备间速度不匹配的矛盾 (2)减少对CPU的中断频率,放宽对中断响应时间的限制 (3)提高CPU和I/O设备之间的并行性 UNIX将设备分为块设备和字符设备,他们各有什么特点? 块设备(Block Device):指以数据块为单位来组织和传送数据信息的设备。属于有结构设备。基本特征是:(1)传输速率较高;(2)可寻址;(3)采用DMA方式控制。 字符设备(Character Device):指以单个字符为单位来传送数据信息的设备。基本特征是:(1)传输速率较低;(2)不可寻址;(3)常采用中断驱动方式。 可变分区式管理方案,空闲区的管理算法有那几种?各有何优缺点? 通常使用的管理算法及优缺点如下: (1)首次适应算法。使用该算法进行内存分配时,从空闲分区链首开始查找,直至找到一个能满足其大小要求的空闲分区为止。然后再按照作业的大小,从该分区中划出一块内存分配给请求者,余下的空闲分区仍留在空闲分区链中。该算法倾向于使用内存中低地址部分的空闲分区,在高地址部分的空闲分区很少被利用,从而保留了高地址部分的大空闲区,可为以后到达的大作业分配大的内存空间创造了条件。缺点在于低址部分不断被划分,留下许多难以利用、很小的空闲区(外碎片),而每次查找又都从低址部分开始,会增加查找的开销。 (2)循环首次适应算法。该算法是由首次适应算法演变而成的。在为进程分配内存空间时,不再每次从链首开始查找,而是从上次找到的空闲分区开始查找,直至找到一个能满足要求的空闲分区,并从中划出一块来分给作业。该算法能使空闲中的内存分区分布得更加均匀,但将会缺乏大的空闲分区。 (3)最佳适应算法。该算法总是把既能满足要求,又是最小的空闲分区分配给作业。为了加速查找,该算法要求将所有的空闲区按其大小排序后,以递增顺序形成一个空白链。这样每次找到的第一个满足要求的空闲区,必然是最优的。孤立地看,该算法似乎是最优的,但事实上并不一定。因为每次分配后剩余的空间一定是最小的,在存储器中将留下许多难以利用的小空闲区(外碎片)。同时每次分配后必须重新排序,这也带来了一定的开销。 (4)最差适应算法。最差适应算法中,该算法按大小递减的顺序形成空闲区链,分配时直接从空闲区链的第一个空闲分区中分配(不能满足需要则不分配)。显然,如果第一个空闲分区不能满足,那么再没有空闲分区能满足需要。这种分配方法初看起来不太合理,但它也有很强的直观吸引力:在大空闲区中放入程序后,剩下的空闲区常常也很大,于是还能装下一个较大的新程序。最坏适应算法与最佳适应算法的排序正好相反,它的队列指针总是指向最大的空闲区,在进行分配时,总是从最大的空闲区开始查寻。该算法克服了最佳适应算法留下的许多小的碎片的不足,但保留大的空闲区的可能性减小了。 答案解析: 大家要注意几种算法的特点。 某计算机系统中有8台打印机,有K个进程竞争使用,若每个进程最多需要3台打印机,该系统可能会发生死锁的K的最小值是多少?说明你的理由。 4。 死锁可能发生的条件:(3-1)K≥8 => K≥4 请解释抖动和工作集。 在虚拟存储系统中,由于大量页面的换入换出操作导致CPU利用率急剧下降的现象称为抖动。 工作集是在某段时间间隔里,进程实际要访问的页面的集合。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/34102.html