操作系统中内存分段与内存分页的区别

版权声明:共同提高:) https://blog.csdn.net/u011436427/article/details/82729732

参考:内存分段和分页的区别https://blog.csdn.net/u011740322/article/details/10081495

分段和分页其实都是一种对地址的划分或者映射的方式。

两者的区别主要有以下几点:

1)是信息的物理单位;是信息的逻辑单位;
分页是实现离散的分配方式,以消除内存的外零头,提高内存的利用率;分段含有一组其意义相对完整的信息(比如:数据段、代码段、和堆栈等);
分页仅仅是由于系统管理的需要,而不是用户的需要;分段的目的是为了能够更好的满足用户的需要;

2)的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面;

的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。

3)分页的作业地址空间是一维的,即单一的线性空间,程序员只须利用一个记忆符(线性地址的16进制表示),即可表示一地址;

分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名(比如数据段、代码段和堆栈段等),又需给出段内地址。

4)页和段都有存储保护机制。但存取权限不同:段有读、写和执行三种权限;而页只有读和写两种权限

猜你喜欢

转载自blog.csdn.net/u011436427/article/details/82729732