虚拟存储器作为存储管理工具

一.简化共享

虽然我们假设有一个单独的页表,将一个虚拟地址空间映射到物理地址空间,实际上,操作系统为每个进程都提供了一 个独立的页表,因而也就是一个独立的虚拟地址空间,下图展示了基本思想,在这个示例中,进程i的页表将VP 1映射到PP 2,VP 2映射到PP 7,相似的,进程j的页表将VP 1映射到PP 7,VP 2映射到PP 10,多个虚拟页面可以映射到同一个共享物理页面上.

二. 简化链接:

独立的地址空间允许每个进程的存储器映像使用相同的基本格式,而不用管代码和数据实际存放在物理存储器的何处,Linux系统上的每个进程都使用类似的存储器格式,文本节总是从0x08048000处开始(32位系统),或者从0x400000处开始(对于64位地址空间),数据和bss节紧跟在文本节之后,栈占据进程地址空间最高的部分,并向下生长.













 三.简化存储器的分配

虚拟存储器向用户进程提供一个简单的分配额外存储器的机制,当一个运行在用户进程中的程序要求额外的堆空间时,(如调用malloc的结果) ,操作系统分配一个适当的数字(例如k)个连续的虚拟存储器页面,并且将它们映射到物理存储空间个任意的位置,由于页表的工作方式,操作系统没有必要分配k个连续的物理存储空间,页面可以随机的分配.

四.简化加载

虚拟存储器还使得容易向存储器中加载可执行文件和共享文件.Linux 加载器分配虚拟页的一个连续的片,从地址0x08048000处开始( 对于32位地址空间)或者从0x400000处开始(对于64位地址空间),把这些虚拟页记为无效的(即未被缓存的),将页表条目指向目标文件中适当的位置,加载器从来不实际拷贝任何数据从磁盘到存储器,在每个页被引用时,要么是CPU取指令时引用,要么是一条正在执行的指令引用了存储器位置时引用的,虚拟存储器系统会按照需要自动的掉啊如数据页.

一、实验目的 1、了解虚拟存储器的基本原理和实现方法。 2、掌握几种页面置换算法。 二、实验内容 设计模拟实现采用不同内外存调度算法进行页面置换,并计算缺页率。 三、实验原理 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Window中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。 虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。它是采用一定的方法将一定的外存容量模拟成内存,同时对程序进出内存的方式进行管理,从而得到一个比实际内存容量大得多的内存空间,使得程序的运行不受内存大小的限制。虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。 虚拟内存的设置主要有两点,即内存大小和分页位置,内存大小就是设置虚拟内存最小为多少和最大为多少;而分页位置则是设置虚拟内存应使用那个分区中的硬盘空间。 1. 最佳置换算法(OPT):选择永不使用或是在最长时间内不再被访问(即距现在最长时间才会被访问)的页面淘汰出内存。 2. 先进先出置换算法(FIFO):选择最先进入内存即在内存驻留时间最久的页面换出到外存。 3. 最近最久未使用置换算法(LRU): 以“最近的过去”作为“最近的将来”的近似,选择最近一段时间最长时间未被访问的页面淘汰出内存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值