关于虚拟地址的问题
cpu为每个进程提供4g的虚拟地址 而每个虚拟地址又对应物理地址 那么不还是不够用?怎么能每个进程用4g呢?? 关于虚拟地址的问题
[解决办法]
可以 参考 Windows 操作系统的虚拟内存方式。
[解决办法]
嗯,我来说下自己的观点,cpu为每个进程提供4g的虚拟空间是没错的,但是有一点,进程的并发性,在同一时刻只能有一个进程在运行,这个时候是该进程独享4g的空间的。
[解决办法]
1)虽然每个进程都拥有4G的虚拟空间,但是当它投入运行前,需要将虚拟空间映射到实际的物理空间之后,才能够转到物理空间中真实地运行;
2)尽管每个进程都拥有4G的虚拟空间,但每个进程实际可能只需占用几百K,或几百兆虚拟空间;
3)由1)可知,即使进程之间占用的虚拟空间存在重叠,也不会产生任何矛盾。因为,只需要将各个进程占用的虚拟空间分别映射到物理空间中不同的区域,各自独立运行就行了;
4)如果系统的物理空间不够分配给多个迸发的进程同时使用,那么就存在资源(这里是内存)竞争,通过调度,会将某些进程挂起等待。