vmm
文章平均质量分 76
Ensighine
IT考古,翻新酒瓶
展开
-
文件系统cache机制
复杂度3/5机密度3/5最后更新2021/04/27AIX并未采用传统Unix的cache模式。传统Unix(包括Linux)的cache模式是把cache作为一个单独的旁路应用,嵌入在文件读写的路径中。当应用请求读文件时,kernel从磁盘将数据读到kernel的cache空间,然后把数据转给应用;应用请求文件写的时候,应用把数据发给kernel,kernel根据配置参数,或者只把数据保存在cache空间就返回(回写write back模式),或者保存到cache空间之后再继续写磁盘,完成后才返回(原创 2021-04-27 13:12:17 · 692 阅读 · 0 评论 -
VMM物理内存、虚拟内存管理,偷页算法
复杂度3/5机密度3/5先总结一下上文。AIX VMM设计了独特的缓存文件数据管理模式,既将缓存的文件数据与对其它类型虚拟内存(例如,进程数据、进程堆栈等等)的管理集成到一起,文件数据缓存也通过页方式管理,如同进程的虚拟内存一样。AIX根据实际访问需要将页映射到物理内存: 如果应用程序访问/引用(reference,read or write)某个页面,而该页面并没有映射到实际内存中(不在PFT),那么系统将产生一个page fault缺页中断。为了解决缺页,AIX 内核会将所引用的页面加载到实际物理内原创 2021-04-25 12:55:36 · 513 阅读 · 0 评论 -
内存段及内存管理
复杂度3/5机密度3/5最后更新2021/04/25前面介绍过内存分配以段为组织进行分配,也就是不同特性的内存申请会从不同的segmeng中分配,每个segment都维护着sbrk和max_stack两个值,用于验证页面是否合法。如果不合法,当前进程会直接被core dump掉,而如果是内核进程,则可能会导致整个系统dump。另一个检验是DMA,此处的DMA不是跨体系的(server内存和io设备内存之间的映射),而是跨驱动或者跨进程的异步操作,当前进程把访问请求交给接手的进程后,两者之间数据通信可原创 2021-04-25 11:09:04 · 126 阅读 · 0 评论 -
内存访问实现细节
复杂度3/5机密度4/5最后更新2021/04/22这是很粗略的细节,只大概走一遍流程。每个进程在自己有效地址空间的数据被映射到操作系统统一的虚拟地址空间。鉴于几乎所有程序仅仅使用很少一部分全部可寻址地址空间,只有真实有数据的虚拟地址空间的页面(所谓被reference到)才会被真实分配、记录和管理。每当CPU执行时需要访问某个地址,会根据PFT(Page Frame Table,又被称为HWPFT既Hardware PFT)查找对应的物理内存页面,这是CPU物理实现的,因此查找过程非常快,但正因为原创 2021-04-22 11:43:18 · 159 阅读 · 0 评论 -
内存段分配方案
复杂度3/5机密度3/5最后更新2021/04/21每个进程都有自己的有效地址空间。这个地址空间有些段已经预先被分配或占用(共享),有些等待进程自己进行分配。对进程来说,有2个参数4种组合:32位或64位程序内核态进程或者用户态进程32位用户态进程的有效地址内存段分配方案如下:段用途属性0AIX kernel共享,只读1用户进程共享,只读2Data, BSS, stack, Ublock, uthread, heap私有,读写3-C共享数据原创 2021-04-21 18:04:58 · 145 阅读 · 0 评论 -
VMM地址映射
复杂度3/5机密度3/5原创 2021-04-21 13:35:07 · 183 阅读 · 0 评论 -
VMM基础
复杂度3/5机密度3/5最后更新2021/04/20VMM Virtual Memory Management是所有操作系统都要解决的问题,也是非常硬件相关的问题,必须从硬件CPU的地址管理开始谈起。原创 2021-04-20 16:48:50 · 1249 阅读 · 0 评论