【操作系统/OS笔记19】数据块缓存

数据块缓存是提高系统效率的关键,通过在内存中存储硬盘数据以加速访问。缓存方式包括按需读取和预读取,其中页缓存将数据块与内存页统一管理。基于分页的缓存机制结合了虚拟内存,使得文件数据块的读写变为对内存的访问,但页置换策略需权衡进程页和文件页缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次笔记内容:
12.11 数据缓存

数据缓存的目的

在这里插入图片描述

如上图,从硬盘访问要比从内存访问慢很多,因此需要在内存中开辟一块缓存数据的区域。接下来的访问都会在内存中,即buffer数据缓冲技术。

数据缓存的方式

数据块按需读入内存:

  • 提供read()操作;
  • 预读:预选读取后面的数据块。

数据块使用后被缓存:

  • 假设数据将会再次被使用;
  • 写操作可能被缓存和延迟写入。

两种数据块缓存方式:

  • 普通缓冲区缓存;
  • 页缓存:统一缓存数据块和内存页。

基于分页的缓存机制

在这里插入图片描述

如上图,将缓存机制与页结合起来,使系统更方便访问数据。

分页要求:

  • 当需要一个页时才将其载入内存。

支持存储:

  • 一个页(在虚拟地址空间中)可以被映射到一个本地文件中(在二级存储中)。

文件数据块的页缓存:

  • 在虚拟内存中文件数据块被映射成页;
  • 文件的读/写操作被转换成对内存的访问;
  • 可能导致缺页/设置为脏页;
  • 问题:页置换,从进程或文件页缓存中如何选择?答:类似之前页替换的算法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值