linux设备文件的类型有哪些

66次阅读
没有评论

共计 1630 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章主要介绍“linux 设备文件的类型有哪些”,在日常操作中,相信很多人在 linux 设备文件的类型有哪些问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux 设备文件的类型有哪些”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

linux 设备文件有两类:1、字符设备,是能够像字节流一样被访问的设备文件,当对字符设备发出读写请求,相应的 IO 操作立即发生,常见有字符终端、键盘等等;2、块设备,是进行 TO 操作时必须以块为单位进行访问的设备文件,块设备能够安装文件系统。

本教程操作环境:linux5.9.8 系统、Dell G3 电脑。

设备文件概述

在类 Unix 操作系统中,设备文件或特殊文件是设备驱动程序的接口,出现在文件系统中就好像它是普通文件一样。在 MS-DOS,OS / 2 和 Microsoft Windows 中也有特殊文件。这些特殊文件允许应用程序通过标准输入 / 输出系统调用使用其设备驱动程序与设备进行交互。使用标准系统调用简化了许多编程任务,并且无论设备的特性和功能如何,都可以实现一致的用户空间 I / O 机制。

设备文件通常提供与标准设备(如打印机和串行端口)的简单接口,但也可用于访问这些设备(如磁盘分区)上的特定独特资源。此外,设备文件对于访问与任何实际设备(如数据接收器和随机数生成器)无关的系统资源非常有用。

在 Linux 系统下,有七类文件类型:

普通文件(-)

目录(d)

软链接(字符链接 L)

套接字文件(S)

字符设备(S)

块设备(B)

管道文件(命名管道 P)

因此,设备文件有两类:字符设备和块设备。

(1)字符设备

字符设备是能够像字节流一样被访问的设备,当对字符设备发出读写请求,相应的 IO 操作立即发生。Linux 系统中很多设备都是字符设备,如字符终端、串口、键盘、鼠标等。在嵌入式 Linux 开发中,接触最多的就是字符设备以及驱动。

(2)块设备

块设备是 Linux 系统中进行 TO 操作时必须以块为单位进行访问的设备,块设备能够安装文件系统。块设备驱动会利用一块系统内存作为缓冲区,因此对块设备发出读写访问,并不一定立即产生硬件 I / O 操作。Linux 系统中常见的块设备有如硬盘、软驱等等。

区分块设备和字符设备

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

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

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

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

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

到此,关于“linux 设备文件的类型有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-03发表,共计1630字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)