太原网站建设找山西云起时企业宣传片拍摄思路
news/
2025/9/30 9:24:13/
文章来源:
太原网站建设找山西云起时,企业宣传片拍摄思路,全景网站开发多少钱,抖音代运营直播小弟多次想把调用门和RPL分开单独说#xff0c;但几次尝试都没有成功#xff0c;我发现它们之间是紧偶合、密不可分#xff0c;RPL的产生主要是为解决系统调用时的“越权”问题#xff0c;系统调用的实现方式中#xff0c;以调用门和中断门最为适合。由于以后我们将用中断…小弟多次想把调用门和RPL分开单独说但几次尝试都没有成功我发现它们之间是紧偶合、密不可分RPL的产生主要是为解决系统调用时的“越权”问题系统调用的实现方式中以调用门和中断门最为适合。由于以后我们将用中断门实现自己的系统调用故在此本着扩充知识面的目的给大伙儿介绍调用门通过调用门的实例让大伙儿理解特权级那点事儿。
处理器只有通过“门结构”才能由低特权级转移到高特权级处理器就是这样设计的我们必须要遵循它的用法对处理器来说操作系统只是它的应用而已。
门结构是什么呢就是记录一段程序起始地址的描述符。
描述符有多种刚才所说的一致性代码段虽然它里面全是代码但它本身是内存段并不是指具体的一段例程所以可以用“段描述符”来“描述”。还有一种称为“门描述符”的结构用来描述一段程序。进入这种神奇的“门”处理器便能转移到更高的特权级上。
门描述符同段描述符类似都是8字节大小的数据结构用来描述门中通向的代码。一共有4种门结构下面4张图是4种门描述符的结构咱们先看图然后咱们再简要介绍 大家看图中的4种门描述符它们与段描述符最大的不同是除了任务门外其它三种门都是对应到一段例程即对应一段函数而不是像段描述符对应的是一片内存区域。任何程序都属于某个内存段所以程序确切的地址必须用“代码段选择子段内偏移量”来描述可见门描述符是基于段描述符例程是用段描述符来给出基址的所以门描述符中要给出代码段的选择子但光给出基址远远不够还必须给出例程的偏移量这就是门描述符中记录的是选择子和偏移量的原因。
任务门描述符可以放在GDT、LDT和IDT中断描述符表后面章节在介绍中断时大伙儿就清楚了中调用门可以位于GDT、LDT中中断门和陷阱门仅位于IDT中。
任务门、调用门都可以用call和jmp指令直接调用原因是这两个门描述符都是位于描述符表中要么是GDT要么是LDT访问它们同普通的段描述符是一样的也必须要通过选择子因此只要在call或jmp指令后接任务门或调用门的选择子便可调用它们了。陷阱门和中断门只存在于IDT中因此不能主动调用只能由中断信号来触发调用。
任务门有点特殊它是用任务TSS的描述符选择子来描述一个任务有关TSS的内容会在用户进程部分介绍。除任务门之外另外的三个门描述符都是用代码段选择子及偏移地址来描述一段程序例程。但是无论是哪种门描述符它们中所记录的信息都已经可以确定所描述的对象例程或任务了所以在被调用时CPU都会忽略调用指令中的偏移量。如假设某调用门描述符位于GDT中第1个位置这样的指令“call 0x0008:0x1234”在调用此调用门时偏移量0x1234会被CPU忽略。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922645.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!