reactos操作系统实现(12)

前端之家收集整理的这篇文章主要介绍了reactos操作系统实现(12)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有了上面的知识,就来分析 ReactOS 里引导任务是怎么样设置全局描述符表。其工作过程如下图所示:




由于cpu初始化运行后,就当作为一个任务在运行。这里主要设置这个任务的运行保存环境,以便cpu可以交给其它任务运行,否则切换到其它任务运行后,就再也回不到这个内核任务运行了。这里先取得引导任务KiBootTss,然后设置全局描述符里的内核任务描述符,也就是KGDT_TSS这个,原先缺省都是0值,肯定是不能适合任务运行的。TssEntry就是指向KGDT_TSS描述符的指针,最后设置相关属性和这个任务所在内存的地址(KiBootTss地址),以便cpu后面可以找到TSS所在位置,以及相关的特权比较(DPL)。后面还需要设置TSS的字段,才可以正常工作的。

通过这段代码的初始化,就设置引导任务在全局描述符里的数据了。

原文链接:https://www.f2er.com/react/308536.html

猜你在找的React相关文章