操作系统中的细分

一个过程被分成几个部分。程序被划分成的块不一定都是相同大小的,这些块称为段。分段提供了用户对流程的看法,而分页没有提供这种看法。在这里,用户的视图映射到物理内存。 细分有以下几种类型:

null
  1. 虚拟内存分割– 每一个过程都被划分为若干段,并非所有这些段都驻留在任何一个时间点上。
  2. 简单分段- 每个进程被分成若干段,所有这些段都在运行时加载到内存中,但不一定是连续的。

在分段中,逻辑地址和物理地址之间没有简单的关系。一个表存储所有这些段的信息,称为段表。

段表- 它将二维逻辑地址映射为一维物理地址。每个表格条目都有:

  • 基址: 信息技术 包含段驻留在内存中的起始物理地址。
  • 限制: 它指定线段的长度。

图片[1]-操作系统中的细分-yiteyi-C++库

将二维逻辑地址转换为一维物理地址。

图片[2]-操作系统中的细分-yiteyi-C++库

由CPU生成的地址分为:

  • 段号: 表示段所需的位数。
  • 段偏移(d): 表示段大小所需的位数。

细分的优势——

  • 没有内部碎片。
  • 与分页中的页表相比,段表占用的空间更少。

细分的缺点——

  • 当进程从内存中加载和删除时,可用内存空间被分成小块,导致外部碎片。
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享