在操作系统中,分段是一种内存管理技术,其中内存分为可变大小的部分。 每个部分被称为可以分配给进程的段。
有关每个段的详细信息存储在称为段表的表中。 分段表存储在一个(或多个)分段中。
分段表主要包含两个关于分段的信息:
到目前为止,我们使用分页作为主要内存管理技术。 分页更接近操作系统而不是用户。 它将所有进程划分为页面形式,而不管进程是否具有需要在同一页面中加载的某些相关功能部分。
操作系统不关心用户对过程的看法。 它可以将相同的功能划分为不同的页面,这些页面可以或不可以同时加载到存储器中。 它降低了系统的效率。
将进程划分为细分部分最好是细分。 每个段包含相同类型的功能,例如main函数可以包含在一个分段中,并且库函数可以包含在另一个分段中。
CPU产生一个包含两部分的逻辑地址:
分段号被映射到段表。 将各段的限制与偏移进行比较。 如果偏移量小于极限值,则地址有效,否则由于地址无效而引发错误。
在有效地址的情况下,该段的基地址被添加到偏移量以获得主存储器中实际字的物理地址。
分段的优势
分段的缺点