操作系统面试题1
为什么进程切换比线程切换慢?
1.每个进程都占据独立的虚拟内存空间,而访问真正的数据需要虚拟地址到物理地址的转换。 2.虚拟地址到物理地址的转换需要CPU中的MMU和内存中的页表,而为了提高访问页表的效率,利用局部性原理,把经常要访问的页表项放入cache中的TLB中。而因为TLB中的页表项数量有限,进程切换就会导致TLB缓存不命中概率变大,从而频繁访问内存中的慢表,而线程共享虚拟地址空间,不会发生虚拟地址的切换。
1.每个进程都占据独立的虚拟内存空间,而访问真正的数据需要虚拟地址到物理地址的转换。 2.虚拟地址到物理地址的转换需要CPU中的MMU和内存中的页表,而为了提高访问页表的效率,利用局部性原理,把经常要访问的页表项放入cache中的TLB中。而因为TLB中的页表项数量有限,进程切换就会导致TLB缓存不命中概率变大,从而频繁访问内存中的慢表,而线程共享虚拟地址空间,不会发生虚拟地址的切换。
相关推荐