一、页式存储基本原理
(一)内存划分
页式存储首先将内存物理空间划分成大小相等的存储块,这些块通常被称为“页帧”或“物理页”。每个页帧的大小是固定的,例如常见的页帧大小有4KB、8KB等,这个大小由操作系统决定。同时,操作系统会为每个页帧分配一个唯一的编号,即页帧号。
(二)程序划分
与内存物理空间的划分相对应,页式存储也将要运行的程序的逻辑地址空间划分成大小与页帧相同的“页”。这些页在逻辑上连续,但在物理内存中可以不连续存放。每个页也被分配一个唯一的编号,即页号。
(三)页表管理
页式存储通过页表来管理逻辑页与物理页帧之间的映射关系。页表是一个数据结构,它记录了每个逻辑页对应的物理页帧号。当程序访问某个逻辑地址时,操作系统会首先查找页表,找到该逻辑地址对应的物理页帧号,然后结合页内偏移量(即逻辑地址中除去页号的部分)来确定最终的物理地址。
(四)内存分配与访问
- 内存分配:当程序被装入内存时,操作系统会根据程序的逻辑页大小,将程序的页逐一装入到内存中的空闲页帧中。这个过程可以是静态的(即程序执行前全部装入),也可以是动态的(即程序执行过程中根据需要装入)。
- 内存访问:当程序运行时,它会产生