硬件概述

硬件设备

I/O 设备

  • 组成部分:==I/O 设备控制器 + I/O 设备==

  • I/O 结构模式:

    • 同步 I/O 结构:==进程== 必须等待 I/O 完成后才可以继续执行(进程进入 ==等待== 状态)

      注:处理器并不会等待 I/O 完成 -> 处理器执行另外的程序

    • 异步 I/O 结构:==进程== 不需要等待 I/O 完成而是由处理器继续执行剩下的代码

      注:进程可以申请多个 I/O 设备 -> 产生中断时如何判断到底是哪个设备产生的呢?

    • 设备状态表:记录每个设备的 ==状态 地址 类型==

      执行过程:中断产生时处理器会根据设备状态表索引到发出中断的设备控制器

    • 问题:每次请求 I/O 设备并返回的过程中都会产生中断 -> 导致处理器会频繁地处理中断程序 -> 处理器 ==性能下降==

    6ef8be35b1323e9295bf7c82c8efcbf0.png
  • 传输过程:

  • 驱动程序 & 控制器:

    • 流程:操作系统发出指令 -> 驱动程序接收指令 -> 控制器接收指令操作具体的 I/O 设备

      前提:应用程序的运行需要驱动程序

    • 控制器属于硬件设备 <-> 驱动程序是安装在 ==操作系统之上== 或者内置在 ==操作系统内== 的程序

    • 控制器管理同规格的不同类型的设备 <-> 驱动程序管理同类型的设备

      解释:只要满足控制器的规格设备都可以接入计算机:比如 友基 和 wacom 的数位板都是通过 USB 接口接入控制器,被 USB 控制器统一管理

      ​ 但是每种类型的数位板都需要安装不同的驱动程序,每个 wacom 的驱动程序仅管理 wacom 的数位板不管理友基的

    • 控制器都是运行在底层的 <-> 大多数驱动程序都是运行在内核态

存储器

  • 存储结构

    • 寄存器:(1) 用和处理器相同的材料制成 (2) 处理器访问寄存器时不会产生时延

    • 高速缓存(Cache):

      • 定义:用于存放经常使用的数据

      • 分类:(1) 一级缓存 (2) 二级缓存

        注:访问一级缓存不需要时延因为一级缓存通常存放在 处理器 中;访问二级缓存会延时 1 到 2 个时钟周期(CLK)

      • 缓存机制(Caching):将数据从速度较慢的内存中拷贝到速度较快的缓存中

      • 置换数据:[LRU 置换算法](#LRU 置换算法)

    • 主存

    • 固态硬盘

      • 磁盘:硬盘 + 软盘

        注:不过现在的软盘已经被废弃所以说磁盘就是硬盘也没问题

      • 硬盘:(1) 固态硬盘:采用 PCB 主板构成,读取速率更快 (2) 普通硬盘采用磁片重叠组成

    • 光盘:通常需要外接光驱进行使用;磁盘通常直接嵌入在计算机中

      注:现在通常使用蓝光(BD);光盘已经很少在用

  • 细节:

    1. 磁盘等大容量存储设备是 不可以 直接被 CPU 访问

    2. 主存是 处理器 唯一可以直接访问的大容量存储设备

      注:计算机组成原理:CPU 是不会直接访问主存的 -> 如果高速缓存未命中 -> 经由高速缓存去主存中索取相应的数据而不是 CPU

  • 图示

ce3ece7dc54fbcc1bb4af50063191358.png

处理器

7659f4ae13dca9b8de76ebd71c406932.png
Author: Fuyusakaiori
Link: http://example.com/2021/09/18/os/overview/硬件组成/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.