分页:
分页是一种用于非连续内存分配的方法或技术。它是一个固定大小的分区主题(方案)。在分页中,主内存和辅助内存都被划分为相等的固定大小的分区。辅助内存区域单元和主内存区域单元的分区分别称为页和帧。
分页是一种内存管理方法,习惯于将进程从辅助内存以页面的形式读取到主内存中。在分页中,每个进程都被分成多个部分,每个部分的大小与页面大小相同。后半部分的大小也可以是页面大小。进程区域单元的页面依赖于它们的可访问性在主存储器的框架内保持。
分段:
分段是另一种非连续的内存分配方案,如分页。像分页一样,在分段中,进程不会不加选择地划分为已安装(固定)大小的页面。它是可变大小的分区主题。与分页一样,在分段中,辅助内存和主内存不会分成大小相等的分区。辅助内存区域单元的分区称为段。每个段的详细信息都保存在一个称为分段表的表中。段表包含两个与段有关的主要数据,一个是Base,即段的底部地址,另一个是Limit,即段的长度。在分段中,CPU 生成包含段号和段偏移量的逻辑地址。如果段偏移量小于限制,则该地址称为有效地址,否则会因为地址无效而引发错误计算。
上图显示了逻辑地址到物理地址的转换。
编号 | 分页 | 分段 |
---|---|---|
1 | 在分页中,程序被分成固定或挂载大小的页面。 | 在分段中,程序被分成可变大小的部分。 |
2 | 对分页操作系统负责。 | 对于分段编译器是负责的。 |
3 | 页面大小由硬件决定。 | 截面大小由用户给出。 |
4 | 分割比较快。 | 分割很慢。 |
5 | 分页可能导致内部碎片。 | 分段可能会导致外部碎片。 |
6 | 在分页中,逻辑地址分为页码和页偏移。 | 逻辑地址分为段号和段偏移。 |
7 | 分页包括一个页表,其中包含每个页的基地址。 | 分段还包括包含分段编号和分段偏移的分段表。 |
8 | 页表用于保存页数据。 | 节表维护节数据。 |
9 | 在分页中,操作系统必须维护一个空闲帧列表。 | 在分段中,操作系统在主存中维护一个漏洞列表。 |
10 | 分页对用户是不可见的。 | 用户可以看到分段。 |
11 | 在分页中,处理器需要页码、偏移量来计算绝对地址。 | 在分段中,处理器使用段号、偏移量来计算完整地址。 |
12 | 很难允许进程之间共享过程。 | 促进进程之间的过程共享。 |
13 | 在分页中,程序员不能有效地处理数据结构。 | 它可以有效地处理数据结构。 |
14 | 在这种保护中很难应用。 | 易于在分段中应用保护。 |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264488.html