Memory management 分段分页和分页分段之间的区别或相似之处?
我在研究组合分页/分段系统,在我的书中有两种方法:Memory management 分段分页和分页分段之间的区别或相似之处?,memory-management,operating-system,paging,memory-segmentation,Memory Management,Operating System,Paging,Memory Segmentation,我在研究组合分页/分段系统,在我的书中有两种方法: 1.paged segmentation 2.segmented paging 我看不出两者之间的区别。我认为在页面分割中,页面被分成页面,在页面分割中,页面被分成页面,尽管我不知道我是对还是错。同时,在internet上,仅使用一种方案来描述组合分页/分段。我不明白为什么在我的教科书中有两种方案。任何帮助都将不胜感激 因此,在网上搜索了这两个术语之间的差异或相似之处后,我找到了一个最终答案。首先,我要写下相似之处: 它们(分段分页和分页分
1.paged segmentation
2.segmented paging
我看不出两者之间的区别。我认为在页面分割中,页面被分成页面,在页面分割中,页面被分成页面,尽管我不知道我是对还是错。同时,在internet上,仅使用一种方案来描述组合分页/分段。我不明白为什么在我的教科书中有两种方案。任何帮助都将不胜感激 因此,在网上搜索了这两个术语之间的差异或相似之处后,我找到了一个最终答案。首先,我要写下相似之处:
- 它们(分段分页和分页分段)都是一种分页/分段组合系统(分页和分段可以通过将每个分段划分为页面来组合)
- 在这两种系统中,段都被划分为页面
- 分段分页-分段被分成页。实现需要STR(段表寄存器)和PMT(页映射表)。在该方案中,每个虚拟地址由一个段号组成,该段内的页码和该页内的偏移量。段号索引到段表中,该段表生成该段页表的基址。页码索引到页表中,每个条目都是页框。添加PFN(页框号)偏移量产生物理地址。因此,可以通过以下函数描述寻址:
- 分页分段-有时段表或页表可能太大,无法保存在物理内存中(它们甚至可以达到MB)。因此,段表也被划分为页,从而创建了ST页的页表。段号被分解为ST页页表的页号(s1)和页偏移量(s2)。因此,虚拟地址可以描述为:
分段导致页面翻译和交换速度变慢 由于这些原因,x86-64上的细分基本上被放弃了 它们之间的主要区别在于:
- 分页将内存拆分为固定大小的块
- 分段允许每个区块具有不同的宽度
| | process 1 | | process 2 | |
----------- -----------
0 max
随着流程1的发展,最终将成为:
| | process 1 || process 2 | |
------------------ -------------
0 max
在分裂不可避免之前:
| | process 1 part 1 || process 2 | | process 1 part 2 | |
------------------ ----------- ------------------
0 max
在这一点上:
- 翻译页面的唯一方法是对流程1的所有页面进行二进制搜索,这需要一个不可接受的日志(n)
- 流程1第1部分的交换可能是巨大的,因为该部分可能是巨大的
- 每个32位转换只执行2次内存读取:目录和页表遍历
- 每次交换都是可接受的4KB
- 分段分页:虚拟地址空间被划分为多个段。物理地址空间被划分为页帧
- 分页分段:使用过程分段表的主要分段技术有时会越界!这意味着大小变得太大,主内存没有足够的空间来保存段表。因此,段表和段号被划分为多个页面
| | process 1 || process 2 | |
------------------ -------------
0 max
| | process 1 part 1 || process 2 | | process 1 part 2 | |
------------------ ----------- ------------------
0 max