Linux设备节点

设备节点分类:

字符设备(c)(无缓冲且只能顺序存取)

块设备(b)(有缓冲且可以随机存取)

 

节点:

节点指的是一个入口,我们通过这样的入口来达到操作(读、写等)某设备的目的,而之所以要统一在/dev下搞那么多所谓“入口”,是因为Linux系统提供所谓虚拟文件系统,它可以帮助我们使用一致的函数接口(open()、read()、write()、close()……)等来操作各种不同的设备,大大降低了应用程序访问Linux外围设备的复杂性。

 

设备节点两种创建方法:

1、手动创建设备节点:

比如创建一个主次设备号分别为3和18的字符设备,所使用的命令是:

sudo mknod /dev/somedevice c 3 18

2、在加载驱动程序时自动创建

Linux内核提供了一组函数,可以在模块加载时自动在/dev目录下创建相对应的设备节点,并在卸载模块时删除该节点,能实现这样操作的前提是用户空间已经移植了udev(简化版本的mdev)。相关的函数和结构:(1)struct class,是一个设备结构体,注册一个类结构,会在/sys/class目录下创建对应的文件夹,文件夹中保存有在/dev目录下自动生成设备节点的信息。(2)struct class_device结构体。

 

设备节点的作用

设备节点使得用户可以与内核进行硬件的沟通,读写设备以及其他的操作

在linux里面设备就像是普通文件一样的存在,访问一个设备就好像是访问一个文件一样

主设备号代表着一类设备,次设备号代表着同一类设备的不同个体,说到这里也许并不知道设备节点的存在形式

 

tty:

Teletype的缩写

 

Linux中的设备节点说明:

https://my.oschina.net/luqili/blog/1560559

 

字符设备的两种创建方法:

https://blog.51cto.com/10274409/1721711

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值