内存分段分页机制理解_理解操作系统:就像吃饭一样(内存篇)

理解操作系统

d27b346db817f1c1d25942cd31a09eba.png

本文共989字,用简单的类比探索计算机科学的哲理。

01

内存像什么

我在《理解操作系统:就像吃饭一样》文章中这样类比,缓存/内存就像是饭桌上人们面前的大小餐盘一样,堆栈即是餐盘里菜肴和饭粒。

类比这种方法并不严谨,但它会帮你快速找到自己想要的方向。

内存在计算机里以内存条的形式出现,从外表来看,它的构成是“金手指”、硅板和大规模集成电路组成,大规模集成电路也就是我们所称的内存颗粒。

对于操作系统而言,这些东西都无关紧要。

对于操作系统而言,它就是动态随机存取存储器(Dynamic Random Access Memory,DRAM)。

数据在这里倒个手,是个“黄牛”,是个餐盘,是个斟酒器,是个快递中转点。

02

内存寻址设计哲学

d49acd34323343168f1f2770c009ee59.png

为了快!这就是操作系统内存寻址机制的第一大哲学。

CPU时钟频率过高,内存跟不上了,那就加缓存机制,把会大概率的连续数据从主存读到缓存,从缓存读的多快。

这就好比,盘子里装了不少东西要吃,嘴吃的也很快,但整个盘子端起来太重也容易找不着先吃哪个后吃哪个,就再弄个小碟子,拿在手里,方便,缓存有点像吃火锅用的小蘸料碟一样。

b03a2992d8bd2f4a35cf325d55315c5f.png

屏蔽与封装!第二大哲学。

不直接把物理地址暴露给进程,把虚拟地址(线性地址)暴露给进程,通过分页分段的方法,然后解决了碎片化和共享内存的问题,也从机制上保证了一层安全性!

这就好比,吃盘子里的饺子,饺子如果没包好,散着用勺子舀起来吃,和整个饺子的量一样,但这麻烦的,也不好吃,包起来饺子都看的差不多,但吃一口就知道是什么馅了,要是可以用点醋、芝麻等标记一下,吃的人就知道吃的是什么馅的了。

b76534cabbbe254063d2bf3524e23b52.png

分级和分优先级!第三大哲学。

避免冗杂,内存分页目录和页表数目过多影响了内存的“快”哲学,那就分多级目录,老是命中某个内存块,那就把这个映射关系加入到最高优先级的高速映射表里。

像不像候车厅里或者地铁里排队哲学,同样100人等着,加入护栏和分割绳,一切就有序起来,真正需要快速插队的工作人员或者老弱病残孕也能快速的通过。怎么类比到吃饭上呢?那就是挑拣食物的癖好了呀。

03

内存的小秘密

最先加载到内存的是BIOS,然后是内核,然后是各种驱动和操作系统管理软件,然后是全部的文件系统,所以内存的分页也是按照这些顺序分配,并且还要给他们预留出相应的分页空间。

内存大页可以将分页大小调整,从而减少由虚拟地址到物理地址的映射表的大小,提高内存寻址的效率,在虚拟化技术里很常见哦。

bf6349a7c9bbfc7e26e3707e52189606.png

往期推荐

操作系统各种延时时间

校验:持久系统的检查官

点击蓝字

关注我们

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值