【操作系统】内存分段技术

内存管理中,虚拟地址和分页技术是很重要的概念和技术。虚拟地址的概念指的是程序有自己的逻辑地址,不同程序的逻辑地址由操作系统最后转换成物理地址,使得多道式程序设计成为可能。分页技术是交换技术的升级,交换技术的单位是整个进程,而分页交换的单元是页,分页使得内存中只要驻存进程的部分即可,而非整个进程。

那么分段又是什么机制呢?

在只使用分页的系统中,一个进程只有一个地址空间,而一个进程在运行时,需要多种地址,比如程序段,堆栈段,符号表和常亮区等多种空间。如果把它们都放在同一个地址空间,那么需要考虑地址冲突问题,通常需要为每一种的空间预留额外的空间出来,但是这仍然无法从根本上解决问题,比如一个进程有很多的变量,那么它的符号表就很大,这是不得不借用其他类型的空间,这就涉及到了一个如何规划和管理地址空间的问题。


所以一个更好的办法是,按照类型把进程的地址空间分为多个,每一种功能对应一个地址空间,独立增长,这就是分段思想,分段使得我们不需要关心如何管理和分割地址空间。分段与分页的区别在于,分段存在于逻辑地址的概念上,是一种划分逻辑地址的思想,而分页是解决逻辑地址到物理地址的映射过程的。

系统中是可以让分页和分段并存的。在这样的系统中:

首先逻辑地址有两部分,第一部分要指明段号,第二部分是段内位移。

每一个进程有一个段表,记录自己的所有的段。每一个段表项都有一个段描述符,记录了这个段的所有的段内地址,也就是页号和页内偏移,然后通过页表就可以得到物理地址了。

过程为:

1.根据段号找到段描述符;

2.找到该段的页表;

3.通过页号和页内偏移找到物理地址;



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值