1.1嵌入式操作系統(tǒng)及其開發(fā)環(huán)境的應(yīng)用背景
1.1.1 應(yīng)用挑戰(zhàn)
應(yīng)用范圍方面:
在嵌入式系統(tǒng)應(yīng)用中,由于使用16位以下的CPU的資源量較少,任務(wù)比較簡單,程序員可以
在應(yīng)用程序中自己管理CPU資源,不一定需要一個(gè)專用的系統(tǒng)軟件,管理CPU。當(dāng)嵌入式系
統(tǒng)比較復(fù)雜而采用32位CPU時(shí)情況就不同了,32位CPU的資源量非常大,尋址可以達(dá)到4GB空
間,處理能力也非常強(qiáng)大,可以實(shí)現(xiàn)實(shí)時(shí)多任務(wù)并發(fā)處理,因此如果仍然沿用手工編制CP
U管理程序,面對(duì)復(fù)雜的應(yīng)用,就很難發(fā)揮出32位CPU的處理能力,開發(fā)出高效可靠的應(yīng)用
系統(tǒng)。
管理CPU的系統(tǒng)軟件是每一個(gè)系統(tǒng)所必需的,不同的CPU平臺(tái),差異很大。如果都要應(yīng)用系
統(tǒng)的開發(fā)者自己完成,那么每次都要重復(fù)開發(fā),造成不必要的資源浪費(fèi),延長了開發(fā)周期
,增加了開發(fā)成本。而且CPU管理是整個(gè)系統(tǒng)的基礎(chǔ),任何缺陷都可能引起嚴(yán)重的問題,這
樣,就使開發(fā)者耗費(fèi)大量的精力放在與應(yīng)用無關(guān)的系統(tǒng)管理上。
1.1.2 VxWorks 簡介
VxWorks是專門為實(shí)時(shí)嵌入式系統(tǒng)設(shè)計(jì)開發(fā)的操作系統(tǒng)內(nèi)核,為程序員提供了高效的實(shí)時(shí)多
任務(wù)調(diào)度、中斷管理,實(shí)時(shí)的系統(tǒng)資源以及實(shí)時(shí)的任務(wù)間通信。在各種CPU平臺(tái)上提供了統(tǒng)
一的編程接口和一致的運(yùn)行特性,盡可能的屏蔽了不同CPU 之間的底層差異。應(yīng)用程序員
可以將盡可能多的精力放在應(yīng)用程序本身,而不必再去關(guān)心系統(tǒng)資源的管理?;赩xWork
s操作系統(tǒng)的應(yīng)用程序可以在不同CPU平臺(tái)上輕松移植。
VxWorks 是美國 Wind River System 公司( 以下簡稱風(fēng)河公司 ,即 WRS 公司)推出的
一個(gè)實(shí)時(shí)操作系統(tǒng)。WRS 公司組建于1981年,是一個(gè)專門從事實(shí)時(shí)操作系統(tǒng)開發(fā)與生產(chǎn)的
軟件公司,該公司在實(shí)時(shí)操作系統(tǒng)領(lǐng)域被世界公認(rèn)為是最具有領(lǐng)導(dǎo)作用的公司。
VxWorks 是一個(gè)運(yùn)行在目標(biāo)機(jī)上的高性能、可裁減的嵌入式實(shí)時(shí)操作系統(tǒng)。它以其良好的
可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要
求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機(jī)導(dǎo)航等。在美國的 F-16、FA-
18 戰(zhàn)斗機(jī)、B-2 隱形轟炸機(jī)和愛國者導(dǎo)彈上,1997年4月在火星表面登陸的火星探路者上
也使用了VxWorks。
VxWorks是一種功能強(qiáng)大而且比較復(fù)雜的操作系統(tǒng),包括了進(jìn)程管理、存儲(chǔ)管理、設(shè)備管理
、文件系統(tǒng)管理、網(wǎng)絡(luò)協(xié)議及系統(tǒng)應(yīng)用等幾個(gè)部分。VxWorks只占用了很小的存儲(chǔ)空間,并
可高度裁減,保證了系統(tǒng)能以較高的效率運(yùn)行。所以,僅僅依靠人工編程調(diào)試,很難發(fā)揮
它的功能并設(shè)計(jì)出可靠、高效的嵌入式系統(tǒng),必須要有與之相適應(yīng)的開發(fā)工具。TornadoI
I就是為開發(fā)VxWorks應(yīng)用系統(tǒng)提供的集成開發(fā)環(huán)境,TornadoII中包含的工程管理軟件,可
以將用戶自己的代碼與VxWorks的核心有效的組合起來,可以按用戶的需要裁剪配置VxWor
ks內(nèi)核;vxSim原型仿真器可以讓程序員不用目標(biāo)機(jī)的情況下,直接開發(fā)系統(tǒng)原型,作出系
統(tǒng)評(píng)估;功能強(qiáng)大的CrossWind調(diào)試器可以提供任務(wù)級(jí)和系統(tǒng)級(jí)的調(diào)試模式,可以進(jìn)行多目
標(biāo)機(jī)的聯(lián)調(diào);優(yōu)化分析工具可以幫助程序員從多種方式真正地觀察、跟蹤系統(tǒng)的運(yùn)行,排
除錯(cuò)誤,優(yōu)化性能。
1.2 TornadoII 嵌入式開發(fā)系統(tǒng)概述
1.2.1 TornadoII 嵌入式開發(fā)系統(tǒng)簡介
TornadoII開發(fā)環(huán)境是嵌入式實(shí)時(shí)領(lǐng)域里最新一代的開發(fā)調(diào)試環(huán)境,是實(shí)現(xiàn)嵌入式實(shí)時(shí)應(yīng)用
程序的完整的軟件開發(fā)平臺(tái),是交叉開發(fā)環(huán)境運(yùn)行在主機(jī)上的部分,是開發(fā)和調(diào)試VxWork
s系統(tǒng)不可缺少的組成部分。TornadoII給嵌入式系統(tǒng)開發(fā)人員提供了一個(gè)不受目標(biāo)機(jī)資源
限制的超級(jí)開發(fā)和調(diào)試環(huán)境。
TornadoII 開發(fā)系統(tǒng)包含三個(gè)高度集成的部分:
運(yùn)行在宿主機(jī)和目標(biāo)機(jī)上的強(qiáng)有力的交叉開發(fā)工具和實(shí)用程序;
運(yùn)行在目標(biāo)機(jī)上的高性能、可裁剪的實(shí)時(shí)操作系統(tǒng)VxWorks;
連接宿主機(jī)和目標(biāo)機(jī)的多種通訊方式,如:以太網(wǎng),串口線,ICE或ROM仿真器等
。
Torando II嵌入式集成開發(fā)系統(tǒng)結(jié)構(gòu)圖
1.2.2 VxWorks主要的應(yīng)用領(lǐng)域
消費(fèi)電子
掌上電腦
機(jī)頂盒
可視電話
汽車導(dǎo)航系統(tǒng)
航空航天
飛行模擬器
航班管理系統(tǒng)
衛(wèi)星跟蹤系統(tǒng)
航空電子設(shè)備
數(shù)字圖象設(shè)備
打印機(jī)、傳真機(jī)
數(shù)字復(fù)印機(jī)
數(shù)字相機(jī)
數(shù)據(jù)通訊網(wǎng)絡(luò)
交換機(jī)
路由器
遠(yuǎn)程訪問服務(wù)器
ATM及幀中繼交換機(jī)
電信設(shè)備
PBXs,ACDs
CD交換系統(tǒng)
移動(dòng)通訊基站
蜂窩式電話
Cable Modem
交通運(yùn)輸
汽車發(fā)動(dòng)機(jī)控制
交通信號(hào)控制
高速列車控制
工業(yè)控制
機(jī)器人
測試與測量設(shè)備
過程控制系統(tǒng)
計(jì)算機(jī)外設(shè)
網(wǎng)絡(luò)計(jì)算機(jī)
X終端
RAID存儲(chǔ)系統(tǒng)
I/O控制設(shè)備
1.2.3 TornadoII支持的主機(jī)
Sun-4: Sun OS 4.1.x; Solaris 2.4/2.5; Solaris 2.5.1/2.6; Solaris 2.7;
HP 9000/700: HP-UX 9.0.7; HP-UX 10.10; HP-X 10.20;
PC: Win95; Win98; WinNT
1.2.4 VxWorks支持的目標(biāo)機(jī)CPU
Motorola 68k:
68000; 68010; 68020; 68030; 68040; 68060; CPU32;
Motorola ColdFire:
MCF51xx; MCF52xx; MF53xx
Motorola/IBM Power PC:
PPC4xx; PPC6xx; PPC7xx; MPC5xx; MPC8xx; MPC82x;
Motorola M-CORE
Intel: i386; i486; Pentium; Pentium-Pro;
Intel Strong ARM: SA-110; SA-1100; SA-1110;
ARM: ARM7; ARM7T; ARM8,ARM9;
i960:KA/KB/CA/JX/RP; RP/RD;
NEC:V85x; V83x;
NEC/LSI MIPS:
R3K; R4K; Vr41xx; R4700; CW400x; CW4011; R5K;
HITACHI SH: SH-1; SH-2; SH-3; SH-4; SH-DSP; SH3-DSP;
SUN SPARC: UltraSPARC; SPARC
今天就先第一章吧,大家有興趣的話有空再繼續(xù)貼
--
^_^
※ 來源:·飲水思源 bbs.sjtu.edu.cn·[FROM: 211.80.52.19]
發(fā)信人: googol (Eternal Technology), 信區(qū): Robot
標(biāo) 題: 第2章 VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)
發(fā)信站: 飲水思源 (2004年06月26日02:52:13 星期六)
第二天了,繼續(xù)繼續(xù)
第2章 VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)
2.1 VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)概述
2.1.1 VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)背景簡介
我們知道,用戶在開發(fā)具有日益復(fù)雜的32位嵌入式處理器的產(chǎn)品時(shí),需要一個(gè)用來連接產(chǎn)
品應(yīng)用程序和底層硬件的操作系統(tǒng)。用戶所尋求的操作系統(tǒng)應(yīng)該具有的最重要的特點(diǎn)包括
:
可靠性高的實(shí)時(shí)性能
可下載到最終產(chǎn)品的板上內(nèi)存的豐富和靈活的功能模塊集
與綜合全面的主機(jī)開發(fā)環(huán)境的可協(xié)同工作。
VxWorks操作系統(tǒng)是美國WindRiver公司于1983年設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(RT
OS),是TornadoII嵌入式開發(fā)環(huán)境的關(guān)鍵組成部分。良好的持續(xù)發(fā)展能力、高性能的內(nèi)核
以及友好的用戶開發(fā)環(huán)境,在嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域逐漸占據(jù)一席之地。首先,它十分
靈活,具有多達(dá)1800個(gè)功能強(qiáng)大的應(yīng)用程序接口(API);其次,它適用方面廣,可以適用
于從最簡單到最復(fù)雜的產(chǎn)品設(shè)計(jì);再次,它可靠性高,可以用于從防抱死剎車系統(tǒng)到星際
探索的關(guān)鍵任務(wù);最后,適用性強(qiáng),可以用于所有的流行的CPU平臺(tái)。
2.2.2 VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)的簡介
VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)包括微內(nèi)核wind、高級(jí)的網(wǎng)絡(luò)支持、強(qiáng)有力的文件系統(tǒng)和I/O
管理、C++和其他標(biāo)準(zhǔn)支持等核心功能。這些核心功能還可以與WindRiver公司的其他產(chǎn)品
以及320個(gè)WindRiver公司的合作伙伴的產(chǎn)品聯(lián)合使用。
1. 高性能的微內(nèi)核設(shè)計(jì)
處于VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)核心的是高性能的微內(nèi)核wind。這個(gè)微內(nèi)核支持所有的實(shí)
時(shí)特征:快速任務(wù)切換、中斷支持、搶占式和時(shí)間片輪轉(zhuǎn)調(diào)度等。微內(nèi)核設(shè)計(jì)減少了系統(tǒng)
開銷,從而保證了對(duì)外部事件的快速、確定的反應(yīng)。
運(yùn)行環(huán)境也提供了有效的任務(wù)間通信機(jī)制,允許獨(dú)立的任務(wù)在實(shí)時(shí)系統(tǒng)中與其行動(dòng)相協(xié)調(diào)
。開發(fā)者在開發(fā)應(yīng)用程序時(shí)可以使用多種方法:用于簡單數(shù)據(jù)共享的共享內(nèi)存、用于單CP
U的多任務(wù)間信息交換的消息隊(duì)列和管道、套接口、用于網(wǎng)絡(luò)通信的遠(yuǎn)程過程調(diào)用、用于處
理異常事件的信號(hào)等。為了控制關(guān)鍵的系統(tǒng)資源,提供了三種信號(hào)燈:二進(jìn)制、計(jì)數(shù)、有
優(yōu)先級(jí)繼承特性的互斥信號(hào)燈。
2. 可裁剪的運(yùn)行軟件
VxWorks之所以設(shè)計(jì)為具有可裁剪性,是為了使開發(fā)者能夠根據(jù)自己的應(yīng)用程序需要,而不
是根據(jù)操作系統(tǒng)的需要,來分配稀少的內(nèi)存資源。從需要幾個(gè)KB字節(jié)內(nèi)存的深層嵌入式設(shè)
計(jì)到需要更多的操作系統(tǒng)的功能的復(fù)雜的高端的實(shí)時(shí)系統(tǒng),開發(fā)者也許需要從100多個(gè)不同
的選項(xiàng)中進(jìn)行選擇以產(chǎn)生上百種的配置方式。許多獨(dú)立的模塊都是在開發(fā)時(shí)要使用而在產(chǎn)
品中卻不再使用。
而且,這些子系統(tǒng)本身也是可裁剪的,這樣就允許開發(fā)者為最廣泛的應(yīng)用程序進(jìn)行更為優(yōu)
化的VxWorks運(yùn)行環(huán)境配置。例如,如果應(yīng)用程序不需要某些功能模塊,就可以將它移出A
NSI C運(yùn)行庫;如果應(yīng)用程序不需要某些特定的內(nèi)核同步對(duì)象,這些對(duì)象也可以忽略。還有
,TCP、UDP、套接口和標(biāo)準(zhǔn)Berkeley服務(wù)也可以根據(jù)需要將之移出或移入網(wǎng)絡(luò)協(xié)議棧。
這些配置選項(xiàng)可以通過TornadoII的項(xiàng)目工具圖形接口輕易地選擇。開發(fā)者也可以使用Tor
nadoII的自動(dòng)裁剪特性,自動(dòng)地分析應(yīng)用程序代碼并合并合適的選項(xiàng)。
3. 綜合的網(wǎng)絡(luò)工具
VxWorks是第一個(gè)支持工業(yè)標(biāo)準(zhǔn)TCP/IP的實(shí)時(shí)操作系統(tǒng)。創(chuàng)新的傳統(tǒng)伴隨著VxWorks TCP/I
P協(xié)議棧,它支持最新的Berkeley網(wǎng)絡(luò)特性,包括:
IP, IGMP, CIDR, TCP, UDP, ARP
RIP v.1/v.2
Standard Berkeley sockets and zbufs
NFS client and server, ONC, RPC
Point-to-Point Protocol
BOOTP, DNS, DHCP, TFTP
FTP, rlogin, telnet, rsh
WindRiver也支持可選的WindNet產(chǎn)品:SNMP v.1/v.2c, OSPF v.2, STREAMS.
WindRiver還通過提供工業(yè)級(jí)最廣泛的網(wǎng)絡(luò)開發(fā)環(huán)境來加強(qiáng)這些核心技術(shù),這主要是通過W
indLink for TornadoII伙伴計(jì)劃來實(shí)現(xiàn)的。高級(jí)的網(wǎng)絡(luò)解決方案還包括:
ATM, SMDS, frame relay, ISDN, SS7, X.25, V5廣域網(wǎng)網(wǎng)絡(luò)協(xié)議
IPX/SPX,AppleTalk,SNA局域網(wǎng)網(wǎng)絡(luò)協(xié)議
分布式網(wǎng)絡(luò)管理的RMON,CMIP/GDMO,基于Web網(wǎng)的解決方案
CORBA分布式計(jì)算機(jī)環(huán)境
4. 兼容POSIX 1003.1b標(biāo)準(zhǔn)
VxWorks支持POSIX 1003.1b的規(guī)定和1003.1中有關(guān)基本系統(tǒng)調(diào)用的規(guī)定,包括:過程初始
化、文件與目錄、I/O初始化、語言服務(wù)、目錄處理;而且VxWorks還支持POSIX 1003.1b的
實(shí)時(shí)擴(kuò)展,主要包括:異步I/O、記數(shù)信號(hào)量、消息隊(duì)列、信號(hào)、內(nèi)存管理和調(diào)度控制。
5. 平臺(tái)的選擇
WindRiver還提供現(xiàn)成的一整套的商業(yè)和評(píng)估板。VxWorks開放的設(shè)計(jì)具有高度的可移植性
并且支持幾乎所有的處理器,這樣,應(yīng)用程序就可以在不同的體系結(jié)構(gòu)之間毫不費(fèi)力的移
植。
6. 方便地移植到用戶硬件上
能否將操作系統(tǒng)和應(yīng)用程序以一種合適的方式進(jìn)行移植是嵌入式軟件開發(fā)方面的關(guān)鍵。如
果事先就考慮了操作系統(tǒng)和應(yīng)用程序代碼的可移植性,那么這個(gè)過程就會(huì)變得非常容易。
這需要明確劃分低級(jí)的依賴于硬件的代碼和高級(jí)的應(yīng)用程序和操作系統(tǒng)代碼,這樣,移植
時(shí)只需要改變整個(gè)依賴于硬件的低級(jí)代碼,而不需要改變操作系統(tǒng)和應(yīng)用程序。
依賴于硬件的這一層稱為板極支持包(BSP, Board Support Package)。板極支持包是運(yùn)行
VxWorks的任何目標(biāo)板都需要的。BSP Developer’s Kit使開發(fā)者很容易地在用戶硬件上使
用VxWorks;如果使用商業(yè)硬件,WindRiver提供了2000個(gè)板極支持包。當(dāng)為用戶板開發(fā)板
極支持包時(shí),開發(fā)者可以獲得大量的標(biāo)準(zhǔn)設(shè)備驅(qū)動(dòng)程序,這些程序?qū)?yīng)于所有的目標(biāo)體系
。
7. 操作系統(tǒng)選件
操作系統(tǒng)選件產(chǎn)品為開發(fā)者提供了意想不到的特性和操作系統(tǒng)擴(kuò)展。這些選件主要包括:
板極支持包開發(fā)工具(BSP Developer’s Kit)
支持閃存文件系統(tǒng)的TrueFFS for TornadoII
支持圖形應(yīng)用程序
支持虛擬內(nèi)存管理VxVMI
支持多處理的VxMP、VxDCOM和VxFusion
2.2 VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)主要特點(diǎn)
1.微內(nèi)核(wind microkernel)的主要特點(diǎn)
高效的任務(wù)管理:
無限數(shù)目多任務(wù),具有256個(gè)優(yōu)先級(jí)
具有優(yōu)先級(jí)排隊(duì)和時(shí)間片輪轉(zhuǎn)調(diào)度
快速的、確定性的上下文切換
快速靈活的任務(wù)間通訊:
三種信號(hào)燈:二進(jìn)制、計(jì)數(shù)、有優(yōu)先級(jí)繼承特性的互斥信號(hào)燈
POSIX管道、記數(shù)信號(hào)量、消息隊(duì)列、信號(hào)和調(diào)度
控制套接口
共享內(nèi)存(shared memory)
高度的可裁剪性
增量連接和部件加載
快速有效的中斷和異常事件處理
優(yōu)化的浮點(diǎn)支持
動(dòng)態(tài)內(nèi)存管理
系統(tǒng)時(shí)鐘和計(jì)時(shí)工具
2.網(wǎng)絡(luò)支持方面
BSD 4.4 TCP/IP
IP, IGMP, CIDR, TCP, UDP, ARP
RIP v.1/v.2
標(biāo)準(zhǔn)Berkeley 套接口,zbufs(zero-copy socket)
SLIP, CSLIP, PPP
BOOTP, DNS, DHCP, TFTP
NFS, ONC, RPC
FTP, rlogin, rsh, telnet
SNTP
具有MIB編譯器的WindNet SNMP v.1/v.2c (可選)
WindNet OSPF v.2 (可選)
WindNet STREAMS SVR4(可選)
3.快速靈活的I/O和本地文件系統(tǒng)
POSIX 異步I/O和目錄管理
SCSI 支持
兼容MS-DOC文件系統(tǒng)
Raw disk文件系統(tǒng)
TrueFFS閃存文件系統(tǒng)
ISO 9660 CD-ROM文件系統(tǒng)
PCMCIA支持
4.目標(biāo)機(jī)開發(fā)特性
完全兼容ANSI C和C++的異常處理和模板支持
兼容POSIX 1003.1, .1b實(shí)時(shí)擴(kuò)展
目標(biāo)機(jī)shell上的交互式C解釋器
符號(hào)調(diào)試和反匯編
強(qiáng)大的性能監(jiān)視功能
擴(kuò)展的內(nèi)核、任務(wù)、系統(tǒng)信息工具
動(dòng)態(tài)連接裝載
超過1800個(gè)實(shí)用例程庫
靈活的啟動(dòng)方式,可以從ROM、本地磁盤或通過網(wǎng)絡(luò)啟動(dòng)
高度可裁剪設(shè)計(jì)可以適用于廣泛的應(yīng)用
通過以太網(wǎng)、串行線、ICE或ROM仿真器的系統(tǒng)級(jí)調(diào)試
2.3 VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)主要功能和結(jié)構(gòu)
2.3.1 VxWorks操作系統(tǒng)的主要功能
目前VxWorks操作系統(tǒng)的版本為VxWorks 5.4,其核心功能主要有:
微內(nèi)核wind
任務(wù)間通信機(jī)制
先進(jìn)的網(wǎng)絡(luò)支持
功能強(qiáng)大的文件系統(tǒng)和I/O管理
POSIX標(biāo)準(zhǔn)實(shí)時(shí)擴(kuò)展
C++以及其他標(biāo)準(zhǔn)支持
這些核心功能可以與WindRiver系統(tǒng)的其他附件和超過400個(gè)TornadoII合作伙伴的產(chǎn)品很好
的結(jié)合在一起。
2.3.2 VxWorks操作系統(tǒng)的基本結(jié)構(gòu)
VxWorks操作系統(tǒng)的基本構(gòu)成部件主要有以下五個(gè)部分:
板級(jí)支持包BSP(Board Support Package)
微內(nèi)核wind
網(wǎng)絡(luò)系統(tǒng)
文件系統(tǒng)
I/O系統(tǒng)
VxWorks 操作系統(tǒng)包括了板級(jí)支持包BSP(Board Support Package)、進(jìn)程管理、存儲(chǔ)管理
、設(shè)備管理、文件系統(tǒng)管理、網(wǎng)絡(luò)協(xié)議及系統(tǒng)應(yīng)用等幾個(gè)部分。VxWorks只占用了很小的存
儲(chǔ)空間,并可高度裁減,保證了系統(tǒng)能以較高的效率運(yùn)行。
1.板級(jí)支持包 BSP(Board Support Package)
板級(jí)支持包對(duì)各種板子的硬件功能提供了統(tǒng)一的軟件接口,它包括硬件初始化、中斷的產(chǎn)
生和處理、硬件時(shí)鐘和計(jì)時(shí)器管理、局域和總線內(nèi)存地址映射、內(nèi)存分配等等。每個(gè)板級(jí)
支持包括一個(gè) ROM 啟動(dòng)(Boot ROM)或其它啟動(dòng)機(jī)制。
2.高性能的實(shí)時(shí)操作系統(tǒng)核心 wind
[1].VxWorks 的核心,被稱作 wind,包括多任務(wù)調(diào)度(采用優(yōu)先級(jí)搶占方式),任務(wù)間的
同步和進(jìn)程間通信機(jī)制以及中斷處理,看門狗和內(nèi)存管理機(jī)制。一個(gè)多任務(wù)環(huán)境允許實(shí)時(shí)
應(yīng)用程序以一套獨(dú)立任務(wù)的方式構(gòu)筑,每個(gè)任務(wù)擁有獨(dú)立的執(zhí)行線程和它自己的一套系統(tǒng)
資源。進(jìn)程間通信機(jī)制使得這些任務(wù)的行為同步、協(xié)調(diào)。
[2].wind使用中斷驅(qū)動(dòng)和優(yōu)先級(jí)的方式。它縮短了上下文轉(zhuǎn)換的時(shí)間開銷和中斷的時(shí)延。
在 VxWorks 中,任何例程都可以被啟動(dòng)為一個(gè)單獨(dú)的任務(wù),擁有它自己的上下文和堆棧。
還有一些其它的任務(wù)機(jī)制可以使任務(wù)掛起、繼續(xù)、刪除、延時(shí)或改變優(yōu)先級(jí)。
[3].wind 核提供信號(hào)量作為任務(wù)間同步和互斥的機(jī)制。在 wind 核中有幾種類型的信號(hào)量
,它們分別針對(duì)不同的應(yīng)用需求:二進(jìn)制信號(hào)量、計(jì)數(shù)信號(hào)量、互斥信號(hào)量和 POSIX 信號(hào)
量。所有的這些信號(hào)量是快速和高效的,它們除了被應(yīng)用在開發(fā)設(shè)計(jì)過程中外,還被廣泛
地應(yīng)用在 VxWorks 高層應(yīng)用系統(tǒng)中。對(duì)于進(jìn)程間通信,wind 核也提供了諸如消息隊(duì)列、
管道、套接字和信號(hào)等機(jī)制。
3.網(wǎng)絡(luò)設(shè)施
VxWorks的網(wǎng)絡(luò)結(jié)構(gòu)如圖所示,它提供了對(duì)其它網(wǎng)絡(luò)和 TCP/IP 網(wǎng)絡(luò)系統(tǒng)的"透明"訪問,包
括與BSD套接字兼容的編程接口,遠(yuǎn)程過程調(diào)用(RPC),SNMP(可選項(xiàng)),遠(yuǎn)程文件訪問
(包括客戶端和服務(wù)端的NFS機(jī)制以及使用RSH,F(xiàn)TP 或 TFTP的非NFS機(jī)制)以及BOOTP 和
ARP 代理。無論是松耦合的串行線路、標(biāo)準(zhǔn)的以太網(wǎng)連接還是緊耦合的利用共享內(nèi)存的背
板總線,所有的 VxWorks 網(wǎng)絡(luò)機(jī)制都遵循標(biāo)準(zhǔn)的 Internet 協(xié)議。
4.文件系統(tǒng)
VxWorks 提供的快速文件系統(tǒng)適合于實(shí)時(shí)系統(tǒng)應(yīng)用。它包括幾種支持使用塊設(shè)備(如磁盤
)的本地文件系統(tǒng)。這些設(shè)備都使用一個(gè)標(biāo)準(zhǔn)的接口從而使得文件系統(tǒng)能夠被靈活地在設(shè)
備驅(qū)動(dòng)程序上移植。
VxWorks 也支持 SCSI 磁帶設(shè)備的本地文件系統(tǒng)。VxWorks I/O 體系結(jié)構(gòu)甚至還支持在一
個(gè)單獨(dú)的 VxWorks 系統(tǒng)上同時(shí)并存幾個(gè)不同的文件系統(tǒng)。
VxWorks 支持四種文件系統(tǒng):
dosFs
rt11Fs
rawFs
tapeFs。
另一方面,普通數(shù)據(jù)文件,外部設(shè)備都統(tǒng)一作為文件處理。它們?cè)谟脩裘媲坝邢嗤恼Z法
定義,使用相同的保護(hù)機(jī)制。這樣既簡化了系統(tǒng)設(shè)計(jì)又便于用戶使用。
5.I/O 系統(tǒng)
VxWorks 提供了一個(gè)快速靈活的與 ANSI C 兼容的 I/O 系統(tǒng),包括
UNIX 標(biāo)準(zhǔn)的緩沖 I/O
POSIX 標(biāo)準(zhǔn)的異步 I/O
VxWorks 包括以下驅(qū)動(dòng)程序:
網(wǎng)絡(luò)驅(qū)動(dòng)
管道驅(qū)動(dòng)
RAM盤驅(qū)動(dòng)
SCSI驅(qū)動(dòng)
鍵盤驅(qū)動(dòng)
顯示驅(qū)動(dòng)
磁盤驅(qū)動(dòng)
并口驅(qū)動(dòng)