|
楼主 |
发表于 2009-9-28 21:40:59
|
显示全部楼层
问题是,程序发出一个地址(此时是虚拟地址),如何判断它是否合法呢?
btw,基址加极限的意思就是基址加偏移址极限。
Post by openware;2031332
在页式管理中,程序所用的地址是虚拟地址空间的地址,不是真正的物理地址。在虚拟地址管理机制中,跟物理地址管理一样,也将地址空间分成相等大小的若干块,其中每一块就叫做页,而且虚拟页的大小跟物理页的大小是一样的。既然程序的所用的地址是虚拟地址,那么它是如何找到物理地址的呢?这在虚拟地址空间和物理地址空间中间就存在一个转换(就是一张表),表中的内容是虚拟地址空间到物理地址空间的映射(其实只要始地址映射上就行了)。
在虚拟存储管理机制中,如果程序的地址空间不超过一页,那么就把一整页分给它,这时程序的虚拟地址空间就是连续的了;如果其地址空间超过一页,就分多页存放,多页之间不一定非得是连续的,只要能保证它们之间的链接就行。然后在程序运行时,就去查表找对应的物理地址就行了。
还有那个“基址与极限”是不是应该是”基址与偏移量“啊? |
|