缓存的位置

简介:
缓存的位置是很有说头的,在windows里,因为内核设计思想就是将一切都映射到虚拟内存空间(便于通过其强大又复杂的内存管理器来进行一致化管理),那么文件缓存当然也映射了一片虚拟内存(记得曾几何时是512k,可以动态微调),当访问文件的时候,如果是缓冲读写,那么io管理器会将访问重订向到缓 存地址空间,如果缓存地址空间没有需要的数据那么就会发生缺页,接着内存管理器就会接管这次缺页处理最终读写文件并将文件内容映射到文件缓存地址空间,接着缓存再将内存返给用户进程,缓存既然被映射,实际上就要接受内存管理器的管理。 

而在linux中,文件缓存位于“基树”(2.4内核位于全局哈希表),这颗树并没有被映射,也就是说没有映射到虚存空间,文件缓存页面是游离的内存页面,它全靠基树缓存自身的一些机制来管理缓存,统一性稍逊一筹,但是你不得不为其巧妙的设计感叹。在linux中,内核认为并不是任何东西都是虚存映射的对象,它认为虚存仅仅是与内存访问和用户进程相关联的,像缓存这种东西是自成体系的,应该有自己的体系结构,没有必要和内存管理模块耦合,内存管理也没有 任何理由来承担所有的责任。这种设计比较松散,耦合性极小,特别适合移植,比如往没有mmu的嵌入式设备移植,linux只需要修改内存管理模块,而 windows就要傻笑了。



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1274172

相关文章
|
缓存
idea更改默认缓存位置步骤
在idea使用中,会产生大量的缓存,一般默认存放在C盘里面,会加大C盘的储存负担,如果C盘足够大,可以不考虑更改idea的缓存位置
2535 0
idea更改默认缓存位置步骤
|
缓存 资源调度
修改yarn的默认安装和缓存位置
修改yarn的默认安装和缓存位置
676 0
|
缓存 Windows
Windows图标显示异常解决方法。桌面图标异常,开始菜单图标异常,任务栏图标异常。图标缓存位置。
Windows图标显示异常解决方法。桌面图标异常,开始菜单图标异常,任务栏图标异常。图标缓存位置。
948 0
Windows图标显示异常解决方法。桌面图标异常,开始菜单图标异常,任务栏图标异常。图标缓存位置。
|
存储 缓存 Python
Python 技术篇-pip安装的python库缓存位置查看方法,如何查看python库源码
Python 技术篇-pip安装的python库缓存位置查看方法,如何查看python库源码
609 0
Python 技术篇-pip安装的python库缓存位置查看方法,如何查看python库源码
|
1月前
|
存储 缓存 NoSQL
解决Redis缓存数据类型丢失问题
解决Redis缓存数据类型丢失问题
175 85
|
3月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
94 6
|
7天前
|
存储 缓存 NoSQL
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
|
7天前
|
缓存 NoSQL 关系型数据库
云端问道21期实操教学-应对高并发,利用云数据库 Tair(兼容 Redis®)缓存实现极速响应
本文介绍了如何通过云端问道21期实操教学,利用云数据库 Tair(兼容 Redis®)缓存实现高并发场景下的极速响应。主要内容分为四部分:方案概览、部署准备、一键部署和完成及清理。方案概览中,展示了如何使用 Redis 提升业务性能,降低响应时间;部署准备介绍了账号注册与充值步骤;一键部署详细讲解了创建 ECS、RDS 和 Redis 实例的过程;最后,通过对比测试验证了 Redis 缓存的有效性,并指导用户清理资源以避免额外费用。