发布网友 发布时间:2022-05-13 08:16
共5个回答
热心网友 时间:2024-02-22 01:20
页表有单级和多级之分。
单级页表:OS给进程所分配的内存空间并不大的话,就只需要几张页表,这样也没有占据很多的内存空间,所以这个时候页表是全部在内存的。
多级页表:给进程分配的内存空间很大的话,对应页表也很大。于是就要建立多级页表,把高层页表(相对级别比较高的)放在内存,靠这个高层页表找底层页表,再在底层页表里找到对应的实页号。部分底层页表在内存,另外的一些就被塞在磁盘,被高层页表点名之后,才调入内存。
作用
实现从页号到物理块号的地址映射。
逻辑地址转换成物理地址的过程是:用页号p去检索页表,从页表中得到该页的物理块号,把它装入物理地址寄存器中。同时,将页内地址d直接送入物理地址寄存器的块内地址字段中。这样,物理地址寄存器中的内容就是由二者拼接成的实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。
以上内容参考:百度百科-页表
热心网友 时间:2024-02-22 01:21
页表是一张存放在主存(即内存)中的虚页号和实页号的对照表,记录着程序的虚页调入主存时被安排在主存中的位置,且页表一般长久的保存在内存中。热心网友 时间:2024-02-22 01:21
存放在磁盘上热心网友 时间:2024-02-22 01:22
这个不一定,如果是单级页表,在进程运行期间,所有页表都在内存,由于页表可能过大占用内存空间,出现了二级或者多级页表,只需要调入最高级的页表即可(最高级页表只能占用一个页大小)热心网友 时间:2024-02-22 01:22
一级页表的问题在于页表项太多,且要求页表连续,动辄就要几MB的连续空间,所以引入了两个方法来解决:一、多级页表,但是多级页表只是解决了无法找到这么大的一块连续的内存空间;二、只将当前需要的部分页表项调入内存,其余的仍驻留在磁盘上。(教材原话)