操作系统任务执行和任务切换的基本实现原理
生活随笔
收集整理的這篇文章主要介紹了
操作系统任务执行和任务切换的基本实现原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
任務的執行
軟件或處理器可以使用以下方法之一來調度執行一個任務:
? ? 使用CALL指令明確地調用一個任務;
? ? 使用JMP指令明確地跳轉到一個任務(Linux內核使用的方式);
? ? (由處理器)隱含地調用一個中斷句柄處理任務;
? ? 隱含地調用一個異常句柄處理任務;
? ? p126;
處理器可使用以下4種方式之一執行任務切換操作:
? ? 當前任務對GDT中的TSS描述符執行JMP或CALL指令;
? ? 當前任務對GDT或LDT中的任務門描述符執行JMP或CALL指令;
? ? 中斷或異常向量指向IDT表中的任務門描述符;
? ? 當EFLAGS中的NT標志置位時當前任務執行IRET指令;
? ? p129;
以上摘自 Linux內核完全剖析-基于0.12內核 一書;
? ? 我還不理解什么是 對描述符執行JMP指令;
? ? TSS描述符、任務門描述符里面可能存了跳轉地址,
?
總結
以上是生活随笔為你收集整理的操作系统任务执行和任务切换的基本实现原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript DOM 向文档添加
- 下一篇: Linux 组调度学习