
所谓程序浮动,就是在运行过程中采取相对地址的技术来芹段实现。
1.除了一些特定的情况或者在早期的计算机中,程序在MEMORY中的位置是肯定的,比如会有BOOTLOADER把程序读到一个确定的位置。
2.而现在的计算机基本上这种情况比较少见了,除了一些 *** 作系统的引导过程,这就带来了一个问拿首陵题,就是在程序(特别是用ASM写的程序)中制定的一些数据的位置是不确定的。
3.比如你原来想读一个1500位置上的消戚数据,但是实际上这个1500到底存了什么是不确定的,所以,采用了相对地址的策略,即所有的数据都是假设程序开始(ORG)位置为0的相对地址。
4.所谓程序浮动,就是针对这样一种情况,在运行过程中采取相对地址的技术来实现的,建议去看看LINUX BOOTLOADER的代码,会理解的比较清楚。
实现虚拟存储器的目的是实现存储保护。
虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交洞大轮换。
虚拟内存的作用:
内存在计算机中的作用很大,电脑中所有运行的程序都需要仿槐经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。
为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。
举一个例子来说,如果电脑只有128MB物理内存纳信的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内存里储存的文件释放到原来的安装目录里了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)