zoukankan      html  css  js  c++  java
  • 操作系统——IO管理

    一、IO系统结构

    在计算机系统中。cpu要和很多外设进行交互。比方鼠标,键盘,网卡等等。

    1、IO是怎样协调工作的那?

    (1)对于设备来说,其有两部分组成,一部分是机械部分,还有一部分是电子控制部分。

    而电子控制部分是通过各种寄存器和cpu进行通信,被cpu所控制的。

    比方控制寄存器,数据寄存器,状态寄存器。

    他们分别和控制总线,数据总线,状态总线相连接。

    (2)操作系统对IO设备的管理

    主要分为三部分:逻辑IO,设备驱动程序,中断服务程序

    设备驱动程序:完毕了对不同设备的各种各样的控制,相应用层提供接口。

    中断服务程序:当设备结束的时候。向cpu发出中断信号。



    2、设备的分类——按数据组织分

    2.1 块设备:以数据块作为传输存储的单位

    2.2字符设备:以字符为单位存储传输信息。


    3、IO管理的目标和任务(为什么进行设备管理)

    (1)依照用户的请求,控制设备的各种操作。完毕io设备和内存的数据交换。终于完毕io请求。

    设备的分配和回收:查看设备的状态,调用相关的分配策略,进行设备的分配。

    运行设备驱动程序:用户通过设备驱动程序完毕对设备的控制。

    设置中断处理:设备完毕后,向cpu发出中断。

    (2)建立方便统一独立于设备的接口

    方便性:对用户提供了方便的接口,使的控制外部设备的时候不考虑复杂的物理特性。

    (3)充分利用各种技术(通道。中断,缓冲等)提高cpu与设备。设备与设备之间的并行工作能力。


    4、IO控制方式

    (1)轮询方式:不断的查看io设备的状态信息,然后做出回应。

    (2)中断的方式:当设备完毕操作时候,对cpu发出中断。

    (3)DMA:不用通过cpu,内存和IO设备直接进行数据交换。


    5、IO软件的设计


    分层的设计思想。

    底层是对硬件的控制和操作。高层是逻辑的操作。

    (1)用户级IO软件:用户运行输入输出系统调用,对IO数据进行格式化。

    (2)设备无关的软件层

    (3)设备驱动层

    (4)中断处理层:当IO操作完毕的时候,唤醒设备驱动程序进程,进行中断处理。


  • 相关阅读:
    [lua]原来这才是表驱动的正确表达方式
    [lua]再版jobSchedule与脚本描述范型
    (景德镇)麻将计分规则
    日志输出法则
    去掉谷歌浏览器获取焦点时默认的input、textarea的边框和背景
    使用@font-face 属性 实现在网页中嵌入任意字体
    【问题】/usr/bin/env: php: 没有那个文件或目录
    Centos下nginx支持https协议
    PHP下生成非重复的id
    PHP下的手机号码效验
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6901975.html
Copyright © 2011-2022 走看看