linux内核学习笔记1

本文详细介绍了计算机系统中的段机制及其组成部分,包括逻辑地址的构成、描述符的定义及结构、不同类型的描述符(如用户段描述符、系统段描述符等),以及描述符表的种类(如GDT、LDT、IDT)。通过本文,读者可以深入理解段机制的工作原理及其在保护模式下的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.段机制

逻辑地址 =  选择符+偏移部分;


typedef 段{
        基地址(Base Address) /*线性地址空间中 段的起始地址*/
        界限(Limit) /*逻辑地址空间中,段内最大偏移量*/超出界限,系统产生异常
        属性(Attribute) /*读写、可执行、特权级*/代码段、数据段、堆栈段
  }描述符;


描述符表 = {描述符、描述符、描述符};


系统模式:实模式、保护模式;  


2.描述符

 
描述符:用户段描述符、系统段描述符          

8字节
   ---------------------------------    
0 |7-0位   段界限                |
   ---------------------------------     
1 |15-8位  段界限               |
   ---------------------------------  
2 |7-0位   基地址                |
   ---------------------------------  
3 |15-8位  基地址               |
   ---------------------------------  
4 |23-16位 基地址              |
   --------------------------------- 
5 |P|DPL|S|    类型    |A      |       存取权字节:(数据段)P--段在不在内存中;DPL--描述符特权级0-3;S--0是用户端1是系统段;类型;A
   ---------------------------------
6 |G|D|0|0| 19-16 段界限   |
   ---------------------------------  
7 |31-24   基地址                |

   --------------------------------- 

G是粒度位,1M还是 4K*1M
D是操作时,16位还是32位

代码段
-------------------------
|P|DPL|1| 1|C|W |A| 
-------------------------

数据段、堆栈段
-------------------------
|P|DPL|1| 0|C|W |A| 
--------------------------

G是粒度位,1M还是 4K*1M

D是操作时,16位还是32位


门(也是描述符):调用门、任务门、中断门、陷阱门

3.系统段

------------------------
|P|DPL|0| 类型         | 存取权字节:(代码段)P--段在不在内存中;DPL--描述符特权级;S--0是用户端1是系统段;类型;A
------------------------
|G|0|0|0| 19-16 段界限 |
------------------------
系统段有16中类型

4.描述符表


描述符表: 全局描述符表 GDT、局部描述符表 LDT、中断段描述表 IDT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值