高速缓存,缓冲区,对换区

江畔何人初见月?江月何年初照人?

文章目录


前言

这三个东西都是为了缓和高速设备和低速设备之间的速度不匹配而想出的策略

对换区

将磁盘分为对换区和文件区,对换区物理上使用连续分配的方式,文件区使用离散分配的方式,因此对换区的磁盘IO速度比文件区的更快。这样,当发生缺页请求时,这样当发生缺页中断的时候,尽量从文件区找你需要的块,UNiX方式,运行之前将进程有关的数据全部放到文件区,故使用过的页面都可以从文件区直接调入,若被使用过的页面需要换出,则写回对换区,下次需要从对换区调入,物理上是属于磁盘的

高速缓存

存放的是低速设备上的某些数据的复制数据,即高速缓存上有的,低速设备上必然有,高速缓存存放的是高速设备上经常要访问的数据,若是高速设备要稳定的数据不在高速缓存中,则高速设备就需要访问低速设备,常见的高速缓存是Cache,磁盘高速缓存计数则是利用内存中的存储空间来暂存从磁盘中读出的一系列盘块中的数据,因此,磁盘高速缓存逻辑上属于磁盘,物理上则是驻留在内存中的盘块。

缓冲区

存放的是低速设备传递给高速设备的数(或高速设备给低速设备的数据)而这些数据在低速设备(或高速设备)上却不一定有备份,这些数据再从缓冲区传送道高速设备(低速设备)

高速设备和低速设备的通信都要经过缓冲区,高速设备永远不会直接区访问低速设备,我们这个缓冲区通常是为了解决CPU与外设之间的速度问题,通常是于内存中,大家熟悉的SPOLLing技术就是使用的缓冲区

相关推荐
小宇子2B4 天前
一个 pthread_mutex_lock() 到底锁了什么——从用户态 CAS 到内核调度
操作系统
小宇子2B5 天前
多线程 malloc 为什么会变慢——glibc 的 arena 到 bins 全景
操作系统
fakerth10 天前
【OpenHarmony】communication_ipc模块
操作系统·openharmony
Coisinier10 天前
RHCE中shell脚本基础(磁盘剩余空间监控,Web 服务状态检查,curl 访问 Web 服务并返回状态)
linux·运维·服务器·前端·nginx·操作系统
小宇子2B11 天前
free 完再 malloc 同样大小,为什么常拿回刚还回去的那块?
操作系统
触底反弹13 天前
拷个 .exe 到新电脑就跑不起来?你缺的不是文件,是对链接的理解
c++·windows·操作系统
杊页13 天前
第一板块:Android 系统基石与运行原理 | 第二篇:Android 编译、打包与安装机制
android·操作系统
壮Sir不壮13 天前
GO语言——GMP调度模型
linux·开发语言·golang·go·操作系统·线程·协程
Surest13 天前
OpenHarmony 技术拆解(二):从 capability 看懂分布式软总线与任务迁移
操作系统
OpenAnolis小助手14 天前
如何利用 AI Agent 实现热补丁的自动化生成
人工智能·安全·ai·操作系统·agent·龙蜥