天天百科

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

2023-06-24 分类:百科

TIPS:本文共有 489 个字,阅读大概需要 1 分钟。

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

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

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

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

如果觉得《rt-thread线程切换的本质是什么》对你有帮助,请点赞、收藏,并留下你的观点哦!

阅读剩余内容
网友评论
相关阅读
小编推荐