第6.5章:IO控制方式1

#mermaid-svg-oTECHk4KGCAqPlX2 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .label text{fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .node rect,#mermaid-svg-oTECHk4KGCAqPlX2 .node circle,#mermaid-svg-oTECHk4KGCAqPlX2 .node ellipse,#mermaid-svg-oTECHk4KGCAqPlX2 .node polygon,#mermaid-svg-oTECHk4KGCAqPlX2 .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-oTECHk4KGCAqPlX2 .node .label{text-align:center;fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .node.clickable{cursor:pointer}#mermaid-svg-oTECHk4KGCAqPlX2 .arrowheadPath{fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-oTECHk4KGCAqPlX2 .flowchart-link{stroke:#333;fill:none}#mermaid-svg-oTECHk4KGCAqPlX2 .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-oTECHk4KGCAqPlX2 .edgeLabel rect{opacity:0.9}#mermaid-svg-oTECHk4KGCAqPlX2 .edgeLabel span{color:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-oTECHk4KGCAqPlX2 .cluster text{fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-oTECHk4KGCAqPlX2 .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-oTECHk4KGCAqPlX2 text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-oTECHk4KGCAqPlX2 .actor-line{stroke:grey}#mermaid-svg-oTECHk4KGCAqPlX2 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-oTECHk4KGCAqPlX2 #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .sequenceNumber{fill:#fff}#mermaid-svg-oTECHk4KGCAqPlX2 #sequencenumber{fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 #crosshead path{fill:#333;stroke:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .messageText{fill:#333;stroke:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-oTECHk4KGCAqPlX2 .labelText,#mermaid-svg-oTECHk4KGCAqPlX2 .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-oTECHk4KGCAqPlX2 .loopText,#mermaid-svg-oTECHk4KGCAqPlX2 .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-oTECHk4KGCAqPlX2 .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-oTECHk4KGCAqPlX2 .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-oTECHk4KGCAqPlX2 .noteText,#mermaid-svg-oTECHk4KGCAqPlX2 .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-oTECHk4KGCAqPlX2 .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-oTECHk4KGCAqPlX2 .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-oTECHk4KGCAqPlX2 .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-oTECHk4KGCAqPlX2 .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-oTECHk4KGCAqPlX2 .section{stroke:none;opacity:0.2}#mermaid-svg-oTECHk4KGCAqPlX2 .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-oTECHk4KGCAqPlX2 .section2{fill:#fff400}#mermaid-svg-oTECHk4KGCAqPlX2 .section1,#mermaid-svg-oTECHk4KGCAqPlX2 .section3{fill:#fff;opacity:0.2}#mermaid-svg-oTECHk4KGCAqPlX2 .sectionTitle0{fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .sectionTitle1{fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .sectionTitle2{fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .sectionTitle3{fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-oTECHk4KGCAqPlX2 .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-oTECHk4KGCAqPlX2 .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-oTECHk4KGCAqPlX2 .grid path{stroke-width:0}#mermaid-svg-oTECHk4KGCAqPlX2 .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-oTECHk4KGCAqPlX2 .task{stroke-width:2}#mermaid-svg-oTECHk4KGCAqPlX2 .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-oTECHk4KGCAqPlX2 .taskText:not([font-size]){font-size:11px}#mermaid-svg-oTECHk4KGCAqPlX2 .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-oTECHk4KGCAqPlX2 .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-oTECHk4KGCAqPlX2 .task.clickable{cursor:pointer}#mermaid-svg-oTECHk4KGCAqPlX2 .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-oTECHk4KGCAqPlX2 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-oTECHk4KGCAqPlX2 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-oTECHk4KGCAqPlX2 .taskText0,#mermaid-svg-oTECHk4KGCAqPlX2 .taskText1,#mermaid-svg-oTECHk4KGCAqPlX2 .taskText2,#mermaid-svg-oTECHk4KGCAqPlX2 .taskText3{fill:#fff}#mermaid-svg-oTECHk4KGCAqPlX2 .task0,#mermaid-svg-oTECHk4KGCAqPlX2 .task1,#mermaid-svg-oTECHk4KGCAqPlX2 .task2,#mermaid-svg-oTECHk4KGCAqPlX2 .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-oTECHk4KGCAqPlX2 .taskTextOutside0,#mermaid-svg-oTECHk4KGCAqPlX2 .taskTextOutside2{fill:#000}#mermaid-svg-oTECHk4KGCAqPlX2 .taskTextOutside1,#mermaid-svg-oTECHk4KGCAqPlX2 .taskTextOutside3{fill:#000}#mermaid-svg-oTECHk4KGCAqPlX2 .active0,#mermaid-svg-oTECHk4KGCAqPlX2 .active1,#mermaid-svg-oTECHk4KGCAqPlX2 .active2,#mermaid-svg-oTECHk4KGCAqPlX2 .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-oTECHk4KGCAqPlX2 .activeText0,#mermaid-svg-oTECHk4KGCAqPlX2 .activeText1,#mermaid-svg-oTECHk4KGCAqPlX2 .activeText2,#mermaid-svg-oTECHk4KGCAqPlX2 .activeText3{fill:#000 !important}#mermaid-svg-oTECHk4KGCAqPlX2 .done0,#mermaid-svg-oTECHk4KGCAqPlX2 .done1,#mermaid-svg-oTECHk4KGCAqPlX2 .done2,#mermaid-svg-oTECHk4KGCAqPlX2 .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-oTECHk4KGCAqPlX2 .doneText0,#mermaid-svg-oTECHk4KGCAqPlX2 .doneText1,#mermaid-svg-oTECHk4KGCAqPlX2 .doneText2,#mermaid-svg-oTECHk4KGCAqPlX2 .doneText3{fill:#000 !important}#mermaid-svg-oTECHk4KGCAqPlX2 .crit0,#mermaid-svg-oTECHk4KGCAqPlX2 .crit1,#mermaid-svg-oTECHk4KGCAqPlX2 .crit2,#mermaid-svg-oTECHk4KGCAqPlX2 .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-oTECHk4KGCAqPlX2 .activeCrit0,#mermaid-svg-oTECHk4KGCAqPlX2 .activeCrit1,#mermaid-svg-oTECHk4KGCAqPlX2 .activeCrit2,#mermaid-svg-oTECHk4KGCAqPlX2 .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-oTECHk4KGCAqPlX2 .doneCrit0,#mermaid-svg-oTECHk4KGCAqPlX2 .doneCrit1,#mermaid-svg-oTECHk4KGCAqPlX2 .doneCrit2,#mermaid-svg-oTECHk4KGCAqPlX2 .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-oTECHk4KGCAqPlX2 .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-oTECHk4KGCAqPlX2 .milestoneText{font-style:italic}#mermaid-svg-oTECHk4KGCAqPlX2 .doneCritText0,#mermaid-svg-oTECHk4KGCAqPlX2 .doneCritText1,#mermaid-svg-oTECHk4KGCAqPlX2 .doneCritText2,#mermaid-svg-oTECHk4KGCAqPlX2 .doneCritText3{fill:#000 !important}#mermaid-svg-oTECHk4KGCAqPlX2 .activeCritText0,#mermaid-svg-oTECHk4KGCAqPlX2 .activeCritText1,#mermaid-svg-oTECHk4KGCAqPlX2 .activeCritText2,#mermaid-svg-oTECHk4KGCAqPlX2 .activeCritText3{fill:#000 !important}#mermaid-svg-oTECHk4KGCAqPlX2 .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-oTECHk4KGCAqPlX2 g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-oTECHk4KGCAqPlX2 g.classGroup text .title{font-weight:bolder}#mermaid-svg-oTECHk4KGCAqPlX2 g.clickable{cursor:pointer}#mermaid-svg-oTECHk4KGCAqPlX2 g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-oTECHk4KGCAqPlX2 g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-oTECHk4KGCAqPlX2 .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-oTECHk4KGCAqPlX2 .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-oTECHk4KGCAqPlX2 .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-oTECHk4KGCAqPlX2 .dashed-line{stroke-dasharray:3}#mermaid-svg-oTECHk4KGCAqPlX2 #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-oTECHk4KGCAqPlX2 #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-oTECHk4KGCAqPlX2 #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-oTECHk4KGCAqPlX2 #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-oTECHk4KGCAqPlX2 #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-oTECHk4KGCAqPlX2 #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-oTECHk4KGCAqPlX2 #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-oTECHk4KGCAqPlX2 #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-oTECHk4KGCAqPlX2 .commit-id,#mermaid-svg-oTECHk4KGCAqPlX2 .commit-msg,#mermaid-svg-oTECHk4KGCAqPlX2 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-oTECHk4KGCAqPlX2 .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-oTECHk4KGCAqPlX2 .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-oTECHk4KGCAqPlX2 g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-oTECHk4KGCAqPlX2 g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-oTECHk4KGCAqPlX2 g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-oTECHk4KGCAqPlX2 g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-oTECHk4KGCAqPlX2 g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-oTECHk4KGCAqPlX2 .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-oTECHk4KGCAqPlX2 .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-oTECHk4KGCAqPlX2 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-oTECHk4KGCAqPlX2 .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-oTECHk4KGCAqPlX2 .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-oTECHk4KGCAqPlX2 .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-oTECHk4KGCAqPlX2 .edgeLabel text{fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-oTECHk4KGCAqPlX2 .node circle.state-start{fill:black;stroke:black}#mermaid-svg-oTECHk4KGCAqPlX2 .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-oTECHk4KGCAqPlX2 #statediagram-barbEnd{fill:#9370db}#mermaid-svg-oTECHk4KGCAqPlX2 .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-oTECHk4KGCAqPlX2 .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-oTECHk4KGCAqPlX2 .statediagram-state .divider{stroke:#9370db}#mermaid-svg-oTECHk4KGCAqPlX2 .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-oTECHk4KGCAqPlX2 .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-oTECHk4KGCAqPlX2 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-oTECHk4KGCAqPlX2 .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-oTECHk4KGCAqPlX2 .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-oTECHk4KGCAqPlX2 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-oTECHk4KGCAqPlX2 .note-edge{stroke-dasharray:5}#mermaid-svg-oTECHk4KGCAqPlX2 .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-oTECHk4KGCAqPlX2 .error-icon{fill:#522}#mermaid-svg-oTECHk4KGCAqPlX2 .error-text{fill:#522;stroke:#522}#mermaid-svg-oTECHk4KGCAqPlX2 .edge-thickness-normal{stroke-width:2px}#mermaid-svg-oTECHk4KGCAqPlX2 .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-oTECHk4KGCAqPlX2 .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-oTECHk4KGCAqPlX2 .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-oTECHk4KGCAqPlX2 .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-oTECHk4KGCAqPlX2 .marker{fill:#333}#mermaid-svg-oTECHk4KGCAqPlX2 .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-oTECHk4KGCAqPlX2 {color: rgba(0, 0, 0, 0.75);font: normal normal normal normal 16px/26px -apple-system, "SF UI Text", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;}

本章结构
IO控制器
四种IO控制方式
程序查询
程序中断
DMA控制
通道控制

Part1:IO控制器

1、IO控制器模型

2、IO控制器中寄存器的编制

假设IO 寄存器中有n个地址,而主存(MM)中有N个地址

  1. 统一编制:无需专门的IO指令,但是需要占用内存空间

  1. 独立编制:不占用内存空间,但是需要专门的IO指令

Part2:四种IO控制方式2

1、程序查询(直接控制)

CPU不断轮询检查State Register,检测到输入完成之后,从Data State中取走数据,每次取走一个字。程序和IO设备串行执行

2、程序中断

Data Register中数据输入完成之后,IO Controller 向CPU出发中断请求,CPU响应并且取走数据(每次一个字)程序和IO设备并行执行

3、DMA控制(Direct Memory Access)

在程序中断方式中,如果设备的IO速度非常快,那么其效率和程序查询方式无异。故我们对于高速IO设备,直接在设别和主存(MM)之间开辟一条通路,其传输数据不通过CPU,以降低CPU开销。

由于和传统的IO不同,我们需要重新设计IO Controller,称呼为DMA Controller,每次传输以块为单位的数据3

3.1 DMA Controller Model

  1. 对于部件的说明

    • Control/State 逻辑:用于指定传输方向等参数
    • DMA Request Trigger:当设备(device)准备好数据之后,修改该触发器的值(1bit)说明其准备好传送数据
    • Address Register:用于存放交换数据的主存地址
    • Word Count Register:记录已经发送的数据长度,当其溢出时,数据传送完毕
    • 中断机构:当数据传送完毕时发出中断信号
    • Data Cache Register:用于暂存数据
  2. 单总线结构DMA传送过程

    • 传送前

      • 接受Device的DMA传送请求,并且向CPU发出HRQ(Hold Request)请求,要求占用总线
      • CPU响应HLDA(Hold Acknowledge)
    • 传送时

      • 确定传送地址和长度
      • 确定传送方向并且传送
    • 传送后:向CPU报告结果(一个中断信号)

  3. 对于总线的说明

  • 上图为单总线结构的DMA,在传送数据时DMAC会接管CPU的AB,DB,CB,CPU的主存控制信号被禁用,知道DMA传输过程结束后恢复
  • 更一般的DMA传送方式工作在三总线方式下,即DMA和MM之间存在一条专门的通路,这样子CPU就无需让权给DMAC了,但是这样子带来一个问题,当CPU和DMAC都想访存时,给谁访存——DMA传送方式
  1. DMA传送方式

    • 停止CPU访存:当DMAC访存时,不让CPU访存
    • 交替访存:将存取周期划分为两个时间段,一个给CPU访存,一个给DMAC访存
    • 周期(存取周期)挪用
      • 如果CPU正在访存,那么当其访存结束之后,DMAC访存
      • 如果CPU和DMAC同时发出访存请求,那么有限给DMAC访存

4、通道控制

在DMA控制方式中,CPU每次发出一个指令只能读写一个或者多个连续的数据块,如果需要读写离散的数据块那么则需要多条指令。为了解决这个问题,出现了通道控制方式,我们引入一个通道(相当于是一个小型CPU)执行一系列通道指令,以实现数据块的读写

  1. 通道读写过程

    • CPU向通道指明通道程序在内存中的首地址和需要读写的设备,即可执行其他的程序
    • 通道执行通道程序4
    • 执行完毕向CPU报告(一个中断信号)

Part end:参考文献和一些说明


  1. 本章之所以单独列出,是因为这个部分在计算机组原理和操作系统中都有 ↩︎

  2. 关于IO百分比的说明,考试中常考这个计算。(1s内的IO次数∗IO时间)/1s(1s内的IO次数*IO时间)/1s(1s内的IO次数∗IO时间)/1s​ ↩︎

  3. 虽然说DMA控制器每次传输的单位是块,单并不是一次性传输完成的,一般来说数据块大小是512B,而DMA Controller中的Data Register的大小为32bit也就是4B,传输一个块需要128次的传送。在这个过程中,CPU也有可能访MM ↩︎

  4. 一个通道可以控制多个IO控制器,一个IO控制器可以控制多个设备 ↩︎

第6.5章:IO控制方式相关推荐

  1. 18 操作系统第五章 设备管理 IO设备的基本概念和分类 IO控制器 IO控制方式 IO软件层次结构 IO核心子系统 假脱机技术 设备的分配与回收 缓冲区管理

    文章目录 1 IO设备的基本概念和分类 1.1 什么是I/O设备 1.2 I/O设备分类 2 IO控制器 2.1 I/O设备组成 2.2 I/O控制器功能 2.3 I/O控制器的组成 2.4 寄存器编 ...

  2. 【408预推免复习】操作系统之IO层次结构和IO控制方式

    [408&预推免复习]操作系统之IO层次结构和IO控制方式 文章目录 1 I/O设备 2 I/O系统的层次结构 3 I/O控制方式 4 IO设备分配与回收 文章目录 1 I/O设备 2 I/O ...

  3. 5.1.3 IO控制方式

    目录 思维导图 IO控制方式 一.程序直接控制方式 二.中断驱动方式 三.DMA方式 四.通道控制方式 思维导图 IO控制方式 一.程序直接控制方式 二.中断驱动方式 三.DMA方式 四.通道控制方式

  4. 操作系统---IO控制方式

    IO控制方式 一. IO控制方式 ①. 程序直接控制方式(串行方式) ②. 程序中断方式 ③. DMA(直接存储方式) ④. 通道控制方式 ⑤. 外围处理机方式 一. IO控制方式 ①. 程序直接控制 ...

  5. 操作系统中的IO控制方式详解

    IO简介 IO就是Input和Output的简称,也就是输入输出.主要包括磁盘IO.网络IO.键盘输入,显示器输出.USB等操作. 输入是从IO设备输入到内存中,输出是从内存中输出到IO设备中. IO ...

  6. IO控制器 IO控制方式(程序直接控制、中断驱动、DMA方式、通道控制方式)

    DMA方式 解决中断驱动方式必须经过CPU的问题.每次只读/写一个字问题 一个通道可以控制多个IO控制器,一个IO控制器可以控制多个设备.

  7. Linux内核:IO设备通信的控制方式

    IO设备与主机(CPU.内存)之间的通信不是直接的,而是通过设备控制器,设备控制器是IO设备和主机之间的中介.IO设备和进程之间的数据传送方式主要有4种: 1.程序控制方式:又被称为"忙等& ...

  8. I/O控制器 和 DMA控制方式

    一 IO控制器 1.1 I/O控制器是什么 IO设备主要包括机械部件和电子部件.磁盘.光盘.鼠标.键盘.显示器.打印机等都属于机械部件:磁盘控制器.显卡.网卡等属于电子部件.CPU是无法直接操作机械部 ...

  9. 操作系统I/O控制方式详解

    操作系统I/O控制方式详解 一.导读 二.I/O控制方式 1.直接程序控制方式 2.中断驱动控制方式 3.直接存储器访问(DMA)控制方式 4.通道控制方式 I/O控制方式有几种?分别适用何种场合? ...

最新文章

  1. 传统CV和深度学习方法的比较
  2. 用MATLAB画桌子,怎样用matlab编写桌子的动态变化图
  3. 反射:通过反射获取成员变量并使用
  4. C语言包含头文件时:#include< > 与 #include ““的区别
  5. 关于Python里的super用法研究
  6. [Swift]LeetCode732. 我的日程安排表 III | My Calendar III
  7. mysql dp.cal 显示汉子_计算1到N中各个数字出现的次数 --数位DP
  8. 类名.this与this的区别
  9. 数据之路 - 数据可视化 - PowerBI工具
  10. 《版式设计——日本平面设计师参考手册》—第1章置入其他格式的文件
  11. 网页设计期末结课作业 html+css+js房地产企业官网网站制作与实现
  12. 动环监控设备维护与故障处理,动环监控系统调试
  13. xposed android debug,Android 手机开启全局调试xposed插件
  14. Win10系统新建菜单只有文件夹选项的处理方法
  15. 从TOP IT公司5年收入和利润变化看货币战争
  16. 【SSLGZ 2134】猫猫的小鱼
  17. 专家热议网络安全 我国建设网络强国要以自主可信为先
  18. 稳定可靠github加速神器 FastGithub
  19. 5 个最值得注意的开源集中式日志管理工具
  20. amd cpu 安卓模拟器_一款完美解决AMD兼容问题的安卓模拟器

热门文章

  1. python单元测试uuitest模块
  2. 创建GIT项目,并初始化上传项目代码
  3. vue-实战记录-前端导出excel文件、pdf文件、word文件
  4. 各厂内推整理 | 第三期
  5. 爬虫第四课 数据处理
  6. 安卓开发按钮触发音效替换以及系统音效和媒体音量大小进度条调节
  7. jquery刷新页面方法
  8. linux gvim使用教程,Vim编辑器使用教程
  9. un ange frappe a ma porte
  10. 佛罗里达州一银行发生枪击案 造成至少5人死亡