0

操作系统书上写:每个进程都有自己的虚拟空间和页表,通过页表将虚拟地址转换为物理地址。

Q1:操作系统如何确保多个进程虚拟地址映射到不同的物理地址,避免它们产生冲突的?比如有3G的内存空间,A、B两个进程,如果A进程占用0-1.5G,B进程占用1.5-3G内存,这种情况下A和B进程的起始地址不同,它们不会发生冲突,这种情况我能理解。但是操作系统使用分页管理时,页面不一定是连续的,此时A、B的起始地址不同,但是其虚拟地址对应的物理地址还是有可能冲突啊。分页管理的情况下,操作系统是如何将不同的物理地址分配给不同的进程的?通过什么机制来管理所有内存的?

Q2:每个进程的页表项数量是一样的么?还是说每当出现缺页异常时,申请物理页之后,在进程的页表上新增一个页表项?

Q3: A进程在没有空闲物理页时,发生缺页异常,需要进行页面置换。如果发现需要将B的页面置换出去,此时的操作是删除B的页表项,新增A的页表项吗?

2019-06-11 提问
0 个回答

撰写答案

推广链接