<<Linux内核完全剖析 --基于0.12内核>>学习笔记 第4章 80x86保护模式及其编程 4.3 分段机制

本文介绍了段描述符及线性地址转换的基本概念,包括段的选择符、描述符表(GDT和LDT)及其作用,以及如何通过段描述符实现从逻辑地址到线性地址的转换。

4.3.1 段的定义

       段是虚拟地址到线性地址转换机制的基础。每个段由以下几个参数定义:

       (1)段基地址(Base Address):指定段在线性地址空间中的开始地址。

       (2)段限长(Limit):是虚拟地址空间中段内最大可用偏移位置。

       (3)段属性(Attributes):指定段的属性。


       为了把逻辑地址转换成一个线性地址,处理器会执行以下操作:

       (1)使用段选择符中的偏移值(段索引)在GDT或LDT表中定位相应的段描述符。

       (2)利用段描述符检验段的访问权限和范围,以确保该段是可用访问的并且偏移量位于段界限内。

       (3)把段描述符中取得的段基地址加到偏移量上,最后形成一个线性地址。

4.3.2 段描述符表

       段描述符表是段描述符的一个数组。描述符表的长度可变,最多可用包含8192个8字节描述符。有两种描述符表:全局描述符表GDT(Global Descriptor Table)和局部描述符表LDT(Local Descriptor Table)。

       当发生任务切换时,LDT会更换成新任务的LDT,但是GDT并不会改变。

       每个系统必须定义一个GDT,并可用于系统中所有程序或任务。另外,可选定义一个或多个LDT。

      GDT本身不是一个段,而是线性地址空间中的一个数据结构。GDT的基线性地址和长度值必须加载进GDTR寄存器中。

      LDT表存放在LDT类型的系统段中。此时GDT必须含有LDT的段描述符。如果系统支持多LDT的话,那么每个LDT都必须在GDT中有一个段描述符和段选择符。一个LDT的段描述符可以存放在GDT表的任何地方。

4.3.3 段选择符

       段选择符是段的一个16位标识符。段选择符并不直接指向段,而是指向段描述符表中定义段的段描述符。段选择符的3个字段分别是:请求特权级RPL(Requested Privilege Level)、表指示标志TI(Table Index)和索引值(Index)。

4.3.4 段描述符

       段描述符是GDT和LDT表中的一个数据结构项,用于向处理器提供有关一个段的位置和大小信息以及访问控制的状态信息。每个段描述符的长度是8字节,含有3个主要字段:段基地址、段限长和段属性。

4.3.5 代码和数据段描述符类型

4.3.6 系统描述符类型

       处理器能够处理以下一些类型的系统描述符:

       局部描述符表(LDT)的段描述符

       任务状态段(TSS)描述符

       调用门描述符

       中断门描述符

       陷阱门描述符

       任务门描述符


       这些描述符类型可分为两大类:系统段描述符和门描述符。系统段描述符指向段系统(如LDT和TSS段),门描述符就是一个“门”。对于调用、中断或陷阱门,其中含有代码段的选择符和段中程序入口点的指针;对于任务门,其中含有TSS的段选择符。

基于粒子群优化算法的p-Hub选址优化(Matlab代码实现)内容概要:本文介绍了基于粒子群优化算法(PSO)的p-Hub选址优化问题的研究与实现,重点利用Matlab进行算法编程和仿真。p-Hub选址是物流与交通网络中的关键问题,旨在通过确定最优的枢纽节点位置和非枢纽节点的分配方式,最小化网络总成本。文详细阐述了粒子群算法的基本原理及其在解决组合优化问题中的适应性改进,结合p-Hub中转网络的特点构建数学模型,并通过Matlab代码实现算法流程,包括初始化、适应度计算、粒子更新与收敛判断等环节。同时可能涉及对算法参数设置、收敛性能及不同规模案例的仿真结果分析,以验证方法的有效性和鲁棒性。; 适合人群:具备一定Matlab编程基础和优化算法理论知识的高校研究生、科研人员及从事物流网络规划、交通系统设计等相关领域的工程技术人员。; 使用场景及目标:①解决物流、航空、通信等网络中的枢纽选址与路径优化问题;②学习并掌握粒子群算法在复杂组合优化问题中的建模与实现方法;③为相关科研项目或实际工程应用提供算法支持与代码参考。; 阅读建议:建议读者结合Matlab代码逐段理解算法实现逻辑,重点关注目标函数建模、粒子编码方式及约束处理策略,并尝试调整参数或拓展模型以加深对算法性能的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值