当前位置: 技术问答>linux和unix
请教关于操作系统的页表
来源: 互联网 发布时间:2015-08-27
本文导语: 在多任务系统中,每个任务都有自己的页表.但是在CPU中如intel80x86系列,Motorola PPC系列中,都只有一个页表基址寄存器,指向整个页表.不知每个任务的页表怎么安排的,在切换任务时又是怎么切换的?谢谢大侠了! | ...
在多任务系统中,每个任务都有自己的页表.但是在CPU中如intel80x86系列,Motorola PPC系列中,都只有一个页表基址寄存器,指向整个页表.不知每个任务的页表怎么安排的,在切换任务时又是怎么切换的?谢谢大侠了!
|
一个页表基址寄存器,注意这个是个基址寄存器他的数值是可以改变的,Linux下每个进程都有自己的页表,进程切换的时候,页表基址寄存器也会随着改变。
ps:这里只是大楷说一下,这个问题设计到不同体系的CPU在内存管理上不同的处理。
ps:这里只是大楷说一下,这个问题设计到不同体系的CPU在内存管理上不同的处理。
|
页表基址寄存器中保存页表起始地址的值,页表保存在由页表基址寄存器指定的内存位置中,切换进程时,页表基址寄存器的值是当作环境保存下来的,对在执行的任务是透明的。其实很多系统都用段页表或多级页表,这时候只把页表的偏移地址而不是页表本身放在前边所述的由页表基址寄存器指定的内存位置中