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

buffer_head和bio

buffer_head完全按照设备块来进行io,块大小取决于设备但是普遍比页面小,bh的元数据比率开销过大,bio则按照页面大小进行io,然而一个bio中可以包含多个页面,因此聚集的基于page的io吞吐量更大些,这就好比用桶提水比用汤勺舀水效率高一样。因此2.6内核普遍使用bio代替了bh,然而传统的bh并没有消失,只是它完全用bio来实现了,在读取小数据的时候,基于设备块来读取还是很可取的,因此内核干脆设计出一个 bh_lru缓存结构体来缓存8个最近使用并且猜测还将被使用的bh,这可能是一些块设备的元数据。在2.6内核中,bh退化成了一个接口层,虽然2.6内核完全使用了基于page的块io,但是却并没有丧失基于块映射io的高效性,只是这个工作交给了更底层的块设备驱动程序来做了,最终驱动程序还是成块成块地来读写数据的...早先对于bh来说,每一个块都要有一个bh结构体来描述,如果写一个很大的数据,就需要很多的bh链接成一个链,然后一个循环将它们全部写入设备,如果是bio的,使用mpage机制可以尽可能多地搜集很多的page,然后交给更底层的驱动。

相关文章:

  • 关于人脸识别,稀疏表示的若干论文的小结
  • asp.net——正则表达式
  • 开始iOS 7中自动布局教程(一)
  • POJ 1470 Closest Common Ancestors
  • S3C2440-中文手册
  • URAL 1779 F - The Great Team 构造
  • 如何应用混沌进行置乱
  • Ruby源文件指引
  • poj 2828 块状链表 OR 线段树 OR 树状数组
  • Ruby用6行搞定P2P
  • Bootstrap中面板的使用
  • LCA rmq st model
  • 一个有意思的Ruby脚本
  • 如何提醒客户重载父类的指定方法?
  • 将键盘的按键转换成相应的Unicode 值
  • 【css3】浏览器内核及其兼容性
  • Android框架之Volley
  • Angular 响应式表单 基础例子
  • extract-text-webpack-plugin用法
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • java 多线程基础, 我觉得还是有必要看看的
  • Node项目之评分系统(二)- 数据库设计
  • opencv python Meanshift 和 Camshift
  • overflow: hidden IE7无效
  • php中curl和soap方式请求服务超时问题
  • SQLServer之创建数据库快照
  • VUE es6技巧写法(持续更新中~~~)
  • vuex 笔记整理
  • 测试开发系类之接口自动化测试
  • 构造函数(constructor)与原型链(prototype)关系
  • 面试总结JavaScript篇
  • 微信小程序填坑清单
  • 译自由幺半群
  • 硬币翻转问题,区间操作
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • C# - 为值类型重定义相等性
  • HanLP分词命名实体提取详解
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (13)Hive调优——动态分区导致的小文件问题
  • (ros//EnvironmentVariables)ros环境变量
  • (定时器/计数器)中断系统(详解与使用)
  • (论文阅读30/100)Convolutional Pose Machines
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .Net(C#)自定义WinForm控件之小结篇
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .NET中两种OCR方式对比
  • :O)修改linux硬件时间
  • @AliasFor注解