Abstract
內含式系統的多工系統除了要具備處理非同步事件與並行作業的能力外, 並必須能夠滿足某些時間上的特殊限制。針對這些特性,我們設計了一個 內含式系統的多線 ( multi-thread) 即時 (real-time) 核心。多線管 理功能支援應用程式在同一位址空間內,動態地產生多個並行執行的執行 線;而即時功能可同時支援周期性與非周期性之即時應用,並提供一個穩 定、甚且可預估執行時間之執行環境。我們的多線管理是屬於使用者階層 的管理方式。無論執行線的產生、執行、或消失,都視為是區域性的行為 ,並未由核心直接管理,而是透過 process 來經營。每個 process 代 表旗下的執行線向核心爭取系統資源,再分配給這些執行線。這些系統資 源包括 CPU 時間,亦即經由 process 代表旗下的執行線參加核心階層 的 scheduling。在時間上有特殊要求的執行線必須事先宣告為即時執行 線。其宣告之同時,需要描述其時間限制之特性,包括最早起始時間、最 後終止時間 (deadline)、 最多花費時間、重複周期等資訊。核心內部並 有一個即時佇列專門負責即時執行線之排班 (scheduling): 所有新產生 的即時執行線在產生之後即依照其 deadline 循序排進此即時佇列。即時 佇列本身有一個倒數計時器,根據計時器的內容,核心便可決定是否要開 始一個新的即時執行線,或中止目前這個已超過時間限制的執行線。核心 內部並有一個系統參考時鐘,所有關於時間方面的描述皆以此系統時間為 準。我們的多線即時核心是直接架在 Intel 80486 微處理機的保護模式 上。此保護模式對於我們多線即時核心的建立提供了三種重要的原始指令 :虛擬位址空間之管理,中斷處理,與 context switch 能力。本文分六 章:第一章緒論;第二章描述我們的物件導向系統架構;第三章討論 process 與多線管理;第四章關於對即時應用之支援與作法;第五章詳 列應用程式界面函式庫內各函式;第六章是總結,有一個示範程式用來示 範此多線即時核心之應用。