|
|
发表于 2005-11-22 09:08:49
|
显示全部楼层
Post by sybaselu
下面仅属个人理解:
我想也差不多,如果多个任务共享栈,那么如何处理退栈呢。不过你说的碎片产生与物理分配的方法有关,这里说的物理分配方法是指页或静态划分(经典OS理论提到的方法)吗? 是不是按页来划分没有碎片呢?当今的OS在多任务小都是采用虚拟内存的按页来划分。
呵呵,lu兄好久不来了.
多任务使用的地址空间都是虚拟的,这个你已经知道了,那既然是虚拟地址,就不需要物理上连续,既然不需要物理上连续,自然就没有了碎片问题,因为OS给进程分配内存时都是以页为单位的.
这个没什么不好理解呀,那每个进程总有自己的页表,这个页表就决定了当前进程的地址空间所在的页,也就是说,说白了每个进程有独立的3G逻辑空间,就是说每个进程有一套页表(还有页目录表),每个进程的同一个虚拟地址(如果没有分段就是逻辑地址)对应的物理地址就是不一样的,那自然就是独立的. |
|