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

中国廉政建设网是正规网站吗徐州 商城网站设计

中国廉政建设网是正规网站吗,徐州 商城网站设计,高端网页欣赏,临沂网站开发目录 一、剖析一个块设备 二、缓冲区和缓冲区头 三、bio 结构体 四、请求队列 五、I/O 调度程序 系统中能够随机#xff08;不需要按顺序#xff09;访问固定大小数据片#xff08;chunks#xff09;的硬件设备称作块设备#xff0c;这些固定大小的数据片就称作块。最…目录 一、剖析一个块设备 二、缓冲区和缓冲区头 三、bio 结构体 四、请求队列 五、I/O 调度程序 系统中能够随机不需要按顺序访问固定大小数据片chunks的硬件设备称作块设备这些固定大小的数据片就称作块。最常见的块设备为硬盘其他的还有软盘驱动器、闪存等它们都是以安装文件系统的方式使用的。 另一种基本的设备类型是字符设备。字符设备按照字符流的方式被有序访问像串口和键盘就属于字符设备。 对于这两种类型的设备它们的区别在于是否可以随机访问数据。内核对块设备的管理需要有一个专门提供服务的子系统对字符设备的管理则不需要。 一、剖析一个块设备 块设备中最小的可寻址单位是扇区。扇区大小一般是 2 的整数倍最常见的是 512 字节。扇区的大小是设备的物理属性。 在软件层面上最小逻辑可寻址单元为块。块是文件系统的一种抽象只能基于块来访问文件系统。虽然物理磁盘寻址是按照扇区进行的但是内核执行的所有操作都是按照块进行的。所以块不能比扇区还小只能倍数于扇区大小。 总之扇区是设备的最小寻址单元也被称为 “硬扇区” 或 “设备块”同样地块是文件系统的最小寻址单元也被称为 “文件块” 或 “I/O 块”。 二、缓冲区和缓冲区头 当一个块被调入内存时在读入后或等待写出时它要存储在一个缓冲区中。每个缓冲区与一个块对应它相当于是磁盘块在内存中的表示。一个页可以容纳一个或多个内存中的块。由于内核在处理数据时需要一些相关的控制信息比如一个块属于哪个块设备块对应于哪个缓冲区等所以每一个缓冲区都有一个对应的描述符 buffer_head 结构体称为缓冲区头定义在 linux/buffer_head.h它包含了内核操作缓冲区所需要的全部信息 但是将缓冲区头作为 I/O 操作单元带来了两个弊端 缓冲区头是一个很大且不容易控制的数据结构体而且缓冲区头对数据的操作既不方便也不清晰。它仅能描述单个缓冲区缓冲区头会促使内核八大块数据的 I/O 操作分解为多个 buffer_head 结构体进行操作。  所以后面为块 I/O 操作引入了一种新型、灵活并轻量级的容器——bio 结构体。 三、bio 结构体 目前内核中块 I/O 操作的基本容器由 bio 结构体表示定义在 linux/bio.h。该结构体代表了正在活动的以片段segment链表形式组织的块 I/O 操作。一个片段是一小块连续的内存缓冲区而片段链表可以使一个缓冲区分散在内存的多个位置上bio 结构体能对内核保证 I/O 操作的执行像这样的向量 I/O 就是所谓的聚散 I/O。 bio 结构体定义于 linux/bio.h 中 使用 bio 结构体的目的主要是代表正在现场执行的 I/O 操作所以该结构体中的主要域都是用来管理相关信息的 bi_io_vec 域指向一个 bio_vec 结构体数组该结构体链表包含了一个特定 I/O 操作所需要使用到的所有片段。每个 bio_vec 结构都是一个形式为 page, offset, len 的向量它描述的是一个特定的片段片段所在的物理页、块在物理页中的偏移位置、块长度。 总之每一个块 I/O 请求都通过一个 bio 结构体表示每个请求包含一个或多个块这些块存储在 bio_vec 结构体数组中bio_vec 结构体描述了每个片段在物理页中的实际位置并且像向量一样被组织在一起。 bio 结构体代表的是 I/O 操作它包含内存中的一个或多个页而 buffer_head 结构体代表的是一个缓冲区它描述的仅仅是磁盘中的一个块。 四、请求队列 块设备将它们挂起的块 I/O 请求保存在请求队列中该队列由 request_queue 结构体表示定义在文件 linux/blkdev.h 中包含一个双向请求链表以及相关控制信息。 队列中的请求由结构体 request 表示一个请求可能要操作多个连续的磁盘块所以每个请求可以由多个 bio 结构体组成。 五、I/O 调度程序 磁盘寻址是整个计算机中最慢的操作之一为了缩短寻址时间Linux 引入了 I/O 调度程序。 I/O 调度程序将磁盘 I/O 资源分配给系统中所有挂起的块 I/O 请求。I/O 调度程序通过两种方法减少磁盘寻址时间合并与排序。 合并指将两个或多个请求结合成一个新请求即如果两个请求访问的磁盘扇区相邻那么可以把两个请求合并为一个请求这样可以将 I/O 多次请求的开销压缩成一次请求的开销。排序指将整个请求队列按扇区增长方向有序排列通过保持磁盘头以直线方向移动从而缩短所有请求的磁盘寻址时间。这种 I/O 调度程序也被称为电梯调度。 Linux 实际使用的 I/O 调度程序有如下几种 Linux 电梯最终期限 I/O 调度程序预测 I/O 调度程序完全公正的排队 I/O 调度程序空操作的 I/O 调度程序
http://www.w-s-a.com/news/323148/

相关文章:

  • 百度微建站access如何与网站连接数据库
  • ppt素材免费网站网站正能量晚上免费软件
  • 个人淘宝客网站如何备案搭建一个平台要多少钱
  • nginx 网站建设淘客网站怎么做首页
  • 网站制作的基本步骤是手机网站建设 新闻
  • 水墨 网站源码工装
  • 任丘网站建设服务网站 建设原则
  • 长沙做一个网站要多少钱网站底部备案代码
  • wordpress构建自定义设置页面seo培训学什么
  • 延安有哪些做网站的公司如何建设网站?
  • 网站建设者属于广告经营者吗网站管理程序
  • 网站内容优化方法深圳市宝安区怎么样
  • 视频网站开发视频公司网站制作多少钱
  • 单页简洁手机网站模板购物软件
  • 素材网站官网低价网站建设费用预算
  • 苏州网站设计kgwl个人网站有什么外国广告做
  • 浙江省网站建设报价简单网站开发工具
  • 物流网站的建设wordpress电视直播插件下载
  • 简述网站开发流程青岛做网站建设价格低
  • 网站开发的业务需求分析杭州推广公司
  • 网站建设技术实现难点app开发需要哪些软件
  • 响水建设局网站做网站需要会哪些知识
  • 企业制作企业网站个人网站可以做百度竞价
  • 做网站找投资人wordpress 5 主题教程
  • 做国外网站汇款用途是什么wordpress图片主题晨曦
  • 网站设计跟网站开发区别为什么网站需要维护
  • m 的手机网站怎么做网络推广方式和方法
  • wordpress图片自动轮播插件seo门户网站建设
  • 制作商业网站传奇网页游戏排名
  • 网站免费推广方案长沙房地产网站设计