本篇目录:
页表存放在哪里
1、【答案】:C 系统提供一对硬件寄存器:页表始址寄存器和页表长度寄存器。①页表始址寄存器用于保存正在运行进程的页表在内存的首地址。当进程被调度程序选中投入运行时,系统将其页表首地址从进程控制块中取出送入该寄存器。
2、部分底层页表在内存,另外的一些就被塞在磁盘,被高层页表点名之后,才调入内存。作用 实现从页号到物理块号的地址映射。
3、不是,页表就是存储在内存中的一张表,表中记录了将虚拟地址转换成物理地址的关键信息。MMU正是通过对页表进行查询,实现了地址之间的转换。
4、页表(page table)的首地址存放在页表基址寄存器中(page table base register),简称PTBR。
5、不会,快表是一个cache,慢表在内存里,快表比慢表快的地方就在cache,如果页表出现在cache,那要快表干啥,慢表自己就挺快了。
6、内核页表:即书上说的主内核页表,在内核中其实就是一段内存,存放在主内核页全局目录init_mm.pgd(swapper_pg_dir)中,硬件并不直接使用。
页的物理地址是怎么表示的?
物理地址的计算公式物理地址的计算公式为:物理地址=块的大小(即页的大小L)′块号f+页内地址d。
根据页表找到物理块号,注意因为物理空间14位所以物理页号即页帧号用四位表示,加上偏移量即为物理地址。
物理地址:内存单元所看到的地址。逻辑地址空间为2^m,且页大小为2^n,那么逻辑地址的高m-n位表示页号,低n位表示页偏移。逻辑地址空间:由程序所生成的所有逻辑地址的集合。
关于虚拟内存中页目录与页表在物理内存中加载的问题
1、一个进程虚拟内存页的加载流程大致是这样的:一旦用户进程一虚拟页需要被加载,则操作系统会在“交换区”中为该页分配一个页,一旦CPU访问的虚拟地址落入该页地址空间,则该页才被换入到物理内存中。
2、当一个进程的虚拟内存提交的物理存储器是物理内存时,就可以省去从磁盘的页文件加载数据到物理内存的时间,程序的工作效率自然就会提高。
3、提高系统性能:虚拟内存可以增加系统的内存容量,从而提高了系统的整体性能。当系统需要处理大量数据时,虚拟内存可以提供更多的存储空间,使得系统能够更快地处理数据。
4、虚拟内存则是操作系统提供的一种技术。它扩展了系统的内存容量,使得操作系统和程序可以使用比实际物理内存更大的内存空间。
5、在操作系统中,内存分页和物理分页是一一对应的。内存分页是指将进程的虚拟地址空间划分为大小相等的页,而物理分页是指将物理内存划分为大小相等的页框。
6、虚拟内存概念分为两部分,一部分是物理内存,还有一部分是位于交换区的磁盘空间,这部分磁盘空间在内存不足时可以作为内存,将活动不频繁的数据放入磁盘中。
到此,以上就是小编对于页表存放在哪里的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。