Linux的设备和设备号是指什么?可否简单的解释一下

Linux的设备和设备号是指什么?可否简单的解释一下,第1张

Linux中I/O设备分为两类:字符设备和块设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类。

(1)字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,键盘、串口、调制解调器都是典型的字符设备。

(2)块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和闪存都是典型的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。

总结一下,这两种类型的设备的根本区别在于它们是否可以被随机访问。字符设备只能顺序读取,块设备可以随机读取。

定义:mknod - make block or character special files

语法:mknod /dev/ttyUSBn c Major Minor

1,n要等于次设备号Minor,且要小于主设备号Major.

2, c:面向字符设备(b:面向块设备,如:磁盘、软盘、磁带;其他设备基本都为字符设备).

实例:

ls -la /dev/ttyUSB*

crw-rw—- 1 root dialout 188, 0 2008-02-13 18:32 /dev/ttyUSB0

mknod /dev/ttyUSB32 c 188 32


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7613456.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存