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

北京网站制作很好 乐云践新手工制作小船

北京网站制作很好 乐云践新,手工制作小船,网站怎么挂服务器,中国建设部官方网站资格证查询目录 一、缓存手段 二、Linux 页高速缓存 三、flusher 线程 Linux 内核实现了一个被叫做页高速缓存(page cache)的磁盘缓存,它主要用来减少对磁盘的 I/O 操作。它是通过把磁盘中的数据缓存到内存中,把对磁盘的访问变为对物理内…

目录

一、缓存手段

二、Linux 页高速缓存

三、flusher 线程


Linux 内核实现了一个被叫做页高速缓存(page cache)的磁盘缓存,它主要用来减少对磁盘的 I/O 操作。它是通过把磁盘中的数据缓存到内存中,把对磁盘的访问变为对物理内存的访问。

临时局部原理(temporal locality):如果在第一次访问数据时缓存它,那么就极有可能在短时间内再次访问到,因为程序内存在着循环;并且其相邻的数据也可能在短时间内被访问到,因为程序内存放的数据有很多是连续的(如数组)。

一、缓存手段

页高速缓存是由内存中的物理页组成的,其内容对应磁盘上的物理块。页高速缓存可以动态调整,它可以通过占用空闲内存以扩张大小,也可以自我收缩以缓解内存使用压力。

当进程发起一个 read() 系统调用,它会首先检查需要的数据是否在页高速缓存中,如果在则直接从内存中读取,而无需访问磁盘,此时缓存命中;如果没在缓存中,则内核必须调度块 I/O 操作从磁盘读取数据。

当进程发起一个 write() 系统调用时,缓存一般有三种策略:

  • 不缓存(no-write),这种策略不缓存任何写操作,写的时候直接写入磁盘,然后使缓存中对应数据失效。一般不使用这种策略。
  • 写透缓存(write-through cache),写操作会同时更新缓存和磁盘上的数据。这种策略对保持缓存一致性很有好处。
  • 回写(write-back),写操作会直接更新缓存中的数据,但不会立即更新磁盘上的数据,而是将页高速缓存中被写入的页面标记成 “脏页”,并且被加入到脏页链表中,然后由一个回写进程周期性将脏页链表中的页写回到磁盘。当脏页被换出缓存时,则需要立即回写该页。Linux 所采用的就是这种策略

当缓存满后,如何选择合适的页面换出是一种重要的工作,有如下两种策略:

  • 最近最少使用策略(LRU): LRU 回收策略需要跟踪每个页面的访问时间,以便能回收最老时间戳的页面(最少被使用的页面)。LRU 是通过维护一个按照时间为序的页链表来实现的。
  • 双链策略:Linux 采用的是一个修改过的 LRU,也叫双链策略。这种策略要维护两个链表,活跃链表和非活跃链表。处于活跃链表上的页面被认为是访问较多的且不会被换出,而在非活跃链表上的页面则是可以被换出的。这种双链方式也被称为 LRU/2。

二、Linux 页高速缓存

在页高速缓存中的页可能包含了多个不连续的物理磁盘块。Linux 页高速缓存使用了一个新对象管理缓存项和页 I/O 操作,这个对象是 address_space 结构体。文件可以有多个虚拟地址(可以被多个 vm_area_struct 结构体标识),但在物理内存只能有一份(只能有一个 address_space 结构体)。

三、flusher 线程

由于页高速缓存的缓存作用,写操作实际上会被延迟。当页高速缓存中的数据比后台存储的数据更新的时候,该数据就被称作脏数据。在以下三种情况发生时,脏页被写回磁盘:

  • 当空闲内存低于一个特定的阈值时,内核必须将脏页写回磁盘以释放内存。
  • 当脏页在内存中驻留时间超过一个特定的阈值时,内核必须将超时的脏页写回磁盘,以确保脏页不会无限期地驻留在内存中。
  • 当用户进程调用 sync() 和 fsync() 系统调用时,内核会按照要求执行回写操作。

在 2.6 内核中,由一群内核线程(flusher 线程)执行这三种操作。flusher 线程基于页面,它将整个脏页写回磁盘。

  

http://www.yayakq.cn/news/428372/

相关文章:

  • 网站自己怎么建设科技未来网站建设
  • 东莞手机网站建设在线做漫画网站
  • 柳州住房城乡建设厅官方网站选择好的软件开发培训班
  • 做3d地形比较好的网站crm系统主要干什么的
  • 网站主要栏目网站调用微信js视频
  • 东莞网站建设流程铜川市网站建设
  • 江苏建设信息网官网优化电池充电有必要开吗
  • 做网站都需要自己的服务器吗2022年最新国际新闻
  • 如何规划网站栏目江苏金安建设公司网站
  • 学校网站建设钉钉网站如何做推广效果好
  • google外贸建站手机网站设计公司哪家好
  • 海口cms模板建站中国最新军事新闻
  • 潍坊网站建设wfxtseo搜索引擎网址
  • wordpress网站描述插件你愿不愿意做我女朋友网站
  • 做竞品分析的网站wordpress调用当着文章tag标签
  • 广州市专注网站建设品牌上海今天出什么大事件了
  • 绿色网站风格wordpress上传pdf文档
  • 淘宝怎么做网站网站开发微信支付接入
  • 宽屏企业网站源码网站建设分哪些类别
  • 电子商务网站建设计划高权重域名做网站
  • 上海二手房网站建网站不做广告怎么赚钱
  • 网站备案流程图传奇页游
  • 网站设计制作发展趋势成都便宜网站建设公司哪家好
  • 龙华区住房建设局网站5g创业网站建设
  • 网站域名注册地址有wordpress使用经验
  • 工商局网站怎么做增项佛山网站搭建
  • 良精网站管理系统推广计划怎么写
  • 做外贸的人经常用什么网站网站建设完毕后怎么加后台
  • 怎样做社交网站彼亿营销
  • 网站建设选谋者常州网站建设公司