實時操作系統(tǒng)VxWorks
互聯(lián)網(wǎng)
摘要: VxWorks組成部分VxWorks操作系統(tǒng)包括了進程管理、存儲管理、設(shè)備管理、文件系統(tǒng)管理、網(wǎng)絡(luò)協(xié)議及系統(tǒng)應(yīng)用...
Abstract:
Key words :
VxWorks組成部分
VxWorks 操作系統(tǒng)包括了進程管理、存儲管理、設(shè)備管理、文件系統(tǒng)管理、網(wǎng)絡(luò)協(xié)議及系統(tǒng)應(yīng)用等幾個部分。VxWorks只占用了很小的存儲空間,并可高度裁減,保證了系統(tǒng)能以較高的效率運行。 VxWorks由以下幾個主要部分組成:
1.高性能的實時操作系統(tǒng)核心 wind
VxWorks 的核心,被稱作 wind,包括多任務(wù)調(diào)度(采用優(yōu)先級搶占方式),任務(wù)間的同步和進程間通信機制以及中斷處理,看門狗和內(nèi)存管理機制。一個多任務(wù)環(huán) 境允許實時應(yīng)用程序以一套獨立任務(wù)的方式構(gòu)筑,每個任務(wù)擁有獨立的執(zhí)行線程和 它自己的一套系統(tǒng)資源。進程間通信機制使得這些任務(wù)的行為同步、協(xié)調(diào)。
wind使用中斷驅(qū)動和優(yōu)先級的方式。它縮短了上下文轉(zhuǎn)換的時間開銷和中斷的時延。在 VxWorks 中,任何例程都可以被啟動為一個單獨的任務(wù),擁有它自己的上下文和 堆棧。還有一些其它的任務(wù)機制可以使任務(wù)掛起、繼續(xù)、刪除、延時或改變優(yōu)先級。 wind 核提供信號量作為任務(wù)間同步和互斥的機制。在 wind 核中有幾種類型的信號
量,它們分別針對不同的應(yīng)用需求:二進制信號量、計數(shù)信號量、互斥信號量和 POSIX 信號量。所有的這些信號量是快速和高效的,它們除了被應(yīng)用在開發(fā)設(shè)計過 程中外,還被廣泛地應(yīng)用在 VxWorks 高層應(yīng)用系統(tǒng)中。對于進程間通信,wind 核 也提供了諸如消息隊列、管道、套接字和信號等機制。
2.I/O 系統(tǒng)
VxWorks 提供了一個快速靈活的與 ANSI C 兼容的 I/O 系統(tǒng),包括 UNIX 標準的緩 沖 I/O 和POSIX 標準的異步 I/O。VxWorks 包括以下驅(qū)動程序:網(wǎng)絡(luò)驅(qū)動、管道驅(qū) 動、RAM盤驅(qū)動、SCSI驅(qū)動、鍵盤驅(qū)動、顯示驅(qū)動、磁盤驅(qū)動、并口驅(qū)動等。
3.文件系統(tǒng)
VxWorks 提供的快速文件系統(tǒng)適合于實時系統(tǒng)應(yīng)用。它包括幾種支持使用塊設(shè)備(如磁盤)的本地文件系統(tǒng)。這些設(shè)備都使用一個標準的接口從而使得文件系統(tǒng)能夠被靈 活地在設(shè)備驅(qū)動程序上移植。另外,VxWorks 也支持 SCSI 磁帶設(shè)備的本地文件系統(tǒng)。 VxWorks I/O 體系結(jié)構(gòu)甚至還支持在一個單獨的 VxWorks 系統(tǒng)上同時并存幾個不同的 文件系統(tǒng)。
VxWorks 支持四種文件系統(tǒng): dosFs,rt11Fs,rawFs 和 tapeFs。
另一方面,普通數(shù)據(jù)文件,外部設(shè)備都統(tǒng)一作為文件處理。它們在用戶面前有相同的 語法定義,使用相同的保護機制。這樣既簡化了系統(tǒng)設(shè)計又便于用戶使用。
4.板級支持包 BSP(Board Support Package)
板級支持包對各種板子的硬件功能提供了統(tǒng)一的軟件接口,它包括硬件初始化、中斷 的產(chǎn)生和處理、硬件時鐘和計時器管理、局域和總線內(nèi)存地址映射、內(nèi)存分配等等。 每個板級支持包括一個 ROM 啟動(Boot ROM)或其它啟動機制。
5.網(wǎng)絡(luò)設(shè)施
VxWorks的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,它提供了對其它網(wǎng)絡(luò)和 TCP/IP 網(wǎng)絡(luò)系統(tǒng)的"透明"訪問,包括與BSD套接字兼容的編程接口,遠程過程調(diào)用(RPC),SNMP(可選項),遠程文件 訪問(包括客戶端和服務(wù)端的NFS機制以及使用RSH,F(xiàn)TP 或 TFTP的非NFS機制)以及 BOOTP 和 ARP 代理。無論是松耦合的串行線路、標準的以太網(wǎng)連接還是緊耦合的利用 共享內(nèi)存的背板總線,所有的 VxWorks 網(wǎng)絡(luò)機制都遵循標準的 Internet 協(xié)議。
6.先進的系列網(wǎng)絡(luò)產(chǎn)品
VxWorks內(nèi)的WindNet 是先進的、系列的網(wǎng)絡(luò)產(chǎn)品,這些產(chǎn)品擴展了VxWorks的網(wǎng)絡(luò)特性 并增強了嵌入式處理器的網(wǎng)絡(luò)特性。 WindNet SNMP
WindNet STREAMS
WindNet 第三方產(chǎn)品,包括 OSI、SS7、ATM、Frame Relay、CORBA、ISDN、X.25、
CMIP/GDMO、分布式網(wǎng)絡(luò)管理等。
7.虛擬內(nèi)存(即 VxVMI 選項)與共享內(nèi)存(即 VxMP 選項)
VxVMI 為帶有 MMU 的目標板提供了虛擬內(nèi)存機制。VxMP 提供了共享信號量,消息隊列 和在不同處理器之間的共享內(nèi)存區(qū)域。
8.目標代理(Target Agent)
目標代理遵循 WBD(Wind Debug)協(xié)議,允許目標機與主機上的 Tornado 開發(fā)工具相 連。在目標代理的缺省設(shè)置中,如圖3所示,目標代理是以 VxWorks 的一個任務(wù)-- tWdbTask 的形式運行的。
Tornado 目標服務(wù)器(Target Server)向目標代理發(fā)送調(diào)試請求。調(diào)試請求通常決定 目標代理對系統(tǒng)中其它任務(wù)的控制和處理。缺省狀態(tài)下,目標服務(wù)器與目標代理通過網(wǎng) 絡(luò)進行通信,但是用戶也可以改變通信方式。
9.實用庫
VxWorks 提供了一個實用例程的擴展集,包括中斷處理、看門狗計時器、消息登錄、內(nèi)存分配、字符掃描、線緩沖和環(huán)緩沖管理、鏈表管理和 ANSI C 標準。
10.基于目標機的工具
在 Tornado 開發(fā)系統(tǒng)中,開發(fā)工具是駐留在主機上的。但是也可以根據(jù)需要將基于目標機的Shell 和裝載卸載模塊加入 VxWorks。
VxWorks 操作系統(tǒng)包括了進程管理、存儲管理、設(shè)備管理、文件系統(tǒng)管理、網(wǎng)絡(luò)協(xié)議及系統(tǒng)應(yīng)用等幾個部分。VxWorks只占用了很小的存儲空間,并可高度裁減,保證了系統(tǒng)能以較高的效率運行。 VxWorks由以下幾個主要部分組成:
1.高性能的實時操作系統(tǒng)核心 wind
VxWorks 的核心,被稱作 wind,包括多任務(wù)調(diào)度(采用優(yōu)先級搶占方式),任務(wù)間的同步和進程間通信機制以及中斷處理,看門狗和內(nèi)存管理機制。一個多任務(wù)環(huán) 境允許實時應(yīng)用程序以一套獨立任務(wù)的方式構(gòu)筑,每個任務(wù)擁有獨立的執(zhí)行線程和 它自己的一套系統(tǒng)資源。進程間通信機制使得這些任務(wù)的行為同步、協(xié)調(diào)。
wind使用中斷驅(qū)動和優(yōu)先級的方式。它縮短了上下文轉(zhuǎn)換的時間開銷和中斷的時延。在 VxWorks 中,任何例程都可以被啟動為一個單獨的任務(wù),擁有它自己的上下文和 堆棧。還有一些其它的任務(wù)機制可以使任務(wù)掛起、繼續(xù)、刪除、延時或改變優(yōu)先級。 wind 核提供信號量作為任務(wù)間同步和互斥的機制。在 wind 核中有幾種類型的信號
量,它們分別針對不同的應(yīng)用需求:二進制信號量、計數(shù)信號量、互斥信號量和 POSIX 信號量。所有的這些信號量是快速和高效的,它們除了被應(yīng)用在開發(fā)設(shè)計過 程中外,還被廣泛地應(yīng)用在 VxWorks 高層應(yīng)用系統(tǒng)中。對于進程間通信,wind 核 也提供了諸如消息隊列、管道、套接字和信號等機制。
2.I/O 系統(tǒng)
VxWorks 提供了一個快速靈活的與 ANSI C 兼容的 I/O 系統(tǒng),包括 UNIX 標準的緩 沖 I/O 和POSIX 標準的異步 I/O。VxWorks 包括以下驅(qū)動程序:網(wǎng)絡(luò)驅(qū)動、管道驅(qū) 動、RAM盤驅(qū)動、SCSI驅(qū)動、鍵盤驅(qū)動、顯示驅(qū)動、磁盤驅(qū)動、并口驅(qū)動等。
3.文件系統(tǒng)
VxWorks 提供的快速文件系統(tǒng)適合于實時系統(tǒng)應(yīng)用。它包括幾種支持使用塊設(shè)備(如磁盤)的本地文件系統(tǒng)。這些設(shè)備都使用一個標準的接口從而使得文件系統(tǒng)能夠被靈 活地在設(shè)備驅(qū)動程序上移植。另外,VxWorks 也支持 SCSI 磁帶設(shè)備的本地文件系統(tǒng)。 VxWorks I/O 體系結(jié)構(gòu)甚至還支持在一個單獨的 VxWorks 系統(tǒng)上同時并存幾個不同的 文件系統(tǒng)。
VxWorks 支持四種文件系統(tǒng): dosFs,rt11Fs,rawFs 和 tapeFs。
另一方面,普通數(shù)據(jù)文件,外部設(shè)備都統(tǒng)一作為文件處理。它們在用戶面前有相同的 語法定義,使用相同的保護機制。這樣既簡化了系統(tǒng)設(shè)計又便于用戶使用。
4.板級支持包 BSP(Board Support Package)
板級支持包對各種板子的硬件功能提供了統(tǒng)一的軟件接口,它包括硬件初始化、中斷 的產(chǎn)生和處理、硬件時鐘和計時器管理、局域和總線內(nèi)存地址映射、內(nèi)存分配等等。 每個板級支持包括一個 ROM 啟動(Boot ROM)或其它啟動機制。
5.網(wǎng)絡(luò)設(shè)施
VxWorks的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,它提供了對其它網(wǎng)絡(luò)和 TCP/IP 網(wǎng)絡(luò)系統(tǒng)的"透明"訪問,包括與BSD套接字兼容的編程接口,遠程過程調(diào)用(RPC),SNMP(可選項),遠程文件 訪問(包括客戶端和服務(wù)端的NFS機制以及使用RSH,F(xiàn)TP 或 TFTP的非NFS機制)以及 BOOTP 和 ARP 代理。無論是松耦合的串行線路、標準的以太網(wǎng)連接還是緊耦合的利用 共享內(nèi)存的背板總線,所有的 VxWorks 網(wǎng)絡(luò)機制都遵循標準的 Internet 協(xié)議。
6.先進的系列網(wǎng)絡(luò)產(chǎn)品
VxWorks內(nèi)的WindNet 是先進的、系列的網(wǎng)絡(luò)產(chǎn)品,這些產(chǎn)品擴展了VxWorks的網(wǎng)絡(luò)特性 并增強了嵌入式處理器的網(wǎng)絡(luò)特性。 WindNet SNMP
WindNet STREAMS
WindNet 第三方產(chǎn)品,包括 OSI、SS7、ATM、Frame Relay、CORBA、ISDN、X.25、
CMIP/GDMO、分布式網(wǎng)絡(luò)管理等。
7.虛擬內(nèi)存(即 VxVMI 選項)與共享內(nèi)存(即 VxMP 選項)
VxVMI 為帶有 MMU 的目標板提供了虛擬內(nèi)存機制。VxMP 提供了共享信號量,消息隊列 和在不同處理器之間的共享內(nèi)存區(qū)域。
8.目標代理(Target Agent)
目標代理遵循 WBD(Wind Debug)協(xié)議,允許目標機與主機上的 Tornado 開發(fā)工具相 連。在目標代理的缺省設(shè)置中,如圖3所示,目標代理是以 VxWorks 的一個任務(wù)-- tWdbTask 的形式運行的。
Tornado 目標服務(wù)器(Target Server)向目標代理發(fā)送調(diào)試請求。調(diào)試請求通常決定 目標代理對系統(tǒng)中其它任務(wù)的控制和處理。缺省狀態(tài)下,目標服務(wù)器與目標代理通過網(wǎng) 絡(luò)進行通信,但是用戶也可以改變通信方式。
9.實用庫
VxWorks 提供了一個實用例程的擴展集,包括中斷處理、看門狗計時器、消息登錄、內(nèi)存分配、字符掃描、線緩沖和環(huán)緩沖管理、鏈表管理和 ANSI C 標準。
10.基于目標機的工具
在 Tornado 開發(fā)系統(tǒng)中,開發(fā)工具是駐留在主機上的。但是也可以根據(jù)需要將基于目標機的Shell 和裝載卸載模塊加入 VxWorks。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。