本文介绍: 本文首先介绍虚拟文件系统下层直至硬件输入输出设备的结构关系,然后重点分析字符设备相关的整体逻辑情况。

目录

一、引言
二、I/O架构
三、字符设备基本构成
——>3.1、cdev
——>3.2、char_device_struct
——>3.3、cdev_map
四、打开字符设备
——>4.1、加载
——>4.2、创建文件设备
——>4.3、打开字符设备
——>4.4、写入字符设备
五、字符设备的控制
——>5.1、自定义命令

一、引言

之前的文章中我们分析了虚拟文件系统的结构以及常见的文件操作从用户态到虚拟文件系统再到底层实际文件系统的过程。而实际上我们并没有说明实际的文件系统如ext4是如何和磁盘进行交互的,这就是本文和下篇文章的重点:I/O之块设备和字符设备。输入输出设备我们大致可以分为两类:块设备(Block Device)和字符设备(Character Device)。

  • 块设备将信息存储在固定大小的块中,每个块都有自己的地址。如硬盘就是常见的块设备。
  • 字符设备发送或接收的是字节流,而不用考虑任何块结构,没有办法寻址。如鼠标

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注