Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory management 页面错误,辅助存储器地址存储在哪里_Memory Management_Operating System_Hardware_Paging_Tlb - Fatal编程技术网

Memory management 页面错误,辅助存储器地址存储在哪里

Memory management 页面错误,辅助存储器地址存储在哪里,memory-management,operating-system,hardware,paging,tlb,Memory Management,Operating System,Hardware,Paging,Tlb,如果TLB未命中,并且页不驻留在物理内存中,则页将写回物理内存,并更新页表和TLB 但辅助存储器的地址存储在哪里?它如何知道在哪里可以找到磁盘上的数据?内存管理器维护一个数据结构,在这个结构中,给定一个虚拟地址,它可以找到磁盘上/交换文件中的相应位置 显然,搜索键不仅仅是地址,它是一对地址和当前地址空间或当前进程的ID(您需要在进程1中的地址0x8000处出错和进程2中的同一地址0x8000处出错之间消除歧义,因为它们可能在0x8000处不共享内存) 页面表条目在这里可能很有用。当虚拟到物理映射

如果TLB未命中,并且页不驻留在物理内存中,则页将写回物理内存,并更新页表和TLB


但辅助存储器的地址存储在哪里?它如何知道在哪里可以找到磁盘上的数据?

内存管理器维护一个数据结构,在这个结构中,给定一个虚拟地址,它可以找到磁盘上/交换文件中的相应位置

显然,搜索键不仅仅是地址,它是一对地址和当前地址空间或当前进程的ID(您需要在进程1中的地址0x8000处出错和进程2中的同一地址0x8000处出错之间消除歧义,因为它们可能在0x8000处不共享内存)


页面表条目在这里可能很有用。当虚拟到物理映射有效时,它们存储物理地址。当它无效时(由于交换到磁盘),可以将地址设置为您喜欢的任何内容。您可以将位置存储在磁盘上的相应位置。但是,如果您希望避免每次重复使用页面时都将未更改页面的内容写入磁盘,并且这些页面的内容以前已写入磁盘,并且仍然与内存中的内容相匹配,那么这不是一个好主意。PTE不能同时持有两个不同的地址(物理地址和磁盘地址)。因此,应使用专用数据结构,而不是PTE。

内存管理器维护一个数据结构,在该结构中,给定一个虚拟地址,它可以在磁盘/交换文件中找到相应的位置

显然,搜索键不仅仅是地址,它是一对地址和当前地址空间或当前进程的ID(您需要在进程1中的地址0x8000处出错和进程2中的同一地址0x8000处出错之间消除歧义,因为它们可能在0x8000处不共享内存)


页面表条目在这里可能很有用。当虚拟到物理映射有效时,它们存储物理地址。当它无效时(由于交换到磁盘),可以将地址设置为您喜欢的任何内容。您可以将位置存储在磁盘上的相应位置。但是,如果您希望避免每次重复使用页面时都将未更改页面的内容写入磁盘,并且这些页面的内容以前已写入磁盘,并且仍然与内存中的内容相匹配,那么这不是一个好主意。PTE不能同时持有两个不同的地址(物理地址和磁盘地址)。因此,应使用专用数据结构,而不是PTE。

StackOverflow用于实际编程问题,而不是为考试而学习。StackOverflow用于实际编程问题,而不是为考试而学习。