博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux中普通文件和块设备文件的区别
阅读量:6981 次
发布时间:2019-06-27

本文共 616 字,大约阅读时间需要 2 分钟。

1,概述

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

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

2,基本概念

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

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

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

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

3, 寻址空间的区别

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

 

转载地址:http://cajpl.baihongyu.com/

你可能感兴趣的文章
Java8-Executors-No.02
查看>>
Objective-C:在类中设置不同协议
查看>>
元数据
查看>>
Web Essentials之Browser Link
查看>>
js修改后没反应-看看是不是取的缓存
查看>>
05. Web大前端时代之:HTML5+CSS3入门系列~H5 多媒体系
查看>>
使用GhostDoc为代码生成注释文档
查看>>
Kettle的设计
查看>>
零代码如何打造自己的实时监控预警系统
查看>>
一段关于写书的对话。
查看>>
分布式监控系统Zabbix-3.0.3-完整安装记录 - 添加shell脚本监控
查看>>
Android之查看外部依赖jar的源代码_android private libralies does not allow modifications to source...
查看>>
Redis中的关系查询(范围查询,模糊查询等...)
查看>>
Git常用命令总结【转】
查看>>
【转载】GUID vs INT Debate
查看>>
Hadoop Hive概念学习系列之hive里的分区(九)
查看>>
间歇性失业了
查看>>
【Xamarin.iOS】使用UrhoSharp将3D模型带入增强现实生活
查看>>
Linux 内核驱动--多点触摸接口【转】
查看>>
Button在android程序中的初始化思路
查看>>