设备驱动程序

本次课的主要内容

  • 什么是设备驱动程序
  • Linux设备抽象

设备驱动程序原理

  • 设备其实是一组寄存器和一组协议,一个设备,一个协议

设备可以分为两种

  1. 字符设备:字节流,例如键盘
  2. 块设备:字节数组,例如磁盘

操作系统:设备=支持各类操作的对象(文件)

  • read: 从设备某个指定的位置读出数据
  • write:向设备某个位置写入数据
  • ioctl: 读取/设置设备的状态, ioctl是一个系统调用
    上面为设备建立一个模型

    也就是说,把上面这三个系统调用,也就是通用的API,经过设备驱动程序,翻译成设备能够听得懂的语言, 这段代码就是设备驱动程序。

设备驱动程序

把系统调用“翻译”成与设备寄存器的交互

  • 就是一段普通的内核代码
  • 有可能这个设备驱动程序后面就是一个真实的设备,有可能没有设备,就是用设备驱动程序来模拟这个设备

例如:/dev/中的对象

  1. /dev/null null设备
  2. /dev/random 随机数生成器

Linux设备驱动

我们希望实现一个最简单的“软件定义核弹”


设备驱动程序
http://example.com/2023/08/02/操作系统/jyy操作系统/设备驱动程序/
作者
LiuZhaocheng
发布于
2023年8月2日
许可协议