pSOS

pSOS是一種實時的嵌入式作業系統。是美國系統集成公司(Integrated Systems, Inc. 簡稱ISI公司)根據幾十年從事嵌入式實時系統理論研究與實踐活動而設計開發的。該產品推出時間比較早,因此比較成熟,可以支持多種處理器,曾是國際上套用最廣泛的產品,主要套用領域是遠程通信,航天,信息家電和工業控制。但該公司已經被風河公司(windriver)兼併,從VxWorks5.5開始,已將PSOS的主要特點融入VxWorks中。PSOS是一個由標準軟組建組成的,可編輯的實時作業系統。其系統結構可以分為核心層,系統服務層,用戶層。

基本介紹

簡介,組件,系統結構,pSOSystem 系統模組,pSOSystem 支持的晶片,幾個基本概念,任務,優先權,任務狀態,任務控制塊,

簡介

pSOS是美國系統集成公司(Integrated Systems, Inc. 簡稱ISI公司)根據幾十年從事嵌入式實時系統理論研究與實踐活動而設計開發的。該產品推出時間比較早,因此比較成熟,可以支持多種處理器,曾是國際上套用最廣泛的產品,主要套用領域是遠程通信,航天,信息家電和工業控制。但該公司已經被風河公司(windriver)兼併,從VxWorks5.5開始,已將PSOS的主要特點融入VxWorks中。PSOS是一個由標準軟組建組成的,可編輯的實時作業系統。其系統結構可以分為核心層,系統服務層,用戶層
pSOSystem 集成了一整套嵌入式軟體模組、工具和服務。作為嵌入式系統微核心設計的先驅者之一,ISI公司將pSOSystem構造成適於嵌入式套用系統開發、在嵌入式實時領域具有領導地位的實時作業系統。pSOSystem從ISI 公司和許多第三廠家得到大量的支持。
pSOSystem 是一個專門為嵌入式微處理器設計和開發的模組化、高效率的實時作業系統。它提供了基於標準化開放系統的完整的多任務環境,例如:對網路檔案系統的支持。
pSOSystem 的設計宗旨是為了實現高效、可靠、易於使用的嵌入式實時軟體,以支持用戶自己設計的或商品化的硬體系統
pSOSystem 的每一部分都是完全“自包含”的,這種機制允許開發者根據每個套用的特殊要求對作業系統的功能和記憶體進行裁剪和配製。pSOSystem 的這種設計,使得開發人員對簡單的獨立設備及複雜的可容錯多處理機系統都可以靈活配置。
pSOSystem提供了一套集成化的交叉開發工具以支持套用系統的開發。該集成環境可在PC機或工作站上運行。這些工具可通過多種連線機制與目標機通訊。

組件

pSOS是一個由標準軟組件組成的,可剪裁的實時作業系統。它分為核心層、系統服務層、用戶層。
1. 核心層
pSOS核心負責任務 的管理與調度、任務間通信、記憶體管理、實時時鐘管理、中斷服務;可以動態生成或刪除任務、記憶體區、訊息佇列、信號燈等系統對象;實現了基於優先權的、選擇 可搶占的任務調度算法,並提供了可選的時間片輪轉調度。pSOS Kernel還提供了任務建間通信機制及同步、互斥手段,如訊息、信號燈、事件、異步信號等。
pSOS作業系統在Kernel層中將與具體硬體有 關的操作放在一個模組中,對系統服務層以上禁止了具體的硬體特性,從而使得pSOS很方便地從支持Intel 80x86系列轉到支持MC68XXX系列,並且在系統服務層上對不同套用系統不同用戶提供標準的軟組件如PNA+、PHILE+等。
2. 系統服務層
pSOS系統服務層包括PNA+、PRPC+、PHILE+等組件。PNA+實現了完整的基於流的TCP/IP協定集,並具有良好的實 時性能,網路組件內中斷禁止時間不大於核心模組中斷禁止時間。PRPC+提供了遠程調用庫,支持用戶建立一個分散式套用系統。PHILE+提供了檔案系統 管理和對塊存儲設備的管理。PREPC+提供了標準的C、C++庫,支持用戶使用C、C++語言編寫應用程式。由於pSOS核心禁止了具體 的硬體特性,因此,pSOS系統服務層的軟組件是標準的、與硬體無關的。這意味著pSOS各種版本,無論是對80X86系列還是MC68XXX系列,其系 統服務層各組件是標準的、同一的,這減少了軟體維護工作,增強了軟體可移植性。每個軟組件都包含一系列的系統調用。對用戶而言,這些系統調用就象一個個可 重入的C函式,然而它們卻是用戶進入pSOS核心的唯一手段。
3. 用戶層
用戶指的是用戶編寫的應用程式,它們是以任務的形式出現的。任 務通過發系統調用而進入pSOS核心,並為pSOS核心所管理和調度。pSOS為用戶還提供了一個集成式的開發環境(IDE)。pSOS_IDE可駐留於 UNIX或DOS環境下,它包括C和C++最佳化編譯器、CPU和pSOS模擬仿真和DEBUG功能。pSOS核心機制。

系統結構

pSOSystem 具有模組化的結構。圍繞作業系統核心pSOS+有一系列軟體功能模組。軟體功能模組是標準的結構塊,因此,不同套用可不加修改地使用它們。這些模組採用了黑盒子技術,可以使用戶免於維護,並且確保高可靠性。
pSOSystem 系統結構pSOSystem 系統結構

pSOSystem 系統模組

●pSOS+ 實時多任務核心
它是一個經多個套用領域驗證的多任務核心。它提供一種及時應答、高效的機制與用戶的實時套用系統協調合作。現階段,全世界範圍內有超過二千萬的嵌入式設備運行著pSOS+。
●pSOS+m 多處理器多任務核心
擴展了pSOS+ 的一些特性,使得在緊耦合松耦合的多處理器上的操作可無縫隙實現。
●pNA+ TCP/IP協定棧
是一個完全的TCP/IP協定組,包括:網關路由協定、UDP、ARP和IGMP等等。pNA+ 使用標準的套(Socket)接口,包括流(Stream)、報文(Datagram)、Raw Socket。
●pRPC+遠程調用函式館
提供了與SUN 兼容的 RPC 和XDR服務;允許用戶用熟悉的遠程調用來構造分散式套用
●pHILE+檔案系統管理
可以通過它有效地訪問各種不同的存儲設備,包括本地盤和網路盤。檔案系統支持包括 CD-ROM 設備、MS-DOS 兼容的檔案系統,和pSOSystem特有的快速檔案系統。
●pREPC+標準ANSI C 函式館
提供可重入(Re-Entrant)版本的、流行的ANSI C函式功能庫,例如 printf() 和 malloc()。完全與pSOS+ 和 I/O 設備集成在一起。
●pROBE+
pROBE+是一個駐留在目標機上的調試器,它能夠對目標機上運行的程式進行調試監控,並同宿主機進行通訊以提供宿主機上的源語言調試器所需信息。pROBE+本身不依賴於 pSOS+, 可使開發人員在開發BSP 時得到調試支持。
模組化技術提供了硬體抽象層概念。硬體抽象層分為晶片級初始化和設備驅動程式,這些底層的硬體程式獨立於pSOSystem模組和用戶的套用。這樣開發的應用程式不會因為處理器和外圍設備的更新而被淘汰。因此,如果更新和升級硬體,用戶只需簡單地修改一下硬體抽象層的設備驅動程式
pSOSystem 開發環境pSOSystem 開發環境

pSOSystem 支持的晶片

●Motorola &IBM 的PowerPC家族
●Motorola 的68xxx 家族,包括 CPU32/CPU32+
●Motorola 的Coldfire
●MIPS
●ARM 和StrongARM
●X86,K6, Pentium
●Intel I960 家族,包括 Big/Little Endian
●Super Hitachi(SH)
●Motorola M-CORE的結構

幾個基本概念

任務

實時作業系統中,任務是參與資源競爭(如CPU、Memory、I/Odevices等)的基本單位。pSOS為每個任務構造了一個虛擬的、隔離的環境,從而在概念上,一個任務與另一個任務之間可以相互並行、獨立地執行。任務與任務之間的切換、任務之間的通信都是通過發系統調用(在有些情況下是通過ISR)進入pSOS Kernel,由pSOS Kernel完成的。
pSOS系統中任務包括系統任務和用戶任務兩類。關於用戶任務的劃分並沒有一個固定的法則,但很明顯,劃分太多將導致任務間的切換過於頻繁,系統開銷太大,劃分太少又會導致實時性和並行性下降,從而影響系統的效率。一般說來,功能模組A與功能模組B是分開為兩個任務還是合為一個任務可以從是否具有時間相關性、優先性、邏輯特性和功能耦合等幾個方面考慮。

優先權

每個任務都有一個優先權。pSOS系統支持0~255級優先權,0級最低,255級最高。0級
專為IDLE任務所有,240~255級為系統所用。在運行時,任務(包括系統任務)的優先權可以通過t_setpri系統調用改變。

任務狀態

pSOS下任務具有三種可能狀態並處於這三個狀態之一。只有通過任務本身或其他任務、ISR對pSOS核心所作的系統調用才能改變任務狀態。從巨觀角度看,一個多任務套用通過一系列到pSOS的系統調用迫使pSOS核心改變受影響任務而從運行一個任務到運行另一任務向前發展的。對於pSOSkernel,任務在創建前或被刪除後是不存在的。被創建的任務在能夠運行前必須被啟動。一旦啟動後,一個任務通常處於下面三個狀態之一:
①Executing (Ready)就緒
②Running運行
③Blocked阻塞
就緒任務是未被阻塞可運行的,只等待高優先權任務釋放CPU的任務。由於一個任務只能由正運行的任務通過調用來被啟動,而且任何時刻只能有一個正在運行的任務,所以新任務總是從就緒態開始。運行態任務是正在使用CPU的就緒任務,系統只能有一個running任務。一般running任務是所有就緒任務中優先權最高的,但也有例外。
任務是由自身特定活動而變為阻塞的,通常是系統調用引起調用任務進入等待狀態的。所以任務不可能從ready態到blocked態,因為只有運行任務才能執行系統調用。

任務控制塊

任務控制塊TCB是pSOS核心建立並維護的一個系統數據結構,它包含了pSOSKernel調度與管理任務所需的一切信息,如任務名、優先權、剩餘時間片數、當前暫存器狀態等。在有的RTOS中,任務的狀態與任務TCB所處的佇列是等同的。pSOS作業系統將二者分為兩個概念,例如任務處於阻塞狀態,但它的TCB卻處於訊息等待佇列、信號燈等待佇列、記憶體等待佇列、逾時佇列之一。
pSOS啟動時,將根據Configuration Table中的參數kc_ntask建立一個包含kc_ntask個TCB塊的TCB池,它表示最大並行任務數。在創建一個任務時,分配一個TCB給該任務,在撤銷一個任務時,該TCB將被收回。

相關詞條

熱門詞條

聯絡我們