深入理解Linux下的几种文件类型(2)

块设备是硬件设备,通过随机(不一定是顺序)访问固定大小的数据块(chunk)来区分。固定大小的chunk称为块(block)。最常见的块设备是硬盘,但也存在许多其他块设备,如软盘驱动器、蓝光阅读器和闪存。注意,这些都是挂载文件系统的设备,文件系统就像是块设备的通用语言。

字符设备通过连续的流数据访问,一个字节接着一个字节。典型的字符设备是终端(终端分多种,由物理的也有虚拟的)和键盘

区分块设备和字符设备最简单的方法是看数据访问的方式。能随机访问获取数据的是块设备,必须按字节顺序访问的是字符设备

如果可以这里读一点数据,那里读一点数据,最后串成一整段连续的数据,那么这个就是块设备,就像硬盘上的数据是不连续的,有可能需要通过随机访问的方式获取一段数据。比如磁盘上一个稍大一点的文件,可能前10k数据是连续的数据块或在连续的扇区内,之后的10k数据在离它很远甚至在不同的柱面上。

如果一段数据中的每个字节都跟访问时的字节顺序是一样的,即字节先后顺序从访问获取时到最后处理数据的过程中都是完全一致的,那么这个就是字符设备。换句话说,字符设备可以看作是流设备。就像键盘输入数据一样,连续敲两个字键,这两个键对应的字节数据在被接收的时候一定是先敲的在前面,后敲的在后面。同理终端设备也是以一样的,程序将数据输出到终端时,程序先输出字母a再输出数字3,那么显示在终端上时一定是a在前,3在后。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12161.html