• 技术文章 >运维 >linux运维

    linux设备文件有哪几类

    青灯夜游青灯夜游2022-05-11 18:11:58原创190

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

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

    设备文件概述

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

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

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

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

    (1)字符设备

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

    (2)块设备

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

    区分块设备和字符设备

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

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

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

    相关推荐:《Linux视频教程

    以上就是linux设备文件有哪几类的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux
    上一篇:linux proj是什么软件 下一篇:linux中sed和awk有什么区别
    千万级数据并发解决方案

    相关文章推荐

    • linux fd是什么• linux与rtos有什么区别• suse linux是什么• linux安装软件有哪几种方式• linux为什么比windows安全• linux proj是什么软件
    1/1

    PHP中文网