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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
研究 linux 内核 - 块设备I/O层0 S4 E( ~- u& ^: U- `; E% i7 h

5 ?+ y3 j' v# X
: d, s- K0 D" b* I9 {  X) a1,说在前面
: C) E4 x3 v* N' F! V
/ Y2 d  M' y/ x) s, G5 M1 a  j. t

" z2 V+ C2 @* u! C! W/ l5 [+ w1 b! p* S, v
1》块I/O层介于文件系统层和块设备驱动之间& i6 |" T- Y* z( f8 Y; b4 [
2》此层的核心是I/O“请求列表”2 {' ~  g' \/ z: m% s8 O
3》请求链表的节点是bio和HB(header of buffer),描述了扇区和块以及页的关系3 L, x5 X  s- y/ c" j5 |' ?
4》块,是文件系统的最小操作单元。页,内存管理中的页。扇区,硬件最小操作单元。
% z, o+ W! @' b( Z; C; S5 |$ Z5》扇区大小<=块大小<=页大小
& E  Z% n$ M, K) A* r/ M/ E& ]' ^, B# K. N

& Q! @- u4 I' l2,块设备I/O层的原理和工作过程
5 R- B2 C! F% N- Y- U- k* C6 j
. U, [& M" n+ ]* I
1》文件系统向请求列表里加入请求6 u6 ~1 n# a+ d. l5 K* C$ Q7 g
2》块I/O调度程序运用一定算法(类似电梯调度算法)给请求列表排序
7 E3 _) Z- L& a3 y* Z3》块设备的驱动程序从请求队列里取请求,然后完成这个请求。实现块设备的操作。
! I, S9 V/ n* e; ~! Y/ z+ n! Y7 Y4》上图是从应用层调用文件I/O到底层驱动的整个流程。
( k) w/ X- m. t5 [' `6 c# d7 ?& k* f' b# q  n7 y$ r; B/ Y" ~
& j5 _, S8 _+ ^# t
0 @5 P2 h0 `( J  P* d8 L

1 i* m" o& g2 l) I) A; O1 l
% H& J* y' {% Q& h. s# C% I

7 p! C/ P" W( U  h+ F3 L9 [# v5 P
, g9 i* z0 w3 T0 E
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-25 01:37 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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