找回密码
 注册
关于网站域名变更的通知
查看: 323|回复: 1
打印 上一主题 下一主题

研究 linux 内核 - 块设备I/O层

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-10-14 14:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
研究 linux 内核 - 块设备I/O层
% u2 \3 g( [/ e! O% u' h6 P5 S
# A, D' W# h7 _
; k  e$ L8 R, }
1,说在前面
) [( U9 ]3 b( F
, l" j" U' t( g+ d* c" b

% y0 |% o: r+ S! H2 d1 V
7 l, V  Y" c4 {0 M3 d& s" k7 Z1》块I/O层介于文件系统层和块设备驱动之间
% u1 y5 Y; J- m) m/ T2》此层的核心是I/O“请求列表”
1 k: B& F' }3 H6 j8 @* E3》请求链表的节点是bio和HB(header of buffer),描述了扇区和块以及页的关系$ w1 M7 B  E, c! x
4》块,是文件系统的最小操作单元。页,内存管理中的页。扇区,硬件最小操作单元。: s3 x0 [8 k" S7 m1 ?( R
5》扇区大小<=块大小<=页大小
; |6 x, c- m" ^$ r. J  _! I
/ N8 E$ D& I! n7 o
1 P) D- i! B. y2,块设备I/O层的原理和工作过程
9 S: v/ q7 `; Z! _: ?( R" v- j

5 ]; [- P% h% ]+ R3 d4 B- h1》文件系统向请求列表里加入请求
7 H6 O5 ^& D, A7 U: V9 D9 o2》块I/O调度程序运用一定算法(类似电梯调度算法)给请求列表排序2 M$ [) N: g! v+ s/ m
3》块设备的驱动程序从请求队列里取请求,然后完成这个请求。实现块设备的操作。
* B+ T1 e  P4 b4》上图是从应用层调用文件I/O到底层驱动的整个流程。
1 x  ?: U5 |. q4 x6 {5 q5 J2 I5 g3 I5 N* R' h

% d. X% ^; ]$ B9 J" L
( F. s+ S* ^( z2 X% `  g0 d6 n* w* y& l

, ~3 c5 r# M4 u: ?# b2 z

9 X$ i6 H5 y8 v
1 u# V$ y5 s& [/ t, [, e2 v8 l
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 02:00 , Processed in 0.156250 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表