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(页框号)偏移量产生物理地址。因此,可以通过以下函数描述寻址:
va=(s,p,w)其中,va是虚拟地址,| s |确定虚拟地址的数量 段(ST的大小),| p |确定每个段的页数(ST的大小) PT),| w |决定页面大小

图表如下:

  • 分页分段-有时段表或页表可能太大,无法保存在物理内存中(它们甚至可以达到MB)。因此,段表也被划分为页,从而创建了ST页的页表。段号被分解为ST页页表的页号(s1)和页偏移量(s2)。因此,虚拟地址可以描述为:
va=(s1,s2,p,w)

图表说明如下:
分段导致页面翻译和交换速度变慢

由于这些原因,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
固定大小的内存块更易于管理,并且主导了当前的操作系统设计

另请参见:

分页的最佳特性 事实上,分页有以下好处:

  • 快速分配(至少比分段快)
  • 无外部碎片(此方法中的最后一页存在内部碎片
  • 最佳分割特征 但从细分中也可以看到一个伟大的行为:

  • 分享
  • 保护
  • 给定的术语可以组合并创建以下术语:

    • 分段分页:虚拟地址空间被划分为多个段。物理地址空间被划分为页帧
    • 分页分段:使用过程分段表的主要分段技术有时会越界!这意味着大小变得太大,主内存没有足够的空间来保存段表。因此,段表和段号被划分为多个页面
    分段寻呼的要求 要实现分段分页,需要采取多个步骤:

  • 每个段表条目表示一个页表基址
  • STR(段表寄存器)和PMT(页映射表)由所需的值填充
  • 每个虚拟地址由段号页码和该页内的偏移量组成
  • 段号索引到段表中,该表为该段提供了页表的基址
  • 页码索引到页表中
  • 每个页面表格条目都是一个页面框架
  • 通过添加页面帧编号偏移量找到最终结果,即物理地址
  • 分页分段的要求 在该方案中采取以下步骤:

  • 每个段条目分为多个段
  • 对于表示页面集合的每个段表条目,将创建一个页面表
  • 我不确定(因为我从来没有听说过分段分页),但是将页面划分为多个部分实际上没有任何意义,因为页面的整体概念是它们是备忘录中最小的部分
    |   | process 1        || process 2 |                        |
         ------------------  -------------
    0                                                            max
    
    |   | process 1 part 1 || process 2 |   | process 1 part 2 | |
         ------------------  -----------     ------------------
    0                                                            max