10、理解块层、块设备和数据结构

理解块层、块设备和数据结构

1. 块层概述

块层整合了多个复杂结构以提供通用服务,其中最重要的或许是 bio 结构。文件系统层创建 bio 结构来表示 I/O 请求,并将其传递给块层。 bio 结构负责将所有 I/O 请求传输到驱动程序。映射层负责提供将物理块设备映射到逻辑设备的基础设施,可通过内核中的设备映射器框架实现。设备映射器为内核中的多种技术奠定了基础,包括卷管理、多路径、精简配置、加密和软件 RAID 等,其中最著名的是逻辑卷管理(LVM)。设备映射器将每个逻辑卷创建为映射设备,LVM 为存储管理员提供了极大的灵活性并简化了存储管理。

blk-mq 框架已成为块层的重要组成部分,它通过为每个 CPU 核心隔离请求队列解决了性能限制问题。该框架负责将块 I/O 请求引导到多个调度队列。

块层还包含多个用于处理 I/O 请求的调度器,这些调度器是可插拔的,可针对单个块设备进行设置。非多队列调度器已被弃用,现代内核不再支持。此外,块层还实现了诸如错误处理和收集块设备 I/O 统计信息等功能。

2. 块设备的定义

内核与外部设备交换数据主要有两种方式:
- 字符设备 :一次与设备交换一个字符,使用顺序数据流进行寻址,程序可一次进行一个字符的输入和输出操作。由于缺乏随机访问方法,内核管理字符设备更为简单,如键盘、基于文本的控制台和串口等都是字符设备的示例。
- 块设备 :当传输大量数据时,一次处理一个字符的方式变得不可行。内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值