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

美食网站建设的时间进度表网站与客户互动

美食网站建设的时间进度表,网站与客户互动,龙岗英文网站制作,搭建网站的价格块设备的处理 块设备驱动程序上的每个操作都涉及很多内核组件#xff1b;其中最重要的一些如图14-1所示。 例如#xff0c;我们假设一个进程在某个磁盘文件上发出一个read()系统调用 ——我们将会看到处理write请求本质上采用同样的方式。 下面是内核对进程请求给予回应的一…块设备的处理 块设备驱动程序上的每个操作都涉及很多内核组件其中最重要的一些如图14-1所示。 例如我们假设一个进程在某个磁盘文件上发出一个read()系统调用 ——我们将会看到处理write请求本质上采用同样的方式。 下面是内核对进程请求给予回应的一般步骤1. read()系统调用的服务例程调用一个适当的VFS函数将文件描述符和文件内的偏移量传递给它。 虚拟文件系统位于块设备处理体系结构的上层它提供一个通用的文件模型Linux支持的所有文件系统均采用该模型。 我们在第十二章已经详细介绍了VFS层。 2. VFS函数确定所请求的数据是否已经存在如果有必要的话它决定如何执行read操作。 有时候没有必要访问磁盘上的数据因为内核将大多数最近从块设备读出或写入其中的数据保存在RAM中。第十五章介绍了磁盘高速缓存机制 而第十六章详细说明了VFS如何处理磁盘操作以及如何与磁盘高速缓存和文件系统交互。 3. 我们假设内核从块设备读数据那么它就必须确定数据的物理位置。为了做到这点内核依赖映射层(mapping layer),主要执行下面两步 a.内核确定该文件所在文件系统的块大小并根据文件块的大小计算所请求数据的长度。 本质上文件被看作拆分成许多块因此内核确定请求数据所在的块号(文件开始位置的相对索引)。 b.接下来映射层调用一个具体文件系统的函数它访问文件的磁盘节点然后根据逻辑块号确定所请求数据在磁盘上的位置。 事实上磁盘也被看作拆分成许多块因此内核必须确定存放所请求数据的块对应的号(磁盘或分区开始位置的相对索引)。 由于一个文件可能存储在磁盘上的不连续块中因此存放在磁盘索引节点中的数据结构将每个文件块号映射为一个逻辑块号(注1)。 我们将在第十六章中说明映射层的功能在第十八章中将介绍一些典型的磁盘文件系统。 4. 现在内核可以对块设备发出读请求。内核利用通用块层(generic block Inyer)启动I/O操作来传送所请求的数据。 一般而言每个I/O操作只针对磁盘上一组连续的块。 由于请求的数据不必位于相邻的块中所以通用块层可能启动几次I/O操作。 每次I/O操作是由一个“块I/O”(简称“bio”)结构描述它收集底层组件需要的所有信息以满足所发出的请求。 通用块层为所有的块设备提供了一个抽象视图因而隐藏了硬件块设备间的差异性。 几乎所有的块设备都是磁盘所以通用块层也提供了一些通用数据结构来描述“磁盘”或“磁盘分区”。 我们将在本章的“通用块层”一节中讨论通用块层和bio数据结构。 5. 通用块层下面的“I/O调度程序”根据预先定义的内核策略将待处理的I/O数据传送请求进行归类。 调度程序的作用是把物理介质上相邻的数据请求聚集在一起。我们将在本章后面的“I/O调度程序”一节中介绍调度程序。 6. 最后块设备驱动程序向磁盘控制器的硬件接口发送适当的命令从而进行实际的数据传送。 我们将在后面的“块设备驱动程序”一节介绍通用块设备驱动程序的总体组织结构。 如你所见块设备中的数据存储涉及了许多内核组件每个组件采用不同长度的块来管理磁盘数据 6.1.硬件块设备控制器采用称为“扇区”的固定长度的块来传送数据。因此I/O调度程序和块设备驱动程序必须管理数据扇区。 6.2.虚拟文件系统、映射层和文件系统将磁盘数据存放在称为“块”的逻辑单元中。 6.3.一个块对应文件系统中一个最小的磁盘存储单元。 我们很快会看到块设备驱动程序应该能够处理数据的“段”: 一个段就是一个内存页或内存页的一部分它们包含磁盘上物理相邻的数据块。 5.4.磁盘高速缓存作用于磁盘数据的“页”上每页正好装在一个页框中。 通用块层将所有的上层和下层的组件组合在一起因此它了解数据的扇区、块、段以及页。 即使有许多不同的数据块它们通常也是共享相同的物理RAM单元。 例如图14-2显示了一个具有4096字节的页的构造。 上层内核组件将页看成是由4个1024字节组成的块缓冲区。 块设备驱动程序正在传送页中的后3个块因此这3块被插入到涵盖了后3072 字节的段中。 硬盘控制器将该段看成是由6个512字节的扇区组成。本章我们介绍处理块设备的下层内核组件通用块层、I/O调度程序以及块设备驱动程序因此我们将注意力集中在扇区、块和段上。扇区 为了达到可接受的性能硬盘和类似的设备快速传送几个相邻字节的数据。 块设备的每次数据传送操作都作用于一组称为扇区的相邻字节。 在下面的讨论中我们假定字节按相邻的方式记录在磁盘表面这样一次搜索操作就可以访问到它们。 尽管磁盘的物理构造很复杂但是硬盘控制器接收到的命令将磁盘看成一大组扇区。 在大部分磁盘设备中扇区的大小是512字节但是一些设备使用更大的扇区(1024和2048字节)。 注意应该把扇区作为数据传送的基本单元不允许传送少于一个扇区的数据尽管大部分磁盘设备都可以同时传送几个相邻的扇区。 在Linux中扇区大小按惯例都设为512字节 如果一个块设备使用更大的扇区那么相应的底层块设备驱动程序将做些必要的变换。 因此对存放在块设备中的一组数据是通过它们在磁盘上的位置来标识 即其首个512字节扇区的下标以及扇区的数目。 扇区的下标存放在类型为sector_c的32位或64位的变量中。
http://www.zqtcl.cn/news/658579/

相关文章:

  • 做网站不会框架网站开发逻辑图
  • 东莞网站制作个性化宜都网站建设
  • 空壳网站查询网络服务提供者不履行法律、行政法规
  • 付费阅读网站代码做网站需要什么软件
  • 泗阳网站设计外贸网站特点
  • 国外logo设计网站推荐网页浏览器证书失效怎么修复
  • asp.net建立手机网站校园网站设计代码
  • 网站图标怎么下载肇庆新农村建设内容在哪个网站
  • 上海建站哪家好临沂建设工程质量 监督网站
  • 中国建设银行网站地图上海最新新闻热点事件
  • wordpress4.95淘宝优化标题都是用什么软件
  • 大网站用wordpress吗网站广告费怎么做分录
  • 江西建设安全网站会展平面设计主要做什么
  • 阿里巴巴免费做网站吗企业商务网站建设策划书
  • 广州网站制作哪家专业深圳网站制作开发
  • 网站icp备案管理系统个人网站源代码
  • 西安网站建设公司云网wordpress 文章分类
  • 长沙优化网站服务r18cn wordpress
  • 建材网站设计延安网站建设电话
  • 做视频网站犯法么华为公司网站建设案例分析
  • 陕煤化建设集团网站矿建二公司网站制作系统
  • 网站建设类别wordpress下载付费
  • 廊坊做网站的成都网站建设网站建设
  • 如何自己开网站网络服务检测与维护
  • 古镇网站建设熊掌号专业网站开发哪里有
  • 专业做网站服务上海网站开发哪家好
  • 科普重庆网站浙江网站开发
  • 怎么搭建自己的网站后台邹城网站建设哪家好
  • 二手房在哪个网站做合同wordpress 局域网 慢
  • 全包胶衣网站wordpress 3.1