操作系统内核开发实战-虚拟内存管理.pdf

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统内核开发实战-虚拟内存管理

操作系统内核开发实战(6 ) 虚拟内存管理 伯松,阿里集团 王智通,阿里云 前序课程回顾 Ø  内核引导 最基本的内核编译和加载的概念 Ø  保护模式基础 理解x86架构下开发操作系统内核所需的体系结构基本知识点 Ø  系统调用 应用程序访问内核和与其它进程通信的接口与基本实现原理 Ø  进程调度 最基本的进程调度和进程切换算法与实现细节 Ø  物理内存管理 不同物理内存对象的管理内容和算法 本节课将介绍用户态地址空间虚拟内存管理的原理和代码实现 虚拟内存管理—— 内容概要 •  虚拟内存管理(VMM)主要工作 •  VMM的硬件/软件支持 •  内存映射与虚拟内存分配 •  内存映射与共享内存 •  TLB缓存与大内存页 •  课程小结 虚拟内存管理——主要工作 •  内存映射(mmap) •  堆管理(heap) •  栈管理(stack) •  按需分配内存(pagefault) •  地址空间保护(#PF/#GP) •  页交换(swapping) •  页缓存(paging) 本课程主要涉及前5点,后2点在MLXOS中没有实现。 虚拟内存管理——VMM的硬件和软件支持(x86架构) 内存管理单元MMU •  CPU的组成部分 •  逻辑地址,物理地址转换 •  线性地址,物理地址转换 •  内存访问地址保护 内存管理相关的数据结构 •  段寄存器 •  段选择子 •  页表,页目录表,页目录指针表 •  控制寄存器(CR0,CR2,CR3) 软件和硬件结合起来,协同实现虚拟内存管理的地址 转换和访问地址保护。 虚拟内存管理——VMM的硬件和软件支持 (Cont.) 复习保护模式的内容 内存管理相关的数据结构 •  全局述符表 •  段寄存器 •  段选择子 •  页表,页目录表,页目录指针表 •  控制寄存器(CR0,CR2,CR3) 软件和硬件结合起来,协同实现虚拟内存管理的地址 转换和访问地址保护。 虚拟内存管理——VMM的硬件和软件支持 (Cont.) 复习保护模式的全局述符 MLXOS初始化段寄存器的全局述符表 通过选择子来将相应属性加载到段寄存器中 虚拟内存管理——VMM的硬件和软件支持 (Cont.) 复习保护模式的段选择子 MLXOS的全局述符表的述符,用来加载全局述符 表到全局述符表寄存器 加载全局述符,以及代码段、数据段地址的操作 虚拟内存管理——VMM的硬件和软件支持 (Cont.) 复习保护模式的页表(1) MLXOS启动时初始化的头32MB 物理内存对应的页目录表。 每个页目录表项对应4MB物理 内存,每块物理内存由稍后的 4KB页表组织 虚拟内存管理——VMM的硬件和软件支持 (Cont.) 复习保护模式的页表 (2) 以页目录表第一项的内容为例: long 0 最后三位027表示 地址 0在地址由符号 ENTRY(pg0)标记,即第0个页目 录表地址,大小为0x1000(4KB), 管理4MB的(非必须连续)物理内 存空间。 虚拟内存管理——VMM的硬件和软件支持 (Cont.) 复习保护模式的控制寄存器 CR0: PG PE 0 0 实模式 0 1 保护模式,未打开分页 1 0 无效 1 1 保护模式,打开分页 CR1:未定义 CR2:保存触发PageFault时的线性地址 CR3:页目录的物理地址 虚拟内存管理——VMM的硬件和软件支持 (Cont.) 复习保护模式的打开页寻址功能 虚拟内存管理——VMM的硬件和软件支持 (Cont.) 复习保护模式相关

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档