理解操作系统
本文共989字,用简单的类比探索计算机科学的哲理。
01
内存像什么
我在《理解操作系统:就像吃饭一样》文章中这样类比,缓存/内存就像是饭桌上人们面前的大小餐盘一样,堆栈即是餐盘里菜肴和饭粒。
类比这种方法并不严谨,但它会帮你快速找到自己想要的方向。
内存在计算机里以内存条的形式出现,从外表来看,它的构成是“金手指”、硅板和大规模集成电路组成,大规模集成电路也就是我们所称的内存颗粒。
对于操作系统而言,这些东西都无关紧要。
对于操作系统而言,它就是动态随机存取存储器(Dynamic Random Access Memory,DRAM)。
数据在这里倒个手,是个“黄牛”,是个餐盘,是个斟酒器,是个快递中转点。
02
内存寻址设计哲学
为了快!这就是操作系统内存寻址机制的第一大哲学。
CPU时钟频率过高,内存跟不上了,那就加缓存机制,把会大概率的连续数据从主存读到缓存,从缓存读的多快。
这就好比,盘子里装了不少东西要吃,嘴吃的也很快,但整个盘子端起来太重也容易找不着先吃哪个后吃哪个,就再弄个小碟子,拿在手里,方便,缓存有点像吃火锅用的小蘸料碟一样。
屏蔽与封装!第二大哲学。
不直接把物理地址暴露给进程,把虚拟地址(线性地址)暴露给进程,通过分页分段的方法,然后解决了碎片化和共享内存的问题,也从机制上保证了一层安全性!
这就好比,吃盘子里的饺子,饺子如果没包好,散着用勺子舀起来吃,和整个饺子的量一样,但这麻烦的,也不好吃,包起来饺子都看的差不多,但吃一口就知道是什么馅了,要是可以用点醋、芝麻等标记一下,吃的人就知道吃的是什么馅的了。
分级和分优先级!第三大哲学。
避免冗杂,内存分页目录和页表数目过多影响了内存的“快”哲学,那就分多级目录,老是命中某个内存块,那就把这个映射关系加入到最高优先级的高速映射表里。
像不像候车厅里或者地铁里排队哲学,同样100人等着,加入护栏和分割绳,一切就有序起来,真正需要快速插队的工作人员或者老弱病残孕也能快速的通过。怎么类比到吃饭上呢?那就是挑拣食物的癖好了呀。
03
内存的小秘密
最先加载到内存的是BIOS,然后是内核,然后是各种驱动和操作系统管理软件,然后是全部的文件系统,所以内存的分页也是按照这些顺序分配,并且还要给他们预留出相应的分页空间。
内存大页可以将分页大小调整,从而减少由虚拟地址到物理地址的映射表的大小,提高内存寻址的效率,在虚拟化技术里很常见哦。
往期推荐
操作系统各种延时时间
校验:持久系统的检查官
点击蓝字
关注我们