欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

操作系统-段页结合的实际内存管理

程序员文章站 2022-03-16 21:36:05
段、页结合:程序员希望用段,物理内存希望用页,所以、、、 从虚拟内存中割出一个区域来给这个段,段就有了映射,但是这个虚拟内存不能正真的使用,需要把虚拟内存再映射一次,这个时候虚拟内存中的段分割成固定大小的页,每一页再去映射到物理内存中 1. 段、页同时存在 段面向用户,页面向硬件 2. 段页同时存在 ......

段、页结合:程序员希望用段,物理内存希望用页,所以、、、

操作系统-段页结合的实际内存管理

从虚拟内存中割出一个区域来给这个段,段就有了映射,但是这个虚拟内存不能正真的使用,需要把虚拟内存再映射一次,这个时候虚拟内存中的段分割成固定大小的页,每一页再去映射到物理内存中

1. 段、页同时存在

段面向用户,页面向硬件

操作系统-段页结合的实际内存管理

2. 段页同时存在用的重定位

也就是地址翻译

从用户的角度来看就是段的访问,从物理内存的角度就是分成一页一页

操作系统-段页结合的实际内存管理

3. 一个实际的段页结合

操作系统-段页结合的实际内存管理

1. 段页式内存下程序如何载入内存?

  1. 虚拟内存割出一段区域给给用户,存放数据段、代码段
  2. 把用户的数据段分割成页,再给到物理内存上

操作系统-段页结合的实际内存管理

2. 从fork()开始

  1. 分配虚拟内存
  2. 建立段表

操作系统-段页结合的实际内存管理

进程0、进程1、进程2的虚拟地址

操作系统-段页结合的实际内存管理

3. 接下来

  1. 分配内存
  2. 建立页表

操作系统-段页结合的实际内存管理
操作系统-段页结合的实际内存管理
操作系统-段页结合的实际内存管理

4. 子进程和父进程都指向同一页

操作系统-段页结合的实际内存管理

5. 程序+虚拟内存+物理内存

操作系统-段页结合的实际内存管理

6. *p=7?

父进程*p=7 ,

子进程*p=8

操作系统-段页结合的实际内存管理