[032][x86汇编语言]第十四章 子程序load_relocate_program结构(TCB结构、 TSS结构、TSS描述符格式)

学习笔记

《x86汇编语言:从实模式到保护模式》
https://www.jianshu.com/p/d481cb547e9f

TCB(Task Control Block)任务控制块的结构

https://www.jianshu.com/p/16fb57154f57

[032][x86汇编语言]第十四章 子程序load_relocate_program结构(TCB结构、 TSS结构、TSS描述符格式)_第1张图片
任务控制块TCB的结构

TSS(Task State Segment)任务状态段的结构

  • 注意:TSS不是什么寄存器,而是一段内存空间,里面存放着与任务息息相关的信息;
  • 这段内存空间,需要程序员自己去编程向内存申请开辟,需要程序员自己去填写正确的信息,需要程序员自己去编写代码用来加载到TR寄存器
    [032][x86汇编语言]第十四章 子程序load_relocate_program结构(TCB结构、 TSS结构、TSS描述符格式)_第2张图片
    任务状态段TSS的结构

TSS描述符的格式

[032][x86汇编语言]第十四章 子程序load_relocate_program结构(TCB结构、 TSS结构、TSS描述符格式)_第3张图片
TSS描述符的格式.png

子程序 load_relocate_program 源码

https://www.jianshu.com/p/b914ac0380dc

子程序 load_relocate_program 流程概览

[032][x86汇编语言]第十四章 子程序load_relocate_program结构(TCB结构、 TSS结构、TSS描述符格式)_第4张图片
子程序 load_relocate_program 流程概览

调用完load_relocate_program 的内存示意图

[032][x86汇编语言]第十四章 子程序load_relocate_program结构(TCB结构、 TSS结构、TSS描述符格式)_第5张图片
调用完子程序load_relocate_program 内存示意图.png

调用完 load_relocate_program 后 GDT以及LDT 布局示意图

[032][x86汇编语言]第十四章 子程序load_relocate_program结构(TCB结构、 TSS结构、TSS描述符格式)_第6张图片
调用完 load_relocate_program 后 GDT以及LDT 布局示意图.png

执行mov ebp,esp指令后的栈状态(子程序开始部分)

[032][x86汇编语言]第十四章 子程序load_relocate_program结构(TCB结构、 TSS结构、TSS描述符格式)_第7张图片
执行mov ebp,esp指令后的栈状态.png

与任务相关的各部分逻辑示意图

[032][x86汇编语言]第十四章 子程序load_relocate_program结构(TCB结构、 TSS结构、TSS描述符格式)_第8张图片
与任务相关的各部分逻辑示意图

创建局部描述符表 LDT(子程序中)

  • 段选择子的RPL其用户程序某段的DPL 特权级始终保持一致
[032][x86汇编语言]第十四章 子程序load_relocate_program结构(TCB结构、 TSS结构、TSS描述符格式)_第9张图片
段选择子的RPL 与 其用户程序某段的DPL 特权级始终保持一致 具体代码实现
段选择子的RPL 与 其用户程序某段的DPL 特权级始终保持一致 格式说明 .png

你可能感兴趣的:([032][x86汇编语言]第十四章 子程序load_relocate_program结构(TCB结构、 TSS结构、TSS描述符格式))