首页 > 其他 > 详细

啥是内存and磁盘

时间:2021-04-23 00:25:58      阅读:15      评论:0      收藏:0      [点我收藏+]

0.对内存磁盘的简单理解

还是对之前那个简单计算机的思考

一个计算机的基本功能 输入 + 运算 + 输出

但是这里还有个问题,如果我想重复计算 想一个小时之后把之前的运算再做一次,这样是不是需要计算机找个地方存数据啊

计算机存数据的地方大概分几种 cpu寄存器,Cache高速缓存,主存,磁盘

技术分享图片

 

 

从图中看就能看明白个大概,寄存器这东西就是cpu自带的一点点空间,速度最快 ns级别,

主存就是我们常说的内存,空间大概1-8G,速度大于是寄存器的十倍,

高速缓冲存储器Cache主要是为了解决CPU和主存速度不匹配而设计的。 (它的存取速度接近CPU,它比主存的优先级高,CPU存取信息时优先访问Cache,找不到的话再去主存中找,同时把信息周围的数据块从主存复制到Cache中。)

最后是磁盘,空间最大,我们就可以理解为计算机乱七八糟的东西都可以存在这 但是访问速度下降一大个级别,没关系 因为有可能你某盘下存的那些资源又不会访问的太频繁(狗头)

 

最后说一下就是 作为一个本分朴实的java程序员,我们大概率的优化都在搞内存和磁盘的优化,包括一些框架,一些中间件的设计也是基于这两点和IO在搞优化

 

1.啥是虚拟内存

这个之前有写过,简单的说就是实际的物理内存就4个G那么大,我开了一个LoL应用那内存不就占满了 连挂个QQ都不让了

实际上无论是LoL还是QQ都对于持有计算机内存的概念都是虚拟内存,这东西就很虚了,计算机说我给你LoL分配了4个G的虚拟内存,其实实际物理内存可能就1G 可能还包括点磁盘空间 还画点大饼,

计算机估计一下给你那么多实际内存太浪费了,其实你省着点用1G就够用了,能省则省原则。假如LoL跑着跑着突然想访问一页数据,说好了应该在内存里的 现实却是还在磁盘上,

咋整呢 当虚拟地址映射找不到这块地址页马上CPU缺页中断,通过地址变换 将磁盘地址页加载到内存 再给LoL拿去玩

所以实际上让LOL感觉自己占了4G内存,其实是和其他几个小伙伴忽悠来一起用的这4G空间,只不过被虚拟内存连忽悠带骗,拆了东墙补西墙凑上的。

比喻的有点蛋疼,, 还是看原文吧  虚拟内存与Linux层级结构

 

啥是内存and磁盘

原文:https://www.cnblogs.com/ttaall/p/14690613.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!