![]() |
mFrame
|
[Interface] 系統核心介面 更多...
#include <Kernel.h>
公開方法(Public Methods) | |
virtual bool | initialize (void) override |
核心初始化 | |
virtual void | start (ufm::func::Runnable *task) override |
核心啟動 | |
virtual int | systemLock (void) override |
核心鎖定 | |
virtual int | systemUnlock (void) override |
核心解鎖 | |
virtual bool | systemDelay (int milliseconds) const override |
執行緒延遲 | |
virtual bool | systemWait (int timeout) const override |
執行緒等待 | |
virtual void | reboot (void) override |
核心重新啟動 | |
virtual ufm::sys::Thread * | getCurrentThread (void) override |
取得當前執行緒 | |
virtual bool | systemYield (void) override |
讓出執行時間片段 | |
[Interface] 系統核心介面
作業系統核心的基本操作介面,包括系統初始化、執行緒管理、 計時器分配、系統鎖定等功能。作為硬體抽象層,為上層應用 提供統一的系統服務存取方式,隔離平台相依性。
主要功能區塊:
|
pure virtual |
取得當前執行緒
獲取當前正在CPU上執行的執行緒物件。 用於執行緒需要參照自身或取得自己相關資訊時。
|
pure virtual |
核心初始化
初始化作業系統核心元件和必要資源。所有核心相關方法的呼叫 必須在初始化完成後進行,否則可能導致未定義行為。
|
pure virtual |
核心重新啟動
重新啟動整個系統,所有執行緒和資源將被終止並重新初始化。 此操作類似於硬體重置,但由軟體控制。
|
pure virtual |
核心啟動
啟動作業系統核心,開始執行緒調度和系統服務。 此方法呼叫後,系統將開始正常運作。
|
pure virtual |
執行緒延遲
使當前執行緒暫停指定的時間,並讓出CPU資源給其他執行緒。 延遲精度取決於系統時鐘解析度和排程器負載。
milliseconds | 延遲時間,單位為毫秒 |
|
pure virtual |
核心鎖定
鎖定系統核心,暫停執行緒切換。當需要執行原子操作或訪問共享資源時, 可使用此方法避免被其他執行緒中斷。鎖定可以巢狀調用。
|
pure virtual |
核心解鎖
釋放系統核心鎖。當鎖定層數降至零時,系統將恢復執行緒切換。 每次呼叫會將鎖定層數減一。
|
pure virtual |
執行緒等待
使當前執行緒進入等待狀態,直到被喚醒或等待超時。 等待期間執行緒會讓出處理器資源,不消耗CPU時間。
timeout | 等待超時時間(毫秒),0表示永久等待直到被notify()喚醒 |
|
pure virtual |
讓出執行時間片段
將控制權讓給相同優先權的其他就緒執行緒。如果沒有其他相同優先權 的就緒執行緒,則當前執行緒會繼續執行。
與systemDelay和systemWait不同,此方法不會使執行緒進入阻塞狀態, 僅主動讓出本輪執行時間。