• 输入输出管理:I/O控制方式


    1.I/O控制方式

    I/O控制方式:用什么样的方式来控制I/O设备的数据读/写
    下图来自程序员cxuan

    1.1 程序直接控制方式

    下图来自王道考研操作系统
    完成一次读写操作的流程

    下图来自王道考研操作系统
    程序直接控制方式中CPU干预的频率、数据传送的单位、主要优缺点

    下图来自程序员cxuan

    1.2 中断驱动方式

    程序直接控制方式中CPU利用率低,我们引入中断来提高CPU利用率
    下图来自程序员cxuan
    完成一次读写操作的流程

    CPU给I/O模块发出读命令后,可以转头做其他事情,不必一直检查I/O设备的状态,等到I/O设备自己完成了工作,将中断信号给中断控制器,CPU在每个指令周期末尾检查中断信号,中断控制器将I/O的中断信号发出,CPU检测到该中断信号,那CPU停下当前任务来响应中断
    下图来自王道考研操作系统
    中断驱动方式中CPU干预的频率、数据传送的单位、主要优缺点

    下图来自程序员cxuan

    1.3 直接内存访问方式(DMA)

    DMA主要用于块设备的I/O控制,DMA方式的实现进一步减低了干预CPU的频率,CPU只需在读写的开始和结束时刻使用,其余时间可以做其他任务
    读数据时的数据流向:I/O设备->CPU->内存
    写数据时的数据流向:内存->CPU->I/O设备
    每次读写数据都需要CPU内的寄存器中转,能不能不用CPU内的寄存器中转,使得数据直接由I/O设备传输到内存
    读数据时的数据流向:I/O设备->内存
    写数据时的数据流向:内存->I/O设备

    下图来自程序员cxuan
    完成一次读写操作的流程

    下图来自小林coding

    下图来自王道考研操作系统

    下图来自王道考研操作系统
    DMA方式中CPU干预的频率、数据传送的单位、主要优缺点

    1.4 通道控制方式

    由于CPU每发出一条I/O指令,只能读/写一个或多个连续的数据块,如果需要读/写一个或多个离散的数据块,就需要CPU发出多条I/O指令,CPU将一堆指令直接放到内存中,让通道这个硬件直接去依次读取,不必多次麻烦CPU

    通道是一种硬件,理解为弱鸡版的CPU,只能识别和执行通道指令

    CPU将要做“任务清单”放到内存中,然后给通道发出指令,告诉通道这个清单在内存中的位置,接下来的工作均有通道完成,CPU在发送完I/O指令后就不管了

    下图来自王道考研操作系统
    完成一次读写操作的流程

    下图来自王道考研操作系统
    通道控制方式中CPU干预的频率、数据传送的单位、主要优缺点

  • 相关阅读:
    java中集合的List
    RK3399平台开发系列讲解(PCI/PCI-E)5.55、PCIE RC枚举EP过程
    ATE电源芯片测试方案之效率曲线评估芯片性能
    错误:Some packages could not be installed.
    驱动初级Day01_环境搭建
    ChromeOptions 设置WebDriver/ChromeDriver的请求头参数
    Canny 算法的详解。
    新生儿常见问题>奶癣
    Leetcode 53. 最大子数组和
    力扣经典题目解析--旋转图像(字节二面)
  • 原文地址:https://blog.csdn.net/weixin_48524215/article/details/126337742