內存寻址(二) —— Linux下的内存寻址

本文详细介绍了Linux操作系统下的内存寻址,重点讨论了Linux为何更倾向于分页而非分段,以及Linux的分段机制,包括内核代码段、数据段、用户态段等。此外,文章还深入讲解了Linux的三级分页模式,以及保留的页框和进程页表的管理。通过对GDT和TSS的描述,揭示了Linux内存管理的复杂性和灵活性。
摘要由CSDN通过智能技术生成

在内存寻址(一)中主要介绍了常规内存寻址的机制
这一篇总结一下Linux下的内存寻址。

Linux更喜欢分页

1.分段可以把逻辑地址分成不同的线性地址,而分页则可以把相同的线性地址映射到不同的页框中。Linux为了能够使所有进程“”看到“”相同的线性地址而选择非常有限地使用分段机制,这样简化了内存管理的难度。
2.Linux的设计目标是能够移植到多种流行的平台,而使用RISC的处理器对段机制支持不佳。

Linux的分段

Linux只有在80x86处理器上才使用分段,由于Linux下所有进程使用同样的逻辑地址空间,那么段的总数就可以被限定在很小的数目,所有的段放在GDT中也变得容易。Linux用到如下的段:

  • 内核代码段
  • 内核数据段
  • 用户态下由所有进程共享的用户代码段(由于是用户态,描述符特权等级DPL应为3)

这里强调一下,DPL虽然有2位,特权等级可以分为0-3,0为最高级3为最低级,然而大多数的OS(包括LINUX)只使用最高级0和最低级3。

  • 用户态下由所有进程共享的用户数据段(和上一段仅TYPE域不同)
  • 任务状态段</
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值