操作系统的知识很久以前看过,但是很多具体细节都忘得差不多了,
1.分页式存储管理基本原理:
分页式存储管理允许把进程分配到不相邻的分区中。
(1)首先将进程的逻辑地址空间划分为大小相等的块,且块相对比较小,每个块称为一页(Page),由页号和页内地址组成,页号从0开始,页内地址是相对于0的编址。
其次,将内存空间也划分为同样大小的块,每个块称为一页面(PageFrame)。
逻辑地址如下:
页号 | 页内地址 |
假设逻辑地址为A,页面大小为L,则页号和页内地址为:
页号=A/L
页内地址=A%L
(2)进程的逻辑地址进行划分之后,要将内存空间(物理结构)进行划分,划分是按照页面(逻辑)的大小将内存空间划分为同页的大小相同的区域,称为内存块(物理页面)。
2.内存分配:当进程将要运行时,内存以页为单位进行分配,操作系统会为进入内存的每个用户进程建立一张页表,记录进程逻辑地址空间的页号和内存物理地址空间中的页面号一一对应关系。同时系统还会建立一张作业表,将当前运行的作业的页表地址进行登记。
对应关系如图所示:
进程运行时,通过查找页表,就可以找到每页对应的物理页面号。页表就是实现从页号到物理块号的地址映射。