操作系统笔记-复习
操作系统复习
选择题
-
分时系统的主要目标是? 提高计算机系统的交互性
-
下列哪一个中断属于程序性中断? 地址越界
- 强迫性中断:
- I/0中断
- 程序性中断:运行程序本身的中断,如 溢出、缺页中断、缺段中断、地址越界。
- 时钟中断
- 控制台中断
- 硬件故障
- 自愿性中断:用户在编程时要求操作系统提供的服务,使用访管指令或系统调用使中断发生。
- 包括执行I/O,创建进程,分配内存,信号量操作,发送/接收消息。
- 强迫性中断:
-
多道程序设计环境中指令分为特权指令和非特权指令,哪个不是特权指令? 系统调用指令
-
一个进程可以包含多个线程,各线程? 共享父进程的内存空间
-
系统为了管理文件,设置了专门的数据结构文件控制块(FCB),FCB是执行下列哪个系统调用时设立的? create
-
下列关于存储管理的叙述中,正确的是? 固定分区存储管理是针对单道系统的内存管理方案
填空题
- 信箱有 公共信箱、私有信箱、共享信箱
- 所谓通道是门用来控制输入输出设备的处理机,简称I/O处理机
- 死锁的必要条件之一是“互斥”,即对所分配的资源进行排他性使用,即一段时间内资源只有一个进程占用
- 操作系统的基本任务是对计算机系统资源进行管理,为用户提供一个使用计算机的友好接口
- 根据体系结构发展,操作系统分为微机操作系统、多处理机操作系统、网络操作系统、分布式操作系统
- 多机系统的优点有增加系统吞吐量、节省投资、增加系统可靠性
- 文件存储空间的三种管理方式是空闲块链、空白文件目录、位示图
简答题
请简述中断响应技术的处理过程?
答:处理机在每个指令周期的最后都去检查是否有中断信号到来,如果有则保护现场,即将程序状态字和程序计数器入栈。然后取中断向量表中存的中断服务程序的入口地址,更新程序状态字和程序计数器,转到中断服务程序执行
进程为何要设置挂起及解挂两种工作状态?
答:进程挂起的原因有:(1)终端用户的需要(2)父进程的需求(3)操作系统的需要(4)对换的需要(5)负荷调节的需要
对进程的挂起就要有对进程的解挂,不能总是让进程处于挂起状态,浪费系统资源。
进程调度有几种类型?各类调度完成哪些工作?
答:进程调度有抢占式和非抢占式两种类型。
非抢占式即一旦把处理器分配给某进程后,便让该进程一直执行,直到该进程完成或者发生某事件被阻塞时,才能把处理器分配给其他进程。
抢占式允许调度程序根据某种原则,去停止某个正在执行的进程,将已分配给该进程的处理器重新分配给另一进程。
试述动态分区式存储分配的分配思想及优缺点。
答:动态分区存储分配的思想是根据用户程序的大小,动态对内存进行划分,因此各分区的大小是不确定的,内存被划分为多个区,其数目也是可变的。
动态分区方式较固定分区方式显著提高了存储器的利用率。但由于要求一个用户程序分配到一个连续的内存空间,因此可能产生多个不可利用的内存零头。
简述“死锁防止”和“死锁避免”这两方法的基本思想。
答:死锁防止的基本思想是破坏死锁产生的必要条件之一。
死锁避免是在对资源进行分配前,通过判断系统状态决定这次分配资源后是否仍然存在一条确保系统不会进入死锁状态的路径,否则即使现有的资源能满足申请需要也拒绝分配
对于交互式系统来说,非剥夺的调度算法是否是一个好的选择?简要说明原因。
答:不是一个好的选择。
在非剥夺的调度策略之下,系统一旦把处理机分配给某一高优先级的进程之后,该进程就会一直进行下去,直到完成,或因发生某事件而阻塞,放弃处理器。该进程对处理机的占有不会受到新进程的高优先级的影响,而高优先级的新进程只能等待正在运行的进程自动放弃处理机后,才能得到调度。
交互式系统对于及时性要求比较高,所以不能采取非剥夺的调度算法。
引入通道有何好处?通道有几种类型?
答:引入通道是为了建立独立的I/O操作,不仅使数据的传送独立于CPU,而且也希望有关I/O操作的组织、管理及结束也尽量独立,以保证CPU有更多的时间去进行数据处理。
它包括三种类型:字节多路通道、数组选择通道、数组多路通道
说明文件物理结构中链接方式的实现思想及目录构造。
答:链接方式中的文件的各个记录可以存储在不相邻接的各个物理盘块中,通过物理块中的链接指针,将它们连接成一个链表
信号量有几种类型?请说明P、V操作的物理意义
答:信号量分为记录型信号量和整型信号量
1 | P(S): |
PCB主要包含哪些内容?为什么说PCB是进程存在的唯一标志?
答:PCB主要包含进程状态、内存管理信息、进程标志信息、处理机状态信息、进程调度信息、进程控制信息
每个进程都包含唯一的PCB,PCB是一个有结构的主存去,用于保存进程运行中的所有相关信息。随进程的创建而创建,随进程的撤销而撤销。系统通过PCB来感知进程存在的细节,所以PCB是进程存在的唯一标志。
什么是死锁?死锁产生的原因有哪些?死锁的必要条件是什么?
答:死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程将永远不能再向前推进。
死锁产生的原因有:竞争资源、进程推进顺序不合理
死锁的必要条件:对资源的使用是互斥的而非共享的、占有并等待、不可抢占、环路等待
请求式分页系统中,若采用具有快表的地址变址机构(用高速缓冲寄存器保存部分页表表目),请写出将虚拟地址V=(P,D)转换为物理地址的详细步骤。
答:当进程要访问某个逻辑地址中的数据时,分页地址变换机构会自动地将有效地址分为页号P和页内地址D两部分,再以页号P为索引检索页表。查找操作由硬件执行:
- 在执行检索之前,先将页号长度与页表长度进行比较,如果页号长度大于等于页表长度,则产生地址越界中断
- 若否,则将页表起址与页号和页长度的乘积相加,得到该表项在页表中的位置,于是可从中得到物理块号,将之装入物理地址寄存器中
- 再将有效地址寄存器中的页内地址送入物理地址寄存器的块内地址段中,完成了从逻辑地址到物理地址的转换
试述抖动产生的原因?如何解决抖动问题?在学过的存储管理中,那些可能产生抖动,那些不会产生抖动?
答:原因:在系统开始阶段,CPU的利用率随着程序度的提高而提高,并在某一时刻达到峰值。此后若继续增加多道程序,将产生抖动,从而导致CPU的利用率急剧下降。
解决方法有:
- 采取局部置换策略。当发现缺页后,仅在进程本身的内存空间范围内置换页面,不允许从其他的进程获得新的物理板块。这种方法可以把抖动限制在较小范围内,但不能根本上防止抖动的发生。
- 在CPU调度程序中引入工作集算法:在调度程序发现CPU利用率降低时,先检查每个进程的驻留集是否足够大。仅当每个进程在内存中都有足够大的驻留集时,再从外存调入新作业
- L=S准则:利用产生缺页的平均时间(L)等于系统处理进程缺页的平均时间(S)的原则调整多道程序的度
- 挂起若干进程
在学过的存储管理方法中,虚存管理会产生抖动,实存管理则不会
什么是程序的重定位?有几种重定位方式?详述各自的实现思想。
答:程序的重定位是指:程序装入时对目标程序中的指令和数据的地址的修改过程
重定位有两种:
- 静态重定位:地址变换只在装入时一次完成,以后不再改变
- 动态重定位:在装入内存后,并不立即将相对地址改为绝对地址,而是当程序真正要执行时才进行重定位
操作系统为什么要设置”打开文件“的系统调用?
答:为了将打开文件的目录内容复制到内存,以提高文件的存储速度。
程序局部性特征有哪些?有何应用意义?
答:时间局部性:程序中某条数据或指令被访问,不久可能再次被访问
空间局部性:一旦程序访问了某个存储单元,不久后其附近的存储单元可能也会被访问
局部性原理的一个典型应用就是用于缓冲或者内外存信息的置换过程
磁盘访问时间包括哪几部分?怎么减少磁盘访问延时
答:磁盘访问时间包括寻道时间、旋转延迟时间和传输时间。
通过采用合理的磁盘调度算法缩短寻道时间,采用缓存技术





