Liunx FS/高速缓冲区

1.  调用结构

高:    bread, breada, bread_page

中:    getblk

低     get_hash_table, find_buffer

 

2.  static struct buffer_head * find_buffer(int dev, int block)

在高速缓冲区找到符合条件dev, block的缓冲头buffer_head

 

3. struct buffer_head * get_hash_table(int dev, int block)

调用函数find_buffer, 找符合条件的缓冲头buffer_head

 

4. struct buffer_head * getblk(int dev,int block)

取指定dev, block的缓冲头,

如果找到, 则返回buffer_head

否则, 创建一个新的, 并加入到链表中

 

5. struct buffer_head * bread(int dev,int block)

从缓冲区中读取dev, block对应的缓冲区

但如果在高速缓冲区中不存在, 则需要从设备中读取到缓冲块中

 

6. void bread_page(unsigned long address,int dev,int b[4])

同bread, 只是同时读四个块

 

7. struct buffer_head * breada(int dev,int first, ...)

同bread, 只是可以指定多个块同时读

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值