虚地址空间: 也称虚拟存储空间或虚拟存储器空间,它是应用程序员用来编写程序的地址空间,这个地址空间非常大。对应于虚拟地址(虚地址)
主存储器的地址空间: 也称主存地址空间、主存物理空间或实存地址空间,对应于主存地址(物理地址、实地址)
辅存地址空间: 也就是磁盘存储器的地址空间,对应于辅存地址(磁盘存储器地址)
基本原理
虚拟存储系统是由主存储器、辅助存储器以及进行地址转换的软硬件构成。在虚拟存储系统中,把虚拟存储器、主存储器和辅助存储器都划分为相同大小的单位,主存中的内容是辅存中的内容的副本(逻辑上,程序是在虚存中,物理上,程序存储在辅存中)。用户只面对虚存编程。计算机得到虚地址后,那么将辅存的内容掉入主存,如果主存已满,那么将采纳合适的替换算法
3.7.2 页式虚拟存储器
逻辑地址和物理地址的转换。
段式虚拟存储器
段:利用程序的模块化性质,按照程序的逻辑结 构分成的多个相对独立的部分。段可以被其他程 序段调用,形成大型程序。
程序段可以是主程序,也可以是各种子程序,还 可以是数据块、数组、表格、向量等。每个程序 段都从0地址开始,长度可长可短,甚至可以在 程序执行时动态地改变程序段的长度。虚拟存储 空间是由多个段构成。把主存也按段来进行分配。
段式虚拟存储器:
每一道程序(或一个用户、一个进程等)由一张段 表控制,每个程序段段表中占一行。段表的內容 主要包括段号、段长和起始地址等三个字段。如果 段号是连续的,则这一字段可以省掉,只要根据起 始地址和段长,就能够把该程序段唯一地映象到主 存储器的确定位置中。另外,根据需要还可以在段 表中增加其它信息,如指出该程序段的访问方式
(可读可写、只读、某些用户可写、只能执行等)、 是否已经装入主存的标志、是否被修改过的标志等。
注意:
- 段长不固定
- 段间有碎片
- 通过逻辑地址找段号,然后找物理地址