【Linux】linux中普通文件和块设备文件的区别
来源:互联网 发布:php中魔术常量 编辑:程序博客网 时间:2024/06/07 04:11
1,概述
一直都搞不明白普通文件跟块文件的区别,总觉得一个普通的文件是存放在磁盘块上,那它既属于普通文件又属于块设备文件。刚好下午睡了一个大头觉,比较清醒,集中学习了下普通文件和块设备文件的区别和联系。
本文从基本概念,寻址空间,内核读写几个方面介绍普通文件和块设备文件的辩证统一。
2,基本概念
普通文件(Regular File)。指普通意义上的文件,如数据文件、可执行文件等。
设备文件(Device File)。类unix操作系统都是基于文件概念的,文件是由字节序列而构成的信息载体。根据这一点,可以把IO设备当作设备文件这种所谓的特殊文件来处理;因此,与磁盘上的普通文件进行交互所用的同一系统调用可直接用于IO设备。根据设备驱动程序的基本特征,设备文件可以分为两种:块和字符。这两种硬件设备之间的差异并不容易划分,但我们至少可以假定以下的差异:[1]
· 块设备的数据可以随机地被访问,而且从人类用户的观点看,传送任何数据块所需的时间都是较少而且是大致相同的。块设备的典型例子是硬盘、软盘[1]。块设备一般情况下是带缓冲区的。
· 字符设备的数据或者不可以随机访问,或者可以被随机访问,但是访问随机数据所需的时间很大程度上依赖于数据在设备内的位置[1]。
3, 寻址空间的区别
块设备文件是块设备的物理寻址空间;普通文件是块设备的虚拟寻址空间。普通文件比块设备文件多一层文件系统的地址转换机构。
0 0
- linux中普通文件和块设备文件的区别
- 【Linux】linux中普通文件和块设备文件的区别
- Linux系统中普通文件和目录文件的区别
- Linux系统中普通文件和目录文件的区别
- Linux系统中普通文件和目录文件的区别
- linux设备文件和普通文件
- Linux中块设备和字符设备的区别
- Linux中块设备和字符设备的区别
- Linux中块设备和字符设备的区别
- Linux中块设备和字符设备的区别
- linux下普通文件和目录文件的区别
- 关于字符设备文件和块设备文件的区别
- Linux 0.11 块设备文件的使用
- linux 下两类主要的设备文件:字符设备,块设备
- linux中设备驱动和设备文件
- linux下普通文件和目录文件区别
- linux下普通文件和目录文件区别
- linux下普通文件和目录文件区别
- 一个KVM的安装
- c语言基础:数据类型
- android 数据库相关操作
- webp格式研究
- 黑马程序员——java基础——递归
- 【Linux】linux中普通文件和块设备文件的区别
- hiho1078 线段树的区间修改
- Java位运算符号操作
- zerglurker的c语言教程005——命名规则
- C语言基础:分支语句和常见运算符
- 【android初学日志】gravity 和 layout_gravity区别<三>
- GitHub操作流程
- 将CFormView嵌入到CDockablePane中
- 蒋鑫:为什么 Git 比 SVN 好