zoukankan      html  css  js  c++  java
  • 通俗易懂理解操作系统设备管理

    I/O硬件系统

    1. I/O设备

      1. 设备的类别

        从数据交换单位来分,I/O设备可以大致分为两类

        • 块设备:信息存储在固定大小的块中,并且每个块都有地址,因此可以独立寻址。块的通常大小为512~32768字节。如硬盘,USB闪存盘等。
        • 字符设备:以字节为单位发送或接收一个字符流,且不可寻址。如打印机、鼠标、网络接口以及大多数与磁盘不同的设备,都可看做字符设备
      2. 设备硬件的组成

        I/O设备一般由机械部件和电子部件两部分组成

        • 机械部件:设备本身
        • 电子部件:设备控制器或适配器
      3. 总线

        计算机系统中的设备及处理器、内存等硬件资源通过总线通信

    2. I/O控制方式

      主机通过控制器对设备输入、输出进行控制的方式

      1. 轮询(忙等待)

        cpu通过控制器命令寄存器向设备下达操作命令后,设备操作完成状态由cpu不断查询控制器状态寄存器来获得

      2. 中断控制

        设备主动向cpu报告任务完成状态,无需cpu主动循环检测设备操作状态

      3. 直接存储器访问(DMA)

        通过一个专用处理器DMA完成具体的传输控制操作,数据传输的基本单位是一个连续的数据块,仅在传输数据块的开始和结束时才需要cpu干预

      4. 通道方式(输入输出处理器)

        独立于cpu专门负责数据输入/输出传输工作的处理机,与cpu并行操作,指令单一,与cpu共享内存

    I/O软件系统

    1. 设备中断处理程序

      • 作用:解除设备驱动程序的阻塞
    2. 设备驱动程序

      • 概念:专门与控制器对话,发出命令并接受响应的软件

      • 与操作系统的结合方式

        设备是共享资源,设备驱动程序运行在核心态

      • 设备驱动程序与设备控制器的通信

        通过设备寄存器来进行通信

    3. 设备无关I/O软件

      设备无关I/O软件的基本功能是执行所有设备公关的I/O功能,并想用户层软件提供一个统一的接口

      • 设备管理功能

        屏蔽I/O设备细节差异,抽象设备共性特征,对不同设备提供尽可能一致的使用接口

      • 缓冲管理

      • 错误报告

      • 分配与释放设备

      • 提供与设备无关的块尺寸

    磁盘管理

    1. 磁盘的结构

    1. 磁盘的调度算法
      • 先来先服务算法:根据磁道的访问请求到来的先后顺序完成请求
      • 最短寻道时间优先算法:优先满足距离当前磁头位置最近的访问请求
      • 电梯调度算法:类似于电梯
      • 循环扫描算法:磁臂从开始端柱面走向结束端柱面,过程中处理请求,走完后从结束端返回,但不处理请求,然后从开始端再重新开始。
      • N步扫描算法:分成诺干个长度为N的子队列,按先来先服务算法依次执行这些队列。处理某子队列是,来了新请求,则将新请求放入其他队列

    虚拟设备

    作用:提高设备的利用率,尤其是独占设备,将其模拟成共享设备。这种技术就是虚拟

    SPOOLing(假脱机技术):对脱机输入/输出系统的模拟,即利用一类物理设备模拟另外一类物理设备

  • 相关阅读:
    力扣(LeetCode)验证回文串 个人题解(C++)
    力扣(LeetCode)平方数之和 个人题解
    Exclusive Access 2 UVA
    C语言中指针*p[N], (*P)[N]的区别
    2018年蓝桥杯国赛比赛心得
    2018acm/icpc西安邀请赛比赛心得
    [最小割]Cable TV Network UVA
    Tree Reconstruction UVA
    Twenty Questions UVA
    python中的enumerate 函数(编号的实现方式)
  • 原文地址:https://www.cnblogs.com/cjdstudy/p/13268766.html
Copyright © 2011-2022 走看看