当前位置: 首页 > news >正文

day17-高速缓冲区的管理机制

1.目的

        用户与磁盘进行文件交互时的流程

        磁盘与高速缓冲区的关系

        加深块设备驱动的理解

        hash 循环链表 单链表的使用方法

2.高速缓冲区的工作流程

        高速缓冲区中存储这对应的块设备驱动的数据

        当从块设备中读取数据的时候,OS首先会从高速缓冲区中进行检索,如果没有则从块设备中读出数据,如果有且为最新的,就直接和该高速缓冲区进行数据交互。

buffer.c

高速缓冲区中有缓冲区低区和高区

低区和高区中的缓冲块一一对应

缓冲区的描述头-------高速缓冲区

高速缓冲区的头是?

        高速缓冲区的头是一个结构体,里面存着高速缓冲区所有的状态 时间 信息

struct buffer_head {char * b_data;			/* pointer to data block (1024 bytes) */ 数据区 1kunsigned long b_blocknr;	/* block number */        数据逻辑块号 1kunsigned short b_dev;		/* device (0 = free) */    块设备号unsigned char b_uptodate;unsigned char b_dirt;		/* 0-clean,1-dirty */unsigned char b_count;		/* users using this block */unsigned char b_lock;		/* 0 - ok, 1 -locked */struct task_struct * b_wait;struct buffer_head * b_prev;struct buffer_head * b_next;struct buffer_head * b_prev_free;struct buffer_head * b_next_free;
};

 

 

http://www.lryc.cn/news/236735.html

相关文章:

  • 文心一言 VS 讯飞星火 VS chatgpt (139)-- 算法导论11.4 3题
  • Java 解压文件
  • SASS/SCSS精华干货教程
  • 8.jib-maven-plugin构建springboot项目镜像,docker部署配置
  • 海康威视综合安防管理平台任意文件上传
  • Linux环境下C++ 接入OpenSSL
  • 美国网站服务器SSL证书介绍
  • JSP命令标签 静态包含/动态包含
  • Cesium点位弹窗
  • 基于单片机16路抢答器仿真系统
  • Linux常用命令亲测总结
  • 二百零六、Flume——Flume1.9.0单机版部署脚本(附截图)
  • 不必购买Mac,这款国产设计工具能轻松替代Sketch!
  • 通过多线程的方式每次发送10条MQ消息
  • springboot上传文件后显示权限不足
  • spring-boot-maven-plugin插件 —— 打包时减小jar包的大小方法
  • java Bigdecimal
  • 【C++11并发】thread 笔记
  • OBS Studio免费开源录屏工具
  • 【汇编】[bx+idata]的寻址方式、SI和DI寄存器
  • Java,集合框架,关于Map接口与Collections工具类
  • 【实用技巧】更改ArduinoIDE默认库文件位置,解放系统盘,将Arduino15中的库文件移动到其他磁盘
  • 二、什么是寄存器
  • 邀请报名|11月24日阿里云原生 Serverless 技术实践营 深圳站
  • 学习UI第一天
  • 1688商品详情原数据(2023年11月最新版)
  • CleanMyMac X2024免费测试版好不好用?值不值得下载
  • Linux操作文件的底层系统调用
  • steam搬砖项目2023年现状分析,到底还能不能做?
  • 【论文阅读】基于隐蔽带宽的汽车控制网络鲁棒认证(二)