2012
- 引入线程机制有哪些好处?试比较进程与线程的主要区别?
引入线程机制的好处:- 减少程序在并发执行时所付出的时空开销
- 使OS具有更好的并发性
- 提高 CPU 的利用率。
主要区别: - 调度性
线程在OS中作为调度和分派的基本单位,进程只作为资源拥有的基本单位 - 并发性
进程可以并发执行,一个进程的多个线程也可并发执行 - 拥有资源
进程始终是拥有资源的基本单位,线程只拥有运行时必不可少的资源,本身基本不拥有系统资源,但可以访问隶属进程的资源 - 系统开销
操作系统在创建、撤消和切换进程时付出的开销显著大于线程
- 什么是多道程序设计,它有哪些优点?
多道程序设计:
是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的行
优点:- 提高 CPU 的利用率
- 提高内存和 I/O 设备的利用率
- 增加系统吞吐量
- 简述死锁避免的基本思想?
死锁遭免:
属于事先预防死锁发生策略,在资源动态分配过程中,防止系统进入不安全状态,以避免发生死锁 - 描述文件的物理结构,并说明为何链接文件不适合随机存取。
文件的物理结构:
文件在外存上的存储组织形式
链接文件无法直接访问盘块,只能通过指针顺序访问文件,所以不能随机存取 - 简述时钟页面置换算法(CL0CK)的基本思想?它有什么特点?
选择最近未用的页面进行置换。
给每个页面设置一个访问位,用以标识该页最近有没有被访问过。
Clock维护一个内存中所有页面的循环链表,当程序需要访问链表中存在的页面时,该页面的访问位就被置为1;否则,若程序要访问的页面没有在链表中,那就需要淘汰一个内存中的页面。
于是,一个指针就从上次被淘汰贞面的下一个位置开始顺序地去遍历这个循环链表,当这个指针指向的页面和访问位为1时,就把该访问位清零,指针再向下移动,当指针指向的页面的访问位为0时,就选择淘汰掉这一页面。
2013
-
进程的最基本状态有哪些?哪些事件可能引起不同状态之间的转换?请举例说明。
-
请说明打印机是如何采用SP00Ling 技术编程逻辑上的共享设备?
用SP00LING技术共享打印机时,对所有提出请求的用户进程,系统接受他们的请求时,并不真正立即把打印机分配给它们,而是给他们两件事:- 由输出进程在输出井中为他申请一个空闲缓冲区,并将要打印的数据送入其中
- 输出进程给用户进程申请一张空白的打印请求表,把用户的打印请求填入表里,再将该表挂到打印队列上。
至此用户进程觉得它的打印进程已经完成,而不必等待满速的打印过程完成,当打印机空闲时,输出进程从打印表中取出一个打印请求表,将打印数据传进进程输出井的内存缓中区再由打印机输出打印依次处理打印表中的缓冲数据,直到为空,系统将每个打印请求进程在输出井中分配一个存储区使得每个用户进程在逻辑上独占一个打印机,从而实现打印机共享
-
以你熟悉的文件系统为例,说明如何实现对一个文件的读/写?
文件读操作:
为了读文件,执行一个系统调用,指明文件名称和要读入文件块的内存位置。需要根据用户所给出的文件名去查找目录,找到相应位置,修改读指针写操作:在写文件时,根据文件查找目录找到指定文件的目录项,再利用目录中的写指针进行写操作。 -
什么是请求分页存储管理?给出一个请求分页存储管理的主存页面分配和回收的方法。
请求分页存储管理是建立在基本分页系统基础上的,为了支持虚拟存储器功能而增加了请求调页功能和页面置换功能- 可变分配局部置换
- 固定分配局部置换
- 可变分配全局置换
-
处理机采用多级反馈队列调度的作用是什么?请举例说明
多级反馈队列算法集合了时间片轮转调度算法和优先级调度算法的优点,通过动态调整进程优先级和时间片大小,可以兼顾多方面的系统目标。
例如:对于长批处理作业用户,长进程经过前面几个队列得到部分执行,不会长期得不到处理。
2014
- OS中引入多道程序设计的好处有哪些?
- 提高 CPU 的利用率
- 提高内存和 1/0 设备的利用率
- 增加系统吞吐量
- 减短用户响应的时间
- 选择调度方式和高度算法时,应该遵守哪些准则?分别给出至少一种适合批处理,分时系统和实时系统的调度算法的名称。
准则:- 提高 CPU 利用率
- 提高系统吞吐量
- 降低周转时间
- 减少等待时间
- 减少响应时间
批处理系统: - 高响应比优先调度算法
- 短作业优先算法
分时系统: - 优先级调度算法
- 时间片轮转算法
实时系统: - 最早截止时间优先算法
- 最低松弛度优先算法
- 什么是前趋图?
前趋图是一个有向无循环图,用于描述进程之间执行的前后关系 - 在多线程 OS 中,进程有哪些属性?
- 进程是资源分配的基本单位
- 一个进程内线程与另一进程中的线程并发会引起进程切换
- 多个进程间可并发运行且并发度由于引入线程会增强
- 进程的地址空间之间相互独立
- 进程可创建多个线程,线程可共享进程拥有全部的资漏
- 什么是死锁?处理死锁的基本方法有哪些?
死锁:
指多个进程因竞争资源而造成的一种僵局(相互等待)若无外力作用,这些进程都将无法向外推进。
基本方法:- 预防死锁
- 避免死锁
- 死锁检测与解除
2015
- 简述进程与线程的关系,
进程是资源分配的基本单位,而线程是调度的基本单位 - 简述当前常用的三种进程间的高级通信机制。
- 共享存储
- 消息传递
- 管道通信
- 简述基于时间片的轮转调度算法的基本原理。
时间片轮转调度:
主要适用于分时系统,OS将所有就绪进程到达时间的先后次序排成一个队列,进程调度程序总是选择就绪队列中第一个进程执行,仅进行一个时间片,在使用完一个时间片后,即使进程并未完成其运行,它也必须释放出(被剥夺)处理机给下一个就绪的进程,而被剥夺的进程返回到就绪队列的末尾重新排队,等待再次运行。 - 试解释为什么单缓冲情况下,系统对每一块数据的处理时间为Max(C,T),而双缓冲时为 Max(C,T)?请绘出示意图。其中C为cpu 对该块数据处理的时间,M为操作系统将该缓冲区中的数据传送到用户的时间,T为从磁盘把一块数据输入到缓冲区的时间。
在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为T;操作系统将缓冲区数据传送给用户区的时间为M;而CPU对这一块数据进行计算得时间为C。
在单缓冲情况下,由于设备的输入操作和CPU的处理操作可以并行,所以系统对每整块数据的处理时间为 max(C,T) + M
在双缓冲清况下,在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时操作系统可以从第一缓冲区移出数据、并送入用户进程、接着由CPU对数据进行计算。在双缓冲区中,不仅设备的输入操作和CPU的处理操作可以并行,设备的输入操作和数据的传送操作也可以并行,因此耗时大约为max(C+M, T)。考虑到M是内存中数据块的搬家耗时,非常短暂可以省略,因此近似地认为是:max(C, T)
2016
- 计算机系统的资源包括哪些?
- 处理机
- 存储器
- I/O设备
- 文件
- Hash检素法中,如何解决“冲突”问题?
如果发生冲突,此时将其Hash值再加上一个常数(该常数应与目录长度互斥)形成新的索引值,再重新开始查找。 - 什么是逻辑文件?什么是物理文件?简述逻辑文件的几种形式。
逻辑文件:从用户观点出发看到的文件的组织形式
物理文件:存放在存储介质上的文件
逻辑文件的形式:顺序文件、索引文件、索引顺序文件 - 死锁的原因是什么?
- 系统资源的竞争
- 进程推进顺序非法
- 信号量使用不当
- 作业调度算法是按照什么样的原则来选取作业并投入运行,调试算法的合理性直接影响系统的效率,作业调度算法有哪些?对算法的选择要考虑哪些问题?
原则:- 作业调度每次接纳进入内存的作业数,取决于多道程序度。
- 应将哪些作业从外存调入内存,取决于采用的调度算法。
作业调度算法: - 先来先服务调度算法
- 短作业优先算法
- 优先级调度算法
- 高响应比优先调度算法
- 时间片轮转调度算法。
要考虑的网题: - CPU 利用率
- 系统吞吐量
- 周转时间
- 等待时间
- 响应时间
- 什么是原语?原语的主要特点是什么?
由若千条指令组成的,用于完成一定功能的一个进程、具有原子性,执行期间不可被分割 - 进程之间存在哪几种相互制约关系?
两种制约关系:- 间接相互制约关系(互斥)
- 直接相互制约关系(同步)
2017
- 存储器管理的主要任务是什么?
给多道程序的运行提供良好环境,方便用户使用以及提高内存利用率, - 什么是管程?管程由哪几部分组成?
管程:
由一组数据以及定义在这组数据之上的对这组数据的操作组成的软件模块
组成:- 局部于管程的共享结构数据说明
- 对该数据结构进行操作的一组过程
- 对局部于管程的共享数据设置初始值语句
- 进程通信类型有哪几种?
- 共享存储
- 消息传递
- 管道通信
- 处理死领的基本方法有哪些?
- 预防死锁
- 通免死锁
- 死锁检测与解除
- 常用内存动态分区分配算法有哪些?
- 首次适应
- 循环首次适应
- 最佳适应
- 最坏适应
- 为什么要引入缓冲?
- 缓和CPU与I0 设备间速度不匹配的矛盾
- 减少对CPU 的中断频率,放宽对CPU 中断响应时间的限制
- 解决数据粒度不匹配的问题
- 提高CPU个I/O设备之间的并行度
- 在采用 Hash 进行目录查询时,如何文件名转换时处理出现的“冲突”?
如果发生冲突,此时将其 Hash 值再加上一个常数(该常数应与目录长度互斥)形成新的索引值,再重新开始查找。 - 什么是SP00Ling技术?它由哪几部分组成?
Spooling技术将一台物理I/O设备燃拟为多台逻辑I/O设备,这样也就允许多个用户共享一台物理I/0 设备。
组成:- 输入井和输出井
- 输入缓冲区和输出缓冲区
- 输入进程和输出进程
2018
- 设备管理的目标是什么?设备管理包括哪些基本功能?
设备管理的目标:- 完成用户提出的I/O请求
- 为用户分配I/O设备
- 提高CPU和I/O设备的利用率
- 提高I/O速度
- 方便用户使用I/O设备。
基本功能 - 缓冲管理
- 设备分配
- 设备处理
- 虚拟设备
- 请求页式管理与静态页面管理有什么区别?当访问的页不在内存应如何处理?
静态页面管理将一个作业的全部地址空间同时装入主存;请求页式管理则根据需要将页面按需调入主存。
当所需页面不在主存中时,将发生缺页中断。缺页中断处理程序将所需的页面调入主存。当主存无空闲块时,按一定的页面置换算法将某页淘汰而腾出空间。
2019
- 什么是逻辑文件?什么是物理文件?简述逻辑文件的几种形式?
逻辑文件:从用户观点出发看到的文件的组织形式。
物理文件:存放在存储介质上的文件。
逻辑文件的形式:顺序文件、索引文件、索引顺序文件。
2023
- 简述在处理机进行调度时,哪些算法可能造成饥饿。
短作业优先调度、优先级调度、多级反馈队列 - 银行家算法缺点。
- 管理复杂:
银行家算法需要对每个进程申明所需的最大资源量和已经占用的资源量,同时还需要计算当前状态是否安全。 - 限制较多:
银行家算法只适合处理固定数量、固定类型的资源,并且必须在每个进程开始前就知道它所需的最大资源量。 - 优先级不够灵活:
银行家算法虽然可以对任务进行优先级设置,但是设置的方式比较固定,不能够根据实际情况做出灵活调整。
- 管理复杂:
- 当请求分页系统缺页时,操作系统会如何解决,进程的状态会发生什么变化?
请求系统缺页时会发生缺页中断,然后由操作系统的缺页中断处理程序处理中断。此时峡页的进程阻寒,放入阻寒队列,调页完成后再将其唤醒,放回就绪队列。进程状态由运行态变为阻塞态。
2024
- 进程并发是什么,为什么OS需要并发性
进程并发是指多个进程在同一时间段内同时执行。虽然在单核CPU上,真正的并行执行是不可能的,但通过快速切换进程,操作系统可以使用户感觉到多个进程在同时运行。
操作系统需要并发性来提高资源利用率和系统吞吐量,同时也能提升用户体验,因为用户可以同时运行多个应用程序。 - 什么是文件权限,文件的读取,写入,执行是什么
文件权限是指操作系统为文件设置的访问控制规则,决定了哪些用户或用户组可以对文件进行何种操作。
文件的读取(Read)权限允许用户查看文件内容
写入(Write权限允许用户修改文件内容
执行(Execute)权限允许用户运行文件(如果文件是可执行程序或脚本)。 - Cache是什么,为什么说提高了系统效率
Cache(缓存)是一种高速度的数据存储机制,位于 CPU 和主存之间,用来临时存储常用的数据和指令。由于 Cache 的访问速度比主存快得多,它能显著提高系统的运行效率,通过减少CPU 等待数据从主存加载的时间,Cache 提高了整体系统性能 - 进程并发性对于实现多任务的作用
进程并发性是实现多任务的重婴机制、多任务是指抛作系统能够同叶处理多个任务或进程、通过进程并发性,操作系统可以在不同进程间快速切换、使得多个任务看起来像是同时进行的,这不仅提商了系统蛋源的利用率,还使得用户能够同时运个应用程序,提高了工作效率和用户体验。