字节面经-操作系统页表管理
例子:32位虚拟内存地址
- 10bit页目录+10bit二级页表+12位页内偏移
- CR3->10bit页目录KV式查询->10bit页表前20位物理地址->物理地址32bit=前20bit查询得到+原始页内偏移12bit
缺页中断(虚拟内存)(LRU算法)
- 寻找到一个空闲的页。或者把另外一个使用中的页写到磁盘上(如果其在最后一次写入后发生了变化的话),并注销在MMU(内存管理单元)内的记录
- 将数据读入被选定的页
- 向MMU注册该页
快表(快表快不仅在于少了几步寻址,而且在于其使用的存储材质)(同关联LRU)
- 按照逻辑地址中的页号查快表
- 若该页已存在快表中,则由页架号和单元号形成绝对地址
- 若该页不在快表中,则再查主存页表,与单元号形成绝对地址,同时将该页登记到快表中
- 当快表填满后,又要登记新页时,则需要按照一定替换策略淘汰一个旧的登记项
用户态内核态
https://www.zhihu.com/question/397142622