松垮垮 松垮垮
首页
  • GPU并行编程
  • 图形学
  • 归并算法
  • 计算机视觉
  • css
  • html
  • JavaScript
  • vue
  • 压缩命令
  • cmdline
  • Docker
  • ftrace跟踪技术
  • gcov代码覆盖率测试
  • GDB
  • git
  • kgdb
  • linux操作
  • markdown
  • systemtap
  • valgrind
  • 设计模式
  • 分布式
  • 操作系统
  • 数据库
  • 服务器
  • 网络
  • C++
  • c语言
  • go
  • JSON
  • Makefile
  • matlab
  • OpenGL
  • python
  • shell
  • 正则表达式
  • 汇编
  • GPU并行编程
  • mysql
  • nginx
  • redis
  • 网络
  • 计算机视觉
  • 进程管理
  • linux调试
  • 【Python】:re.error bad escape i at position 4
  • 搭建ai知识助手
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

松垮垮

c++后端开发工程师
首页
  • GPU并行编程
  • 图形学
  • 归并算法
  • 计算机视觉
  • css
  • html
  • JavaScript
  • vue
  • 压缩命令
  • cmdline
  • Docker
  • ftrace跟踪技术
  • gcov代码覆盖率测试
  • GDB
  • git
  • kgdb
  • linux操作
  • markdown
  • systemtap
  • valgrind
  • 设计模式
  • 分布式
  • 操作系统
  • 数据库
  • 服务器
  • 网络
  • C++
  • c语言
  • go
  • JSON
  • Makefile
  • matlab
  • OpenGL
  • python
  • shell
  • 正则表达式
  • 汇编
  • GPU并行编程
  • mysql
  • nginx
  • redis
  • 网络
  • 计算机视觉
  • 进程管理
  • linux调试
  • 【Python】:re.error bad escape i at position 4
  • 搭建ai知识助手
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 分布式

  • 操作系统

    • cpu结构
    • cpu页表
    • Linux内核同步机制原理与实现
    • per
    • protocol buffer
    • 内存分配器
    • 内核编译
    • 内核驱动模型、内核模块LKM:
    • 基础

      • 内存管理
      • 文件系统
      • 硬件结构
      • 网络系统
      • 设备管理
        • 概念
        • I/O控制方式
        • 设备驱动程序
      • 调试技术
    • 段表
    • 系统调用
    • 进程
  • 数据库

  • 服务器开发

  • 网络编程

  • 系统
  • 操作系统
  • 基础
songkuakua
2025-02-15
目录

设备管理

小林 coding (opens new window)

# 设备控制器

# 概念

能屏蔽设备之间的差异,CPU通过设备控制器来访问设备,控制器能独立处理一些操作

设备控制器有三类寄存器:

  • 数据寄存器:CPU向I/O设备写入需要传输的数据
  • 命令寄存器:CPU发送给IO设备的命令
  • 状态寄存器:目的是告诉CPU工作的完成状态,当在工作状态,不接收CPU的指令

输入输出设备分为两大类:

  • 块设备:每个块有自己的地址,例如硬盘、USB,将数据存在固定大小的块中
  • 字符类设备:以字符为单位发送或接收,不可寻址,例如鼠标

对于块设备,因器传输的数据量大,设置了可读写的数据缓冲区

数据到数据缓冲区,囤够了一部分才发给设备或内存,从而减少对设备的频繁操作

CPU与设备的控制寄存器和数据缓冲区的通信:

  • 端口I/O:每个控制寄存器分配一个I/O端口,通过特殊的汇编指令操作
  • 内存映射I/O:将所有控制寄存器映射到内存空间,像读写内存一样访问

# I/O控制方式

设备控制器完成操作需要通知CPU,这种通知机制包括

  1. 轮询等待

  2. 中断

需要有中断控制器硬件,完成任务后,产生中断。

对于频繁读写数据的磁盘,会造成较多的打断CPU的执行,占用时间

  1. DMA方式

需要有DMA控制器,

CPU对DMA控制器发指令,安排任务和数据,DMA向磁盘请求完成数据传输后发中断通知CPU完成

CPU只在开始和结束时干预

  1. 发

# 设备驱动程序

对不同设备的访问是不同的,设备驱动程序屏蔽了具体设备的差异。

设备有设备控制器,不同设备通过封装设备控制器为设备驱动程序提供统一的接口给操作系统

……

上次更新: 2025/02/21, 14:57:10
网络系统
调试技术

← 网络系统 调试技术→

最近更新
01
搭建ai知识助手
02-23
02
边缘检测
02-15
03
css
02-15
更多文章>
Theme by Vdoing | Copyright © 2025-2025 松垮垮 | MIT License | 蜀ICP备2025120453号 | 川公网安备51011202000997号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 纯净模式