我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux设备文件指的是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux设备文件指的是什么

本篇内容介绍了“linux设备文件指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在linux中,设备文件是设备驱动程序的接口,允许应用程序通过标准输入输出系统调用使用其设备驱动程序与设备进行交互。linux系统中有两种常用的设备文件:字符特殊文件和块特殊文件,它们间的区别在于操作系统和硬件读取和写入的数据量。

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

Linux设备文件(Device file)

设备文件概述

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

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

linux设备文件指的是什么图1 应用程序、块文件、驱动、硬件之间的关系

类Unix操作系统中有两种常用的设备文件,称为字符特殊文件和块特殊文件。它们之间的区别在于操作系统和硬件读取和写入的数据量。 与命名管道不同,它们可以称为设备专用文件,但命名管道并不连接到设备,但也不是普通文件。

在一些类Unix系统中,大多数设备文件作为传统上安装在/ dev的虚拟文件系统的一部分进行管理,可能与控制守护进程相关联,该守护进程在运行时监视硬件添加和删除,对设备文件系统进行相应更改,如果对设备文件系统进行更改的操作不是内核自动完成的,则控制守护进程可能调用系统或用户空间中的脚本来处理特殊设备需求。

FreeBSD和DragonFly BSD实现已经命名了虚拟设备文件系统devfs和关联的守护进程devd。 Linux主要使用称为udev的用户空间实现,但有许多变体。 Darwin以及基于它的macOS等操作系统都有纯粹的基于内核的设备文件系统。

在支持chroot进程隔离的Unix系统中,比如Solaris Containers,通常每个chroot环境都需要它自己的/ dev; 这些安装点将在全局文件系统树中各个节点上的主机操作系统上可见。通过限制将设备节点填充到/ dev的chroot实例中,硬件隔离可以由chroot环境强制实施(程序不能插入硬件,它既不能看到也不能访问名称 - 这是比Unix文件系统权限更强的访问控制形式)。

设备节点对应于操作系统内核已经分配的资源。 Unix通过一个主号码和一个次号码来标识这些资源, 都作为节点结构的一部分存储。 这些编号的分配在不同的操作系统和不同的计算机平台上独特地发生。通常,主号码标识设备驱动程序,次号码标识驱动程序控制的特定设备(可能超出许多设备): 在这种情况下,系统可能会将次号码传递给驱动程序。 但是,在动态分配数字的情况下,情况可能并非如此(例如,在FreeBSD 5及更高版本上)。

与其他特殊文件类型一样,计算机系统使用标准系统调用访问设备节点,并将它们视为普通计算机文件。存在两种标准类型的设备文件; 不幸的是,由于历史原因,他们的名字相当反直觉,因此解释两者之间的差异通常是不正确的。

块文件分类

字符设备(Character devices)

字符特殊文件或字符设备提供无缓冲,直接访问硬件设备。 它们不一定允许程序一次读取或写入单个字符; 这取决于所讨论的设备。 例如,硬盘的字符设备通常会要求所有读写操作都对齐到块边界,并且绝对不允许读取单个字节。

字符设备有时被称为原始设备,以避免围绕一个基于块的硬件的字符设备通常需要程序读取和写入对齐的块的事实混淆。

块设备(Block devices)

块特殊文件或块设备提供对硬件设备的缓冲存取,并提供一些抽象的细节。 与字符设备不同,块设备将始终允许程序员读取或写入任何大小的块(包括单个字符/字节)和任何对齐。缺点是由于块设备被缓冲,编程人员不知道在写入数据从内核的缓冲区传递到实际设备之前需要多长时间,或者实际上两个单独的写入将以什么顺序到达物理设备? 此外,如果相同的硬件暴露字符和块设备,则由于客户端使用字符设备不知道块设备的缓冲区中所做的更改而导致数据损坏的风险。

伪设备(Pseudo-devices)

类Unix系统上的设备节点不一定要与物理设备相对应。缺乏这种对应关系的节点形成了一组伪装置。 它们提供操作系统处理的各种功能。 一些最常用的(基于字符的)伪装置包括:

/ dev / null - 接受并放弃所有输入; 不产生输出(总是在读取时返回文件结束指示)/ dev / zero - 接受并放弃所有输入; 产生连续的NUL(零值)字节流/ dev / full - 读取时会产生连续的NUL(零值)字节流,并在写入时返回“磁盘已满”消息/ dev / random和/ dev / urandom - 它们产生一个可变长度的伪随机数字流。

节点创建

节点由mknod系统调用创建。用于创建节点的命令行程序也称为mknod。 通常的文件系统调用(重命名,取消链接)和命令(mv,rm)可以移动或删除节点。 当复制设备节点时传递选项-R或-a时,cp -l命令会创建一个与原始属性相同的新设备节点。

某些Unix版本包含一个名为makedev或MAKEDEV的脚本,用于在目录/ dev中创建所有必需的设备。 只有在其设备被静态分配主要编号的系统上(例如,通过在其内核模块中对其进行硬编码)才有意义。

块文件命名规则

以下前缀用于/ dev层次结构中某些设备的名称,以标识设备的类型:

lp:行式打印机(比较lp)pt:伪终端(虚拟终端)tty:终端一些额外的前缀已经在一些操作系统中普遍使用: fb:帧缓冲区fd :(平台)软盘,尽管这个缩写也常用来指文件描述符高清:(“经典”)IDE驱动程序(以前用于ATA硬盘驱动器,ATAPI光盘驱动器等)hda:第一个ATA通道上的主设备(通常由主编号3和次编号0标识)hdb:第一个ATA通道上的从属设备hdc:第二个ATA通道上的主设备hdc1:此磁盘上的第一个主分区(示例)hdc5:扩展分区中的第一个逻辑驱动器(示例)hdd:第二个ATA通道上的从属设备parport,pp:并行端口SCSI驱动程序,也被libATA(现代PATA / SATA驱动程序),USB,IEEE 1394等使用。sd:大容量存储驱动程序sda:首次注册的设备sda4:此磁盘上的最后一个分区(示例)sda6:扩展分区中的第二个逻辑驱动器(示例)sdb,sdc等:第二,第三等注册设备ses:机箱驱动程序sg:通用SCSI层sr:“ROM”驱动程序(面向数据的光盘驱动器; scd只是一个辅助别名)st:磁带驱动器tty:终端ttyS :(平台)串口驱动程序ttyUSB:USB串口转换器,调制解调器等

在Linux中使用的前缀规范列表可以在Linux设备列表中找到,Linux设备列表是Linux操作系统的分配设备编号和/ dev目录节点的正式注册表。

对于大多数设备而言,此前缀后面跟着唯一标识特定设备的编号。 对于硬盘驱动器,使用字母来标识设备,然后使用数字来标识分区。因此,文件系统可以通过/dev/sda3找到磁盘上的区域;把/dev/pts/14与联网的终端会话联系起来。

操作设备文件的相关命令

mknod

“linux设备文件指的是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux设备文件指的是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux设备文件指的是什么

本篇内容介绍了“linux设备文件指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在linux中,设备文件是设备驱动程序的接口,允许
2023-06-29

linux系统设备指的是什么

这篇文章主要介绍“linux系统设备指的是什么”,在日常操作中,相信很多人在linux系统设备指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux系统设备指的是什么”的疑惑有所帮助!接下来,请跟
2023-03-10

linux swp文件指的是什么

这篇文章主要介绍了linux swp文件指的是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。linux swp文件是一种后缀为“.swp”的文件,该文件是在当使用vi或者
2023-06-25

linux c文件指的是什么

本篇内容主要讲解“linux c文件指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux c文件指的是什么”吧!linux c是字符设备文件;字符设备
2023-04-14

linux sock文件指的是什么

这篇“linux sock文件指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux sock文件指的是什么”文
2023-04-13

linux中.a文件指的是什么

这篇文章主要介绍了linux中.a文件指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux中.a文件指的是什么文章都会有所收获,下面我们一起来看看吧。在linux中,“.a”文件是静态链接库文件;
2023-07-02

linux执行文件指的是什么

这篇文章主要讲解了“linux执行文件指的是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux执行文件指的是什么”吧!在linux中,执行文件是指的是
2023-03-09

linux中h文件指的是什么

这篇文章主要介绍“linux中h文件指的是什么”,在日常操作中,相信很多人在linux中h文件指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux中h文件指的是什么”的疑惑有所帮助!接下来,请跟
2023-06-30

linux镜像文件指的是什么

本篇内容介绍了“linux镜像文件指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在linux中,镜像文件是将特定的一系列文件按照一
2023-06-30

linux中o文件指的是什么

这篇文章主要讲解了“linux中o文件指的是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux中o文件指的是什么”吧!在linux中,“.o”文件指的是目标文件,“.o”是obje
2023-07-02

linux中.d指的是什么文件

小编给大家分享一下linux中.d指的是什么文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!linux中“.d”文件表示的是:1、依赖文件,其中d是depend
2023-06-29

linux中la文件指的是什么

这篇文章主要讲解了“linux中la文件指的是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux中la文件指的是什么”吧!在linux中,la是使用libtool编译出的库文件,是
2023-06-30

linux中映像文件指的是什么

今天小编给大家分享一下linux中映像文件指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
2023-04-21

linux swp后缀文件指的是什么

本篇内容介绍了“linux swp后缀文件指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在linux
2023-04-20

linux新建文件夹的指令是什么

在Linux系统中,新建文件夹的指令是 mkdir。通过使用 mkdir 命令,您可以在当前工作目录下创建一个新的文件夹。以下是 mkdir 命令的基本语法:mkdir [选项] 其中,[选项] 是可选的,用于指定一些特殊的行为或
2023-10-20

linux中s类型文件指的是什么

本篇内容主要讲解“linux中s类型文件指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中s类型文件指的是什么”吧!在linux中,s类型文件是指“套接字文件(socket)”
2023-06-29

linux中o和a文件指的是什么

本篇内容主要讲解“linux中o和a文件指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中o和a文件指的是什么”吧!在linux中,“.o”文件指的是目标文件,即存放目标代码的
2023-07-04

linux中bin文件指的是什么意思

这篇文章将为大家详细讲解有关linux中bin文件指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。linux中bin文件是二进制可执行文件,bin目录放置的是基于值编码的文件,可以根据具体应用
2023-06-22

dat文件指的是什么文件

这篇文章将为大家详细讲解有关dat文件指的是什么文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。dat文件可以按照扩展名来看就是DATA的意思,即数据文件,这类文件并没有进行绝对化的定义,例如VCD光盘
2023-06-06

linux块设备是什么

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

编程热搜

目录