目录
十九、说明中断I/O方式与DMA方式有什么不同?控制方式及其优缺点
一、简述中断技术的工作原理
CPU 感知来自外设的输入输出请求或者计算机的一些异常事故或其它内部原因,触发下暂停正在运行的程序,转而先去处理一段为特定事件而编写的处理程序,等中断处理程序处理完成后,再回到主程序被打断的地方继续运行。
二、多中断的处理方案包括哪些
①顺序处理:禁止中断(关中断)、开中断
②中断嵌套:中断屏蔽
处理多中断有两种方法。第一种方法是当正在处理一个中断时,禁止中断,顺序处理所发生的各个中断。第二种方法是中断嵌套,定义中断优先级,允许高优先级中断打断低优先级中断的处理过程。
三、简述高速缓存的工作原理
需访问某内存块中的字时,把该块移到某个槽中。无空槽时,淘汰最近最不可能再用的旧槽数据,再读入新块。
四、什么是多道程序设计
多道程序设计是在计算机内存中同时存放两个或多个程序,交错处理每个进程。当一个程序执行时需要等待I/O,处理器可以切换到另一个程序。
五、简要定义五状态进程模型中的每种状态
运行态:该进程正在执行。
就绪态:进程做好了准备,只要有机会就开始执行。
阻塞态:进程在某些事件发生前不能执行,如I/O操作完成。
新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。
退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。
六、模式切换和进程切换有何区别
发生模式切换可以不改变当前正处于运行态的进程的状态。发生进程切换时,一个正在执行的进程被中断,操作系统指定另一个进程为运行态。进程切换需要保存更多的状态信息。
七、列出用户级线程相对于内核级线程的三个优点
1.由于所有线程管理数据结构都在一个进程的用户地址空间中,线程切换不需要内核模式的特权,因此,进程不需要为了线程管理而切换到内核模式,这节省了在两种模式间进行切换(从用户模式到内核模式;从内核模式返回用户模式)的开销。
2.调用可以是应用程序专用的。一个应用程序可能倾向于简单的轮询调度算法,而另一个应用程序可能倾向于基于优先级的调度算法。调度算法可以去适应应用程序,而不会扰乱底层的操作系统调度器。
3.用户级线程可以在任何操作系统中运行,不需要对底层内核进行修改以支持用户级线程。线程库是一组供所有应用程序共享的应用级软件包。
(简化版:
①快——堆栈指针和计数器被切换,新的进程就自动投入运行。
②允许每个进程拥有自己的调度算法
③用户线程具有良好的扩展性)
八、列出用户级线程相对于内核级线程的两个缺点
1.在典型的操作系统中,许多系统调用都会引起阻塞。因此,当用户级线程执行一个系统调用时,不仅这个线程会被阻塞,进程中的所有线程都会被阻塞。
2.在纯粹的用户级进程策略中,一个多线程应用程序不能利用多处理器技术。内核一次只把一个进程分配给一个处理器,因此一次进程中只能有一个线程可以执行。
(简化版:
①阻塞调用不好实现
②一个线程开始运行,该进程中的其他线程就不能运行)
九、列出互斥的要求
①强制实施互斥:相同资源、共同对象的临界区有关的所有进程中,一次只允许一个进程进入临界区。
②在非临界区停止的进程不能干涉其他进程。
③不允许需要访问临界区的进程出现死锁、饥饿,进程在临界区中驻留时间有限。
④没有进程在临界区中,需进入的进程能立即进入。
⑤对相关进程的执行速度、处理器数量没有人任何要求、限制。
十、产生死锁的四个条件是什么
1、互斥:涉及的是需互斥访问的临界资源。
2、占有且等待:进程申请资源而阻塞时,继续占有(不释放)已分配的资源。
3、不可抢占:进程已占用的资源未使用完前不可强行剥夺,只能由进程自愿释放。
4、循环等待:进程间形成一个等待资源的循环链。
十一、死锁避免、预防和检测之间的区别是什么
1、死锁预防:确保系统永远不会进入死锁状态
2、避免死锁:在使用前进行判断,只允许不会产生死锁的进程申请资源
3、死锁检测:在检测到运行系统进入死锁,进行恢复。
十二、为什么需要重定位进程的能力
通常情况下,程序员并不能事先知道在某个程序执行期间会有其他哪些程序驻留在内存中。此外还希望通过提供一个巨大的就绪进程池,能够把活动进程换入或换出内存,以便使处理器的利用率最大化。在这两种情况下,进程在主存中的确切位置是不可预知的。为了避免这种限制,需要把进程重定位到内存的不同区域。
十三、页和页框之间有什么区别
在分页系统中,进程和磁盘上存储的数据被分成大小固定相等的小块,叫做页。而主存被分成同样大小的小块,叫做页框。一页框正好能装下一页。
十四、解释什么是抖动
虚拟内存结构的现象,在这个过程中处理器大部分的时间都用于交换块,而不是执行指令。
十五、转换检测缓冲区的目的是什么
减少从磁盘中恢复一个页表项所需的时间。
十六、驻留集和工作集有什么区别
一个进程的驻留集是指当前在主存中的这个进程的页的个数,一个进程的工作集是指这个进程最近被使用过的页的个数。
十七、简要描述三种类型的处理器调度
长程调度:决定加入到待执行的进程池中;
中程调度:决定加入到部分或全部在主存中的进程集合中;
短程调度:决定哪一个可用进程将被处理器执行。
十八、抢占式调度和非抢占式调度有何区别
非抢占:在这种情况下,一旦进程处于运行态,它就不断执行直到终止,或者为等待I/0或请求某些操作系统服务而阻塞自己。
抢占:当前正在运行的进程可能被操作系统中断,并转移到就绪态。是否抢占当前进程的决策可能发生在一个新进程到达时,或者在一个中断发生后把一个被阻塞的进程置为就绪态时,或者基于周期性的时间中断。
十九、说明中断I/O方式与DMA方式有什么不同?控制方式及其优缺点
控制方式:
中断I/O方式:
在每个数据传送完成后中断CPU,数据传送是在中断处理时由CPU控制完成的。
DMA方式:
在所要传送的一批数据全部传送结束时中断CPU,数据传送是在DMA控制器的控制下完成的。
优缺点:
中断驱动 I/O 方式:
优点:能实现 CPU 和设备、设备与设备间的并行操作,CPU 的利用率比程序 I/O 方式有了很大提高。
缺点:I/O 控制器的数据缓冲寄存器通常较小,且数据缓冲寄存器装满数据后将会发出中断,因此一次数据传送过程会中断较多次,消耗了大量 CPU 时间。若系统中配置的外设数目较多,且都以中断方式进行控制,则将消耗大量 CPU 时间或因为 CPU来不及处理而造成数据丢失。
DMA 方式:
优点:这种方式可以大大提高数据传输的效率,此外,DMA方式适用于数据传输率很高的 I/O 设备实现成组数据的传送。
缺点:DMA 接口在访问主存时,CPU 处于不工作状态或保持状态,未能充分发挥CPU 对主存的利用率。此外,由于 DMA 接口与 CPU 共享主存,这就有可能出现两者争用主存的冲突。
二十、缓冲技术有什么作用?
①协调设备间的数据传送
②减少对 CPU 的中断频率
③提高 CPU 和 I/O 设备之间的并行性
④优化数据读写效率
二十一、简单定义三种记录组块的方法
①固定组块:
使用固定长度的记录;若干条完整的记录保存在一个块中;在每个块的末尾可能会存在未使用的空间,称为内部碎片。
②可变长度跨越式组块:
使用长度可变的记录;允许记录跨越多个块,如果一个记录太长而不能完全放入一个块中,那么该记录的一部分会存储在当前的块中,其余部分会存储在后续的块中。
③可变长度非跨越式组块:
同样使用长度可变的记录;但不允许记录跨越多个块,也就是说,每个记录必须完全存储在一个块内;如果下一条记录比块中剩余的未使用空间大,则无法使用这一部分空间,导致块中存在未使用的空间(内部碎片)。
二十二、简单定义三种文件分配方法
连续分配:是指在创建文件时,给文件分配一组连续的块。
链式分配:基于单个的块,链中的每一块都包含指向下一块的指针。
索引分配:每个文件在文件分配表中有一个一级索引,分配给该文件的每个分区在索引中都有一个表项。