操作系统考试题参考
什么叫死锁?及其原因。
(1)在多道程序系统中,当一组进程中的每个进程均无限期地等待被改组进程中的另一进程所占有且永远不会释放的资源,此时的系统处于死锁状态,简称死锁。
(2)死锁产生的原因:(a)系统提供的资源有限;(b)进程推进顺序不当。
(3)产生死锁的必要条件:互斥条件、不可剥夺条件、请求和保持条件、循环等待条件。 i/o方式有几种?各有什么特点?
程序方式:指用输入/输出指令,来控制信息传输的方式,是一种软件控制方式,根据程序控制的方法不同,又可以分为无条件传送方式和条件传送方式.
无条件传送方式接口简单,适用于那些能随时读写的设备.条件传送方式(查询方式) 的特点是接口电路简单,CPU利用率低(程序循环等待),接口需向CPU提供查询状态.适用于CPU不太忙,传送速度要求不高的场合.要求各种外设不能同时工作,外设处于被动状态.
中断方式:当外设准备好时,由外设通过接口电路向CPU发出中断请求信号,CPU在允许的情况下,暂停执行当前正在执行的程序,响应外设中断,转入执行相应的中断服务子程序,与外设进行一次数据传送,数据传送结束后,CPU返回继续执行原来被中断的程序.其特点是CPU的利用率高,外设具有申请CPU中断的主动权,CPU和外设之间处于并行工作状态.但中断服务需要保护断点和恢复断点(占用存储空间,降低速度),CPU和外设之间需要中断控制器.适用于CPU的任务较忙、传送速度要求不高的场合,尤其适合实时控制中的紧急事件处理.
存储器直接存取方式(DMA):外设利用专用的接口(DMA控制器)直接与存储器进行高速数据传送,并不经过CPU(CPU不参与数据传送工作),总线控制权不在CPU处,而由DMA 控制器控制.其特点是接口电路复杂,硬件开销大.大批量数据传送速度极快.适用于存储器与存储器之间、存储器与外设之间的大批量数据传送的场合.
解释virtual memory/address relocation memory managment scheme,describe the main difference between paging and segmentation
1. 分页请求系统(硬件支持:请求分页的页表机制,缺页中断机制,地址变换机制。实现
请求分页的软件);
2. 请求分页系统(请求分段的段表机制,缺段中断机构,地址变换机构.)
区别:
① 页是物理单位,段是逻辑单位。
② 页的大小是固定的且由系统决定,而分段的长度不是固定的且由用户决定。
③ 分页的作业地址空间是一维的,而分段的作业地址空间却是二维的。
说明作业调度,中级调度,进程调度的区别,分析下列由哪一级负责?
1在可获得处理机时 2短期繁重负载下,应由哪个挂起
(1) 作业调度用于决定把外存中处于后备队列中的哪些作业调入内存,并为它们创建进程,分配资源,然后将新创建进程插入就绪队列;中级调度负责将内存中暂时不具备运行条件的进程换到外存交换区存放,但内存空闲时,又将外存中具备运行条件的.进程重新换入内存;进程调度决定将处理机分配给就绪进程队列的哪个进程。
(2)进程调度、中级调度
文件空间分配大致的三种方法:空闲块链,空白文件目录,位示图
Consider a system with a 128 kb memory,page size is 2 kb.the logical address space of job A are figured below
Consider the 0.1.2.3 page of job A are storedto frame 2.7.9.13
1.draw the page mapping table
2.showhow the logical address 6100 is mapped to a phyaical address.
1) (答案要点)页大小为2kb,所以页内地址为11位; 页号=6100/(2*1024)=2,页内偏移地址为:6100%(2*1024)=2004 查页表得到块号9 物理地址为:9*2*1024+2004=20436
某系统有A、B、C、D四类资源可供五个进程P1、P2、P3、P4、P5共享。系统对这四类资源的拥有量为:A类3个、B类14个、C类12个、D类12个。进程对资源的需求和分配情况如下:
内容需要下载文档才能查看
(1)现在系统中的各类资源还剩余多少?(4分)
(2)现在系统是否处于安全状态?为什么?(6分)
(3)如果现在进程P2提出需要A类资源0个、B类资源4个、C类资源2个和D类资源0个,系统能否去满足它的请求?请说明原因。(6)
(1)A:1;B:5;C:2;D:0
(2)need矩阵为:P1 0 0 0 0
存在安全序列,如P1,P3,P4,P5,P2,所以安全
(3)能,因为试探分配后,可用资源为1,1,0,0。可找到安全序列,所以可分配。
假设T是从磁盘输入一块数据的时间,C是CPU对一块数据进行处理的时间,而M是将一块数据从缓冲区传送到用户区的时间。当一用户进程要按顺序访问的方式处理大量数据时,请问在单缓冲和双缓冲的情况下,系统对一块数据的处理时间分别是多少?
从单缓冲的工作示意图和时序图可以看出:数据有I/O控制器到缓冲区和数据由缓冲区到工作区,必须串行操作;同样,数据从缓冲区到工作区和CPU从工作区取出数据进行处理,也需串行进行。但由于在顺序访问时可采用预先读的方式,即CPU在处理一块数据时,可从磁盘输入下一块数据。因此,系统对一块数据处理的时间为Max(C,T)+M。
文档为doc格式