Linux内核--设备驱动(一)驱动的结构介绍

目录

一、引言
二、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)。

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

你可能感兴趣的:(CPU性能分析与操作系统的构建,linux,microsoft,运维)