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

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

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

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

posted @ 2020-03-28 21:51  达达i  阅读(642)  评论(0编辑  收藏  举报