Linux字符设备、块设备的区别
一、字符设备
字符设备就是在对某设备进行操作时,该设备的读取以字节为单位进行。字符设备的操作是通过linux系统直接调用驱动程序完成的,在驱动程序的上一层并没用文件系统。因此字符设备的特点如下:
1、以字节流的方式进行读写、一个字节一个字节的读写设备(有先后顺序)。
2、未经过文件系统,读取速度快。
3、每个字符设备都在 /dev 目录下存在一个设备文件。
二、块设备
块设备对于数据的操作是依靠数据块的形式进行的,在操作块设备时除了操作字符设备接口之外,还有专门用于操作块设备的接口。这些专门用于块设备的接口使得在块设备上可以构建文件系统,而应用程序在操作块设备时也往往通过文件系统。块设备的一些特点:
1、块设备以数据块形式进行操作。
2、块设备的数据能够随机存取。
3、操作块设备往往通过文件系统,而不是直接与设备进行通讯。
块设备的 I/O 操作方式与字符设备存在较大的不同,引入了 request_queue、request、bio等一系列数据结构。在整个块设备的I/O操作中,贯穿与始终的就是”请求“,字符设备的I/O操作则是直接进行不绕弯,而块设备的I/O操作会排队和整合。
个人的一些理解:
块设备上的文件系统进行挂载的时候:
mount -t ext4 /mnt /dev/mmcblk0p2
上面的指令,将mmcblk0的第二个分区 挂载到了 /mnt 目录下 并指定文件系统格式为 ext4。
mount的过程中,就已经将mmcblk0的块设备驱动的一系列操作和 /mnt的ext4文件操作相绑定。
Linux字符设备、块设备的区别相关推荐
- 十六、Linux驱动之块设备驱动
1. 基本概念 块设备是Linux三大设备之一,其驱动模型主要针对磁盘,Flash等存储类设备,块设备(blockdevice)是一种具有一定结构的随机存取设备,对这种设备的读写是按块(所以叫块设备) ...
- Linux Shell 判断块设备节点是否存在
/************************************************************************** Linux Shell 判断块设备节点是否存在* ...
- I/O输入输出——I/O设备(块设备与字符设备)
无论是块设备还是字符设备,都是属于IO硬件,在整个硬件到软件层之前的了解,有助于我们理解. I/O设备 块设备 是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的 ...
- Linux创建虚拟块设备并格式化为文件系统
环境 为了方便学习文件系统的原理和原始数据的分析,需要创建虚拟块设备并格式化为ext4文件系统: Linux创建虚拟块设备 losetup命令 -a 显示所有已经使用的回环设备状态 - ...
- linux内核的块设备驱动框架详解
1.块设备和字符设备的差异 (1)块设备只能以块为单位接受输入和返回输出,而字符设备则以字节为单位.大多数设备是字符设备,因为它们不需要缓冲而且不以固定块大小进行操作; (2)块设备对于 I/O 请求 ...
- Linux驱动开发---块设备驱动
块设备驱动(Linux kernel 4.9.x) 主要结构 gendisk结构体:表示一个独立的磁盘设备(或分区) 1.1 定义如下: struct gendisk {/* major, first ...
- Linux驱动开发|块设备驱动
块设备驱动 块设备驱动是 Linux 三大驱动类型之一,块设备驱动比字符设备驱动复杂得多,不同类型的存储设备又对应不同的驱动子系统,下面介绍块设备驱动框架及使用 一.块设备介绍 块设备是针对存储设备的 ...
- linux 网卡是块设备吗,什么是网络块设备(Network Block Device)?
网络块设备(NBD)是一种用于Linux®和Unix®计算机系统的远程数据存储技术,它允许客户端计算机访问远程系统上的数据存储.一旦客户端计算机设置了NBD,它的使用就好像它实际上是客户端上的一个磁盘 ...
- linux 命令查看块设备,系统运维|用 Linux blkid 命令查找块设备详情
今天我们将会向你展示如何使用 lsblk 和 blkid 工具来查找关于块设备的信息,我们使用的是一台安装了 CentOS 7.0 的机器. lsblk lsblk 是一个 Linux 工具,它会显示 ...
最新文章
- C++实现堆排序(附完整源码)
- 路由销毁上一页_路由器原理(数据通信)
- 分页设计 与 高级查询 的 结合设计
- Java命令运行没反应_cmd中执行java命令没有输出结果
- vuex模块化 怎么引用state_vue 组件如何调用 vuex 模块中的getters
- 推荐x61使用nhc软件控制风扇
- 比较完整的熊猫烧香解决方案
- IEEE Access投稿(Latex模板)——参考文献的生成
- cornerstone 加载dicom图像不同分辨率导致图像被截取的问题。
- 机器视觉技术在当前各行各业中的应用
- 【案例】CRM客户管理系统的登录模型
- 三星s8是否支持html,真正的全面屏!国行三星S8终于支持导航栏隐藏
- AntD的Table表头title加Icon图标和气泡提示Tooltip
- choco设置后续软件默认安装路径
- vue-admin-实现登出功能
- 无法访问此网站localhost 拒绝了我们的连接请求。请试试以下办法:检查网络连接检查代理服务器和防火墙ERR_CONNECTION_REFUSED
- 外星人跑深度学习_外星人带你搞基?这部12年的动画绝了
- 脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?
- 分割(计数板)展示数字样式
- 网站HTTPS是有什么用吗
热门文章
- thymeleaf的th:if 及thymeleaf的三元运算使用方法
- Unity 初识:SkyBox(天空盒)
- 【每天更新】2022年最新WordPress主题下载,外贸独立站商城/企业网站/个人博客模板 2022年5月27日
- wordpress主题下载
- 心理学实验和报告的撰写方法
- 重庆理工计算机考研专业课,重庆理工大学(专业学位)计算机技术研究生考试科目和考研参考书目...
- 活动制作服务器,制作微信投票活动需要做哪些准备
- 基于NB-IoT的GPS定位系统(STM32、WH-NB73、U-BLOX NEO-7N )
- 郑州大学09年医学影像专业研究生招生情况
- c# jarray 长度_C# 数组(Array)