分段分页以及段页结合

分页、分段的技术出现之前

在分段这个技术还没有出现之前,程序运行是需要从内存中分配出足够多的连续的内存,然后把整个程序装载进去

某个程序大小是10M,然后,就需要有连续的10M内存空间才能把这个程序装载到内存里面。如果无法找到连续的10M内存,就无法把这个程序装载进内存里面,程序也就无法得到运行

产生问题

①地址空间不隔离
②程序运行时候的地址不确定
③内存使用率低下


分段技术的出现与虚拟地址空间

分段:就是将一个程序分成代码段,数据段,堆栈段什么的,每个段各自管理不同的数据

在这里插入图片描述

虚拟地址空间
简单的说就是可以寻址的一片空间。如果这个空间是虚拟的,我们就叫做虚拟地址空间;如果这个空间是真实存在的,我们就叫做物理地址空间。虚拟地址空间是可以任意的大的,因为是虚拟的。而物理地址空间是真实存在的,所以是有限的

分段技术把虚拟地址空间映射到了物理地址空间,并且你写的程序操作的是虚拟地址

分段技术解决了体现出了隔离性,使得程序无需关注物理地址是多少,只要虚拟地址没有改变,那么,程序就不会操作地址不当两个问题

分页技术的出现解决了效率使用低下的问题

分页技术的大概原理

分页的基本方法是将地址空间等分成某一个固定大小的页;每一页大小由硬件来决定,或者是由操作系统来决定(如果硬件支持多种大小的页)。

页面大小的选择

页面大小是固定的,由你的机器和硬件所决定,不同的机器可能页面大小不同
页面大小一般是2的幂,通常是512B~8KB

页面尺寸小:内存碎片小,内存利用率高,但页面数目多,使页表过长,占大量内存,管理开销大

页面尺寸大:页表端,内存利用率低且内存碎片化大,管理开销小


分页、分段的区别

在这里插入图片描述

段页结合优点和缺点

优点

(1) 它提供了大量的虚拟存储空间。

(2) 能有效地利用主存,为组织多道程序运行提供了方便。

缺点:

(1) 增加了硬件成本、系统的复杂性和管理上的开消。

(2) 存在着系统发生抖动的危险。

(3) 存在着内碎片。

(4) 还有各种表格要占用主存空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值