理解操作系统3——内存模型和地址空间

内存(RAM)是计算机系统中重要的资源。内存属于掉电易失性。

根据冯诺依曼计算机体系结构,计算机是以存储器为核心的。

分为五大部件:运算器、控制器、存储器、输入设备、输出设备。

存储器又包括寄存器、内存;CPU整合了寄存器、运算器、控制器;输入输出设备统称I/O设备(外部存储器即磁盘也属于I/O范畴);

经过整合一下:CPU(还包括缓存Cache)、内存、I/O设备

操作系统是怎样对内存创建抽象模型并且怎样管理内存呢?

另外又不得不先提到一个概念存储管理。人们提出了分层存储器体系

理想情况下,人们希望有这样一个存储器:私有的、容量无限大、速度无限快,并且是永久性掉电不易失的。

很遗憾目前没有这种的技术手段去实现这一目标。存储系统层次存储体系的提出就是解决这个矛盾的。

综合考虑了容量、速度、成本三大因素。

以存储器为核心的计算机系统结构当然希望存储器与运算器/控制器交换数据的速度越快越好,最好和运算器/控制器的运行速度一样快。

显然数据交换速度成了制约运行效率的重要因素

寄存器的速度是最快的,然后是缓存的速度,再后面是内存,最慢的是磁盘。速度一次递减;

但是越靠近CPU,速度越高,其成本越高,造价越高也就限制了容量的大小。

寄存器的容量最小,然后缓存大一些,但还是不够大,可能就几十M。再后面是内存,可以做到几个G。最后是磁盘可以做到几百G;

不过利用程序的局部性原理,尽量将CPU此时可能大概率访问到的少量数据放到寄存器、缓存中。这样就减少CPU和低速率存储器的数据交换,也就能提高计算机整体的运行速率了。

这是利用这种局部性和存储器分层体系,很好地解决了容量、成本、速度三者的矛盾关系。达到了某种程度的平衡。

==================================================================

相关链接:

计算机层次化存储体系:https://blog.csdn.net/guohexiaoming/article/details/89209061

计算机体系结构和存储分层体系:https://blog.csdn.net/qq_42381849/article/details/90231377

猜你喜欢

转载自www.cnblogs.com/grooovvve/p/11605417.html