操作系统 第六章-课后习题

  1. 说明 I/O 系统的基本功能
    1. 隐藏物理设备的细节;
    2. 与设备无关性;
    3. 提高处理机和 I/O 设备的利用率;
    4. 对 I/O 设备进行控制;
    5. 确保对设备的正确共享;
    6. 错误处理;
  2. 简要说明 I/O 软件的4个层次的基本功能
    1. 用户层 I/O 软件:用于实现用户与 I/O 设备的交互;
      • 系统调用;
      • spooling 技术;
        • 守护进程
    2. 设备独立性软件:用于实现用户程序与设备驱动器的统一接口、设备命令、设备保护、以及设备分配与释放;
      1. 各种数据结构:逻辑设备表,系统设备表,控制器控制表,设备控制表,通道控制表;
      2. 设备分配算法:
        1. 先来先服务
        2. 优先级
    3. 设备驱动程序:与硬件直接有关,用来具体实现系统对设备发出的操作指令,驱动 I/O 设备工作;
      1. I/O 设备控制方式:
        1. 程序直接控制(字节)
        2. 中断控制(字节)
        3. DMA(块)
        4. 通道(块)
    4. 中断处理程序:用于保存被中断进程的CPU 环境,准入相应的中断处理程序进行处理,处理完后回复现场,并返回到被中断的进程;
  3. I/O 系统接口与软件/硬件(RW/HW)接口分别是什么接口?
    1. I/O 系统接口是I/O 系统与上层系统之间的接口,向上层提供对设备进行操作的抽象命令,以方便高层对设备的使用
    2. 软件/硬件(RW/HW) 接口上面是中断处理程序和用于不同设备的设备驱动程序,下面是各种设备的控制器;
  4. 与设备无关性的基本含义是什么?为什么要设置该层?
    1. 应用程序独立于具体使用的物理设备,为了实现设备独立性而引入了逻辑设备和物理设备两概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;在系统的实际执行时,还必须使用物理设备名称。
    2. 优点:
      1. 设备分配时的灵活性高;
      2. 易于实现 I/O 重定向(用于 I/O 操作的设备可以更换,而不必改变应用程序);
  5. 说明设备控制器的组成
    1. 设置控制器与处理机的接口;
    2. 设备控制器与设备的接口;
    3. I/O 逻辑
  6. 为了实现 CPU 与设备控制器之间的通信,设备控制器应该具备哪些功能?
    1. 接收和识别指令;
    2. 数据交换;
    3. 标识和报告设备的状态;
    4. 地址识别;
    5. 数据缓冲;
    6. 差错控制;
  7. 什么时内存映像 I/O ?它是如何实现的?
    1. 编址上不再区分内存单元地址和设备控制器中的寄存器地址,都采用k值。
    2. 当k值小于等于n时表示的是内存地址;
    3. 当k值大于n时表示的是设备控制器的寄存器地址;
    4. 统一编码,简化了寻址;
  8. 为什么说中断是OS赖以生存的基础?
    1. 中断在操作系统中有着特殊重要地位,它是多道程序得以实现的基础,没有中断,就不可能实现多道程序,因为进程之间的切换是通过中断来完成的;
    2. 中断也是设备管理的基础,为了提高处理机的利用率和实现CPU和I/O设备并执行,也必需有中断的支持;
    3. 中断处理程序是I/O 系统中最低的一层;
  9. 对中断源的两种处理方式分别适用于哪种情况?
    1. 屏蔽(禁止)中断:当处理机正在处理一个中断时,将屏蔽掉所有的中断,知道处理机已处理完本次中断,再去检查是否有中断产生。所有中断按顺序处理,优点是简单,但不能用于实时性要求较高的中断请求;
    2. 嵌套中断:在设置了中断优先级的系统中,当同时有多个不同优先级的中断请求,CPU优先响应优先级最高的中断请求,高优先级的中断请求可以抢占正在运行的低优先级的中断请求;
  10. 设备中断处理程序通常需要完成哪些工作?​​​​​​​
    1. ​​​​​​​唤醒被阻塞的驱动进程;
    2. 保护被中断进程的CPU环境;
    3. 转入相应的设备处理程序;
    4. 中断处理;
    5. 恢复被中断进程的现场;
  11. 简要说明中断处理程序对中断进行处理的几个步骤?
    1. ​​​​​​​测定是否有未响应的中断信号;
    2. 保护被中断进程的CPU环境;
    3. 转入相应的设备处理程序;
    4. 中断处理;
    5. 恢复CPU的现场并退出中断;
  12. 设备驱动程序通常需要完成哪些工作?
    1. ​​​​​​​将接收到的抽象要求转为具体要求;
    2. 检查用户 I/O 请求合法性,了解 I/O 设备状态,传递有关参数,设置设备工作方式(程序直接控制,中断控制,DMA,通道控制);
    3. 发出 IO 命令,启动分配到的 IO设备,完成指定IO操作;
    4. 及时响应由控制器或通道发来的中断请求,根据中断类型调用相应中断处理程序处理;
    5. 对于有通道的计算机,驱动程序还应该根据用户IO请求自动构成通道程序;
  13. 简要说明设备驱动程序的处理过程可分为哪几部分​​​​​​​
    1. 将抽象要求转换为具体要求;
    2. 对服务请求进行校验;
    3. 检查设备的状态;
    4. 传送必要的参数;
  14. IO控制发展的主要推动因素?
    1. ​​​​​​​减少CPU对IO控制的干预,把CPU从繁杂的IO控制中解脱出来,已变更毒品的去玩车个数据处理任务;
    2. 缓和CPU的高速性和低速性之间速度不匹配的矛盾,以提高CPU的利用率和系统的吞吐量;
    3. 提高CPU和IO设备操作的并行程度,使CPU和IO设备都处于忙碌状态,从而提高整个系统的资源利用率和系统吞吐量;
  15. 有哪几种IO控制方式?分别适用于?​​​​​​​
    1. ​​​​​​​程序IO方式:适用于早期无中断的计算机;
    2. 中断驱动IO控制方式:普遍用于现代的计算机系统中;
    3. DMA:适用于IO设备为块设备时在和主机进行数据交换的时候;
    4. IO通道控制方式:IO设备和主机进行一组数据块的数据交换时使用,但此时要求系统必须配置相应的通道及通道控制器;
  16. 试说明DMA的工作流程?
    1. ​​​​​​​(当CPU要从磁盘中读入一数据块时,便向磁盘控制器发送一条读命令)
    2. 该命令被送入命令寄存器CR 中;同时将本次需要读入数据在内存中的起始目标地址送入内存地址寄存器 MAR 中;
    3. 将要读取的字节数送入数据计数器 DR 中;
    4. 将磁盘中的源地址直接送至 DMA 控制器中的 IO控制逻辑上;
    5. 然后启动DMA 控制器进行数据传送;
    6. 此后,CPU 可以去处理其他任务,整个数据传送的过程有 DMA 控制器进行控制;
      1. DMA控制器从磁盘中读取一个字节的数据,并送入数据寄存器DR后,再挪用一个存储器周期,将该字节传送到MAR所指示的内存单元;
      2. 对MAR中的内容+1;
      3. 对DC内容-1;
      4. DC==0,DMA控制器发出中断请求;
    7. 仅在传送一个或多个数据块的开始和结束时,才需要CPU干预;
  17. 与设备无关的软件中,包括了哪些公有操作软件?
    1. ​​​​​​​设备驱动程序的统一接口;
    2. 缓冲管理;
    3. 差错控制;
    4. 对独立设备的分配与回收;
    5. 独立于设备的逻辑数据块;
  18. 考虑设备独立性时,应如何分配独占设备?
    1. ​​​​​​​进程以逻辑设备名提出IO请求;
    2. 系统根据逻辑设备表LUT找到逻辑设备对应的系统设备表SDT的表项;
    3. 根据SDT的表项找到对应的设备控制表DCT的表项,根据DCT表项的设备状态字段,判断当前设备是否正忙,若忙则将该进程的PCB挂在设备队列上,否则按照一定的算法,计算本次设备分配的安全性,不会导致不安全就分配,否则仍将改进程的PCB挂在设备队列上;
    4. 根据DCT找到该设备的控制器控制表COCT中对应的表项中的控制器状态字段,判断是否忙碌:忙碌则将该进程的PCB挂在控制器的等待队列,否则分配;
    5. 根据COCT中找到通道控制器CHCT对应项;判断状态字段;
    6. 只有当:设备、控制器、通道;三者都分配成功,这次的设备分配才算成功。然后便可启动该IO设备进行数据传送;
  19. 何为设备虚拟?实现设备虚拟时所依赖的关键技术是?​​​​​​​
    1. 通过虚拟技术可以将一台独占设备变换成若干台逻辑设备,供若干个用户(进程)同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。其实先所依赖的关键技术是SPOOLING技术;
  20. 在实现后台打印时,SPOOLING系统应为请求IO进程提供哪些服务?
    1. ​​​​​​​由输出进程在输出井(磁盘上)中为之申请一块空闲盘块区,并将要打印的数据送入其中;
    2. 输出进程再为用户进程申请一张空白的用户打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上;
    3. 一旦打印机空闲,输出进程便从欧冠请求打印队列的对手取出一张请求打印表,根据表中的要求将要打印的数据从输出井传送到内存缓冲区,再由打印机进行打印;
  21. 假脱机系统向用户提供共享打印机的基本思想是?
    1. ​​​​​​​对每个用户而言,系统并非即时执行其程序输出的数据的真实打印操作,而只是即时将数据输出到缓冲区,这时的数据并未真正被打印,只是让用户感觉系统已为他打印;
    2. 真正的打印操作,是在打印机空闲且该打印任务在等待队列中已拍到队首时进行的;
    3. 以上过程对用户屏蔽,用户不可见;
  22. 何谓安全分配方式和不安全分配方式?
    1. 安全分配方式:每当进程发出IO请求后,便进入阻塞状态。知道其IO操作完成时才被唤醒。在采用这种分配策略时,一旦进入已获得某种设备资源后便阻塞,使它不可能再请求任何资源,而在它运行时又不保持任何资源。这种分配昂是摒弃了造成死锁“请求和保持”条件,分配是安全的;缺点是进程进展缓慢,CPU与IO设备串行工作;
    2. 不安全分配方式:仅当进程请求的设备已被另一个进程占有时,进程才会进入阻塞状态;可能具有“请求和保持”造成死锁;​​​​​​​
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值