字符设备/块设备/网络设备

Posted 『流浪的Coder』

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符设备/块设备/网络设备相关的知识,希望对你有一定的参考价值。

<字符设备>

字符设备的上层没有磁盘文件系统,所以字符设备的file_operations成员函数就直接由字符设备驱动提供(一般字符设备都会实现相应的fops集),因此file_operations 也就成为了字符设备驱动的核心。
<块设备>
对于块设备而言,ext2,jiffs2,fat等文件系统会 实现针对VFS的file_opertations成员函数,所以设备驱动层将看不到file_opeations的存在。磁盘文件系统和设备驱动会将对磁盘上文件的访问转换成对磁盘上柱面和扇区的访问。
<网络设备>
虽然在Linux系统存在一句话叫一切皆文件,无论是各种文本文件还是具体的硬件设备(硬件由设备文件来实现相应)。但是网络设备在Linux内核中却是唯一不体现一切皆设备思想的驱动架构,因为网络设备使用套接字来实现网数据的接受和发送。

以上是关于字符设备/块设备/网络设备的主要内容,如果未能解决你的问题,请参考以下文章

[Linux]字符设备块设备网络设备虚拟设备

块设备字符设备

块设备驱动框架

字符设备和块设备区别

每天整理点Linux--块设备,字符设备

LINUX中块设备文件和字符设备文件的本质区别