页表存放在内存还是磁盘上
页表可以分为一个级别和多级别。一个 - 级别的页面表:如果OS分配了内存空间,则该过程不大,只有几页,请不要占用很多内存空间,因此此时页面表在内存中。
多级页面表:如果将存储空间分配给一个大进程,则相应的页面也很大。
因此,我们需要设置一个多级别的页面,基于此高级页面表格,在内存中设置一个高端页面(相对较高的级别)以找到基本页面表,然后在下面的页面中找到相应的实际页码。
在内存中找到了一些基本页面表,而其他表则塞在板上,并在转移到内存之前由高级页面调用。
它将地址从页码映射到物理块。
将逻辑地址转换为物理地址的过程是:使用页面数量访问页面表,从页面表中获取页面的物理块数字并将其下载到物理地址寄存器中。
同时,D Page D地址直接发送到物理地址登记册的学校地址。
这样,物理地址寄存器的是组装在一起的实际访问存储器的地址,从而完成了从逻辑地址到物理地址的转换。
上述的参考:Biedu B百科全书页
4.3 页表(Page Table)
在如何实现空间中,页面计划是一个常见且灵活的选择。页面的页面由设备,尤其是处理器和内存管理单元(MMU)实现。
当CPU执行指令,例如“ SD $ 7 ,(A0)”时,是虚拟内存,而不是实际。
默认地址通过MMU转换为实际地址,然后用于读取和编写实际内存过程。
MMU通过搜索页面表来完成对实际地址的虚拟地址。
在页面表中,虚拟内存地址对应于实际内存地址,类似于约会0x1 000至0xffff0。
页面表通常存储在内存中,并由CPU通过特定记录访问。
操作系统运行的是,操作之间地址空间的更改,例如将CPU从一个应用程序切换到另一个应用程序,更新SATP记录以参考新过程的页面时间表。
相同的虚拟地址可能与不同应用程序中的不同材料地址匹配,因为每个应用程序都包含一个独立的页面表。
SATP记录由Kerneel控制,无法由用户程序修改,以确保隔离过程的过程。
在RISC-V处理器中,页表使用4 kb页(约4 09 6 b),虚拟地址分为两个部分:索引和位移。
页面表包括索引和位移。
索引用于查找页面,位移指示页面内的位置。
实际内存地址由页面和位移编号组成。
RISC-V的虚拟地址为6 4 位,但实际使用中的实际内存地址限制为5 6 位(页码4 4 位和1 2 位位移)。
页面单位的页面,没有一个地址,节省空间。
页面的页面通常包含三个级别:页面指南,中间页面指南和页面时间表,分别由虚拟地址的不同部分索引。
页面指南分别从4 4 位,中间页指南和页面时间表存储剩余索引的9 位。
页面指南使用材料地址来避免翻译少量地址。
页面表是从页面指南索引中获得的,用于最终确定实际的内存地址以及位移的价值从明显的地址继承。
页面表的结构保证了操作之间地址空间的隔离,并允许有效的管理到达内存。
在页面表的经验中,您将面临上述概念的实际应用。
了解这些原理对于 - 深入学习来管理记忆非常重要。
MMU和TLB
1 MMU是硬件。2 .TLB:Translatelooksidebuffer是MMU和硬件的一部分。
3 页面缓冲区存储在TLB中。
原始页面表放置在内存中。
但是,对于常用的页面或仅使用的页面,它们将被放置在临时存储的TLB中。
这样,MMU可以直接与TLB中的物理地址直接匹配,而无需访问内存中的页面表非常快。
4 它们对应于第一页中的项目。
5 当将虚拟地址发送到MMU进行翻译时,硬件将首先将其与TLB中的所有项目(并行)进行比较。
如果其虚拟页码在TLB中,并且访问控件不会违反保护位,则其页面将直接从TLB中获取,而无需访问页面表。
例如,如果在TLB处的虚拟页面数量,但当前说明将尝试编写仅读取的页面,则会创建页面不足的例外,例如直接访问页面表时。
如果MMU发现TLB中没有镜头,它将查找普通页面表格,然后从TLB中删除项目并通过输入刚刚找到的页面来替换它。
因此,如果此页面早点重复使用,则可以在第二次访问期间直接在TLB中找到。
删除TLB条目后,已将修订的位复制到内存和其他值的页面表部分中。
从页面表下载TLB时,所有字段均可从内存中搜索。
重要的是要澄清,在页面机制中,处理器无法维护TLB中的数据与页面表中的数据之间的相关性,但必须由操作系统维护。
新的缓冲区是通过在处理器(8 03 8 6 )中下载CR3 寄存器来完成的。
。
通常,TLB的规模可能会提高访问率,但会增加成本和软件管理。
因此,经常使用导入8 -6 4 的项目数量。
如果攻击速度为0.8 5 ,则访问记忆时间为1 2 0纳米秒,而TLB访问时间为1 5 纳米秒。
访问时间为:0.8 5 *(1 5 )+(1 -0.8 5 )*(1 5 +1 2 0)= 1 3 6 .3 5 纳米秒。
操作系统采用分页存储字理方式,要求( )。
[答案]:当同时执行许多过程时,所有过程的大多数页面都在内存中。系统中只有一个表寄存器(PTR),其中存储器中页面表的起始地址和页面表的长度存储。
通常,当未完成该过程时,页面表的起始地址和页面表的长度存储在此过程的PCB中。
发送到某个过程时,将这两个数据下载到页面寄存器。
每个过程都有一个单独的逻辑地址,并具有自己的页面表。