美文网首页
[转]linux中普通文件和块设备文件的区别

[转]linux中普通文件和块设备文件的区别

作者: 贺大伟 | 来源:发表于2020-09-24 11:58 被阅读0次

1,概述

  一直都搞不明白普通文件跟块文件的区别,总觉得一个普通的文件是存放在磁盘块上,那它既属于普通文件又属于块设备文件。刚好下午睡了一个大头觉,比较清醒,集中学习了下普通文件和块设备文件的区别和联系。

  本文从基本概念,寻址空间,内核读写几个方面介绍普通文件和块设备文件的辩证统一。

2,基本概念

  普通文件(Regular File)。指普通意义上的文件,如数据文件、可执行文件等。

  设备文件(Device File)。类unix操作系统都是基于文件概念的,文件是由字节序列而构成的信息载体。根据这一点,可以把IO设备当作设备文件这种所谓的特殊文件来处理;因此,与磁盘上的普通文件进行交互所用的同一系统调用可直接用于IO设备。根据设备驱动程序的基本特征,设备文件可以分为两种:块和字符。这两种硬件设备之间的差异并不容易划分,但我们至少可以假定以下的差异:[1]

  · 块设备的数据可以随机地被访问,而且从人类用户的观点看,传送任何数据块所需的时间都是较少而且是大致相同的。块设备的典型例子是硬盘、软盘[1]。块设备一般情况下是带缓冲区的。

  · 字符设备的数据或者不可以随机访问,或者可以被随机访问,但是访问随机数据所需的时间很大程度上依赖于数据在设备内的位置[1]。

3, 寻址空间的区别

  块设备文件是块设备的物理寻址空间;普通文件是块设备的虚拟寻址空间。普通文件比块设备文件多一层文件系统的地址转换机构。

相关文章

  • [转]linux中普通文件和块设备文件的区别

    1,概述 一直都搞不明白普通文件跟块文件的区别,总觉得一个普通的文件是存放在磁盘块上,那它既属于普通文件又属于块设...

  • 文件和目录的基本操作

    一、Linux下的文件类型 Linux文件的常见类型: 1、普通文件2、目录3、字符设备文件4、块设备文件5、符号...

  • Netty之路(一)Linux、Java、Netty的I/O模型

    一、Linux 网络I/O模型 Linux的内核秉承一切皆文件的理念,普通文件、目录、字符设备、块设备和网络设备(...

  • Linux学习(五)——Linux文件系统

    Linux文件系统 文件系统和文件类型 文件类型 普通文件(-) 目录文件(d) 块设备文件(b) 字符设备文件(...

  • 本地套接字

    linux 文件 b 块设备文件 c 字符设备文件 d 目录 - 普通文件 l 链接 s 套接字 p 管道 本地套...

  • C语言-系统-文件操作

    1. Linux 文件 Linux 常见的文件类型:普通文件、目录文件、设备文件、管道文件、套接字和链接文件等等。...

  • 虚拟文件系统VFS简介

    文件 “一切皆是文件”是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、 套接字等...

  • 学习小组D16----Linux的初理论学习

    Linux重要思想之一:一切皆文件 类型不同的:普通文件、目录、字符设备、块设备和网络设备(套接字)等,在Linu...

  • 文件和目录

    Linux下的文件类型普通文件;目录文件;块特殊文件; //这种文件提供对设备带缓冲的访问 ;字符特殊文件; ...

  • Linux磁盘和分区管理

    一、设备 在Linux中,一切皆“文件”。 设备分为:块设备(b):block,块文件存储,例如磁盘;字符设备(c...

网友评论

      本文标题:[转]linux中普通文件和块设备文件的区别

      本文链接:https://www.haomeiwen.com/subject/dvuzyktx.html