虚拟存储器 与虚拟内存详解

  • Post author:
  • Post category:其他


在没有虚拟存储器之前

源程序在gcc –o 后生成的文件是可执行目标程序a.out,每条指令都有一个逻辑地址 32位。它存在硬盘上。

要执行时,只需找到该文件,将其装入内存。

装入的方式可以有多种,比如分页,分段等等。

但是,必须将该程序完全装入内存。

分页:将一个进程的逻辑地址空间(32位)分成若干大小相等的页。

使用分页方式时有一个问题,必须清楚:


os


是根据文件系统找到的


a.out


,跟


a.out


的逻辑地址没有一点关系

假如a.out是3个页大小,

就将这3个页分别装入内存,

装入内存的过程中将逻辑地址转换为物理地址。

如果内存为1G 每个程序的大小是100M,那么该os最多只能装10个程序。

虚拟存储器的定义:


具有请求调入功能和置换功能

,能从逻辑上对内存容量加以扩充的一种存储系统。


即,程序在运行之前,没必要全部装入内存,

仅把当前要运行的页装入即可,当程序运行时,如果需要其它页面,再进行页面调入或者置换。</



版权声明:本文为bingjing12345原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。