分页是一种内存管理技术,其中,进程地址空间被分成大小相同的块,称为页面(大小为2的幂,介于512字节和8192字节之间)。进程的大小以页数为单位。类似地,将主存储器划分为称为帧的(物理)存储器的固定小块,并且将帧的大小与页面的大小保持相同,以最佳利用主存储器并避免外部碎片。
类似地,将主存储器划分为称为帧的(物理)存储器的固定小块,并且将帧的大小与页面的大小保持相同,以最佳利用主存储器并避免外部碎片。
分段是一种内存管理技术,其中将每个作业划分为不同大小的多个段,每个模块一个段,每个模块包含执行相关功能的部分。每个段实际上是程序的不同逻辑地址空间。当要执行一个进程时,尽管每个段都被加载到一个可用内存的连续块中,但其对应的分段却被加载到非连续的内存中。分段存储器管理的工作原理与分页非常相似,但是分段的长度是可变的,而分页中的页是固定大小的。
程序段包含程序的主要功能,实用程序功能,数据结构等。操作系统为每个进程维护一个段映射表,以及一个空闲内存块列表以及段号,它们的大小以及主内存中的相应内存位置。对于每个段,该表存储段的起始地址和段的长度。对存储位置的引用包括标识段和偏移量的值。
以下是分页和细分之间的重要区别。
序号 | 键 | 分页 | 分割 | |
---|---|---|---|---|
1 | 记忆体大小 | 在分页中,进程地址空间分为固定大小的块,称为页面。 | 在分段中,进程地址空间被分成大小不同的块(称为节)中断。 | |
2 | 问责制 | 操作系统将内存分为几页。 | 编译器负责计算段大小,虚拟地址和实际地址。 | |
3 | 尺寸 | 页面大小由可用内存确定。 | 截面尺寸由用户确定。 | |
4 | 速度 | 分页技术在内存访问方面更快。 | 分段比分页慢。 | |
5 | 碎片化 | 分页会导致内部碎片,因为某些页面可能未得到充分利用。 | 分段可能会导致外部分段,因为某些存储块可能根本不使用。 | |
6 | 逻辑地址 | 在分页期间,逻辑地址分为页码和页偏移量。 | 在分段期间,逻辑地址分为段号和段偏移量。 | |
7 | 表 | 在分页期间,逻辑地址分为页码和页偏移量。 | 在分段期间,逻辑地址分为段号和段偏移量。 | |
8 | 数据存储 | 页面表存储页面数据。 | 细分表存储细分数据。 |