前言
很多技术点解决的主要矛盾就一个,并且也是在特定条件下解决某些问题。特此梳理能够相互关联并且备忘
内核技术解决核心问题梳理
术语 | 解决核心问题 | 核心点-本质 | 对立面 | 解释 | 其他 | 技术类型 |
---|---|---|---|---|---|---|
页 | 虚拟物理内存碎片 | 固定大小 | 非固定大小 | 进程来回申请释放多次,非固定大小易碎片 | - | 革命型 |
伙伴系统 | 内存碎片 | 分配和释放相同大小 | 随机分配大小(释放合并难) | - | 缺点:释放合并时机少等。释放和再分配空间不一致难规整造成 | 革命型 |
内存规整 | 内存碎片 | 解决多页空洞一级,解决钉子户 | - | - | - | 打补丁型(补伙伴的补丁) |
页面迁移 | UNMA节点搬迁 | 迁移内存到cpu-cache-mem一致加速 | cpu和内存不在一起 | - | - | 锦上添花型 |
页面回收 | 物理内存不够 | 页面存储到磁盘 | - | - | - | 迭代型 |
虚拟内存 | 支持多进程 | 进程有自己的虚拟地址空间 | 多进程直接瓜分物理内存 | 直接映射物理内存限制task数量,利用率也低 | - | 革命型 |
按需映射 | 节约内存 | 虚拟内存前提下,节约管理表项 | 虚拟内存全映射 | 虚拟内存都全映射,task多了PT表占用太大 | 按需映射是解决虚拟内存条件下的问题讨论需要在虚拟内存的逻辑里 | 革命型 |
多级页表 | 提高查表速度 | 全局固定PT表项相同,使用hash散列加速 | 一级页表查询 | 多级一级查询的总量都是一级页表的PT术,多级可以加速 | MMU的TWB是硬件查询可以并行 | 打补丁型(补按需映射的补丁) |
KSM | 虚拟机节约内存 | 计算相同页,物理页写时复制,cpu算力换空间 | 虚拟机保存相同物理页 | - | Kernel Samepage Merging内核同页合并 | 锦上添花型 |
综述
在梳理中会不断发现一些技术是为了弥补另外一些技术,是补丁也是优化。如此可以更系统更全面的认识之前的技术。
以上内容观点有多表达不准确,以后逐渐迭代
不断推翻不断迭代