操作系统学习笔记(十一):非连续内存分配——段式存储管理

段式存储管理中,将程序的逻辑地址空间内容分为不同的段进行管理,逻辑地址空间与物理地址空间之间的映射关系图可以如下所示:每个段内部是连续的,但是不同的段在物理内存上是不连续的。

操作系统学习笔记(十一):非连续内存分配——段式存储管理_第1张图片

段的概念:

  • 段表示访问方式和存储数据等属性相同的一段地址空间;
  • 一个段对应一个连续的内存块;
  • 若干个段共同组成进程的逻辑地址空间。

段访问:

逻辑地址由二元组 (s, addr) 表示。其中 s 表示段号,addr 表示段内偏移量。如下图:

操作系统学习笔记(十一):非连续内存分配——段式存储管理_第2张图片

硬件实现:

如下图所示:在程序P运行过程中,CPU要访问逻辑地址中的某个位置,已经知道段号与偏移。操作系统中维护段表,段表记录段号对应的基址与长度,首先MMU比对偏移量与段号对应的长度,如果偏移量大于长度说明操作不合法内存异常,否则是合法的,此时将段基址与偏移相加得到真实物理地址,然后进行访问。

操作系统学习笔记(十一):非连续内存分配——段式存储管理_第3张图片

你可能感兴趣的:(操作系统学习:清华大学学堂在线)