当前位置:新励学网 > 秒知问答 > rt-thread线程切换的本质是什么

rt-thread线程切换的本质是什么

发表时间:2024-07-27 23:51:41 来源:网友投稿

进程: 在中断描述符表(IDT)中,除中断门、陷阱门和调用门外,还有一种“任务们”。

任务门中包含有TSS段的选择符。当CPU因中断而穿过一个任务门时,就会将任务门中的段选择符自动装入TR寄存器,使指向新的TSS,并完成任务切换。

CPU可以通过JMP或CALL指令实现任务切换,当跳转或调用的目标段(代码段)实际上指向GDT表中的一个TSS描述符项时,就会引起一次任务切换. 线程:

1.时间片:时钟中断处理例程从PCR中取得当前线程对象指针并更新线程时间,如果超出了时间片,则将当前线程从放入ready列表中,然后从standby列表中取出最高优先级的线程,然后保存当前线程上下文数据,并转到新的线程上下文. 2.主动等待:线程调用等待函数,则将当前线程放到wait列表中,然后从standby列表中取一个线程,切换上下文,当主动等待的事件完成时,线程被调度到ready列表中等待再次被调度运行. 3.抢先:时钟中断发现standby列表中有比当前线程更高的线程,则挂起当前线程,切换线程上下文,运行最需要运行的线程. 所以线程间切换就是"线程挂起自己,让出CPU"

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!