RTOS在國內主要有vxworks和pSOS,現在還有nuclear、QNX、WinCE。
說(shuō)起好壞嗎,其實(shí),vxWorks要好一些,可能;不知道以前國內研究所一直用的VRTX是不是都被vxworks所替代了呢。據說(shuō)因為VRTX是最早商業(yè)化的RTOS,60年代就開(kāi)始賣(mài)了,所以呢,全是匯編,改都改不過(guò)來(lái),還有就是對TCP/IP的支持一直不好,vxWorks是從VRTX公司出來(lái)的人做的,號稱(chēng)make VrtX Works!,所以就有了vxWorks的名字。
nuclear是賣(mài)源代碼的,而且不賣(mài)licence,就是說(shuō),你設計了一臺路由器,生產(chǎn)的時(shí)候不用為你的每一臺路由器都付30美圓的licence費用給nuclear的那個(gè)公司。
QNX和WinCE都似乎更注重于GUI圖形界面方面的東西,當然,QNX好象還號稱(chēng)在別的方面也很出色,它是一家加拿大的公司做的。QNX我曾經(jīng)有一張DEMO盤(pán),1.44M的小盤(pán),用它啟動(dòng),就能夠實(shí)現圖形界面和MODEM撥號上網(wǎng)。(偶現在懶得去找那張DEMO盤(pán)了,實(shí)在想要就發(fā)個(gè)mail給我,偶去找來(lái)給你,在學(xué)校FTP那個(gè)應該也是,我沒(méi)用過(guò))但是請別以為QNX就是用在一般DESKTOP PC機上的啊。QNX是在X86體系上面開(kāi)發(fā)出來(lái)的,這和別的RTOS不一樣,別的好多RTOS都是從68K的CPU上面開(kāi)發(fā)成熟,然后再移植到X86體系上面來(lái)的(對68K不熟悉?這在嵌入式開(kāi)發(fā)里面用的很廣泛啊,motorola公司的,VME上面用的太多了),但是QNX就是直接在X86上面開(kāi)發(fā)的然后近年才在68K等CPU上面能用。WinCE么,剛出來(lái)的時(shí)候還是soft realtime,不是hard realtime,(不知道這個(gè)概念?在那本“入門(mén)書(shū)”上面有?。?所以一開(kāi)始的時(shí)候大家就很鄙視WinCE,覺(jué)得。。。//hehe。。。但是,你看看現在WinCE那浩大聲勢?哈哈
pSOS嗎,和vxWorks一起,是最最成熟的RTOS啦,打個(gè)比方,用pSOS和vxWorks來(lái)開(kāi)發(fā)路由器、交換機、大型電訊設備、衛星通訊設備、航天器、軍事控制設備,那是最合適的啦,您知道嗎,有些東西是不能死鎖的,穩定性是第一位的,比如747掉下來(lái)就死翹翹了:)當然啦,還有系統硬件設計上面的問(wèn)題,比如雙機熱備份冗余設計之類(lèi)的,不然電話(huà)交換機一壞,電訊局就整天挨批啦!那么QNX和WinCE呢,用來(lái)設計機頂盒、手持設備(手掌電腦、手機)、GPS設備(?)之類(lèi)的需要漂漂界面的地方。
以上介紹的都是要賣(mài)錢(qián)的RTOS,估摸著(zhù)您一般會(huì )買(mǎi)不起:(
窮人的RTOS在哪里?ucOS就是了,免費的,在學(xué)校FTP站點(diǎn)有人放過(guò),不過(guò)好象不全;支持好多單片機、甚至支持DSP!還有eCOS在學(xué)校FTP也有熱心人下好了,但是可惜不支持X86。免費的還有好幾種呢,一種是美國軍方以前用的叫什么了(RTEMS?錯了)有幾個(gè)站點(diǎn),比如www.ucos-ii.com還有。。忘了!你如果IP能出國,去那個(gè)叫Alxxxx的搜索引擎找找看,比yahoo好多了!Yahoo上面也有那個(gè)Alxxxx的連接。
RTOS在全世界有好幾百種,很多大公司都有自己的RTOS,lucent的還是免費的呢。
高性能但是又不用錢(qián)的RTOS,嗚嗚,象linux那樣?看來(lái)我們是該想點(diǎn)辦法了啊。
其實(shí)一個(gè)實(shí)用的RTOS,除了本身OS核心的性能要好之外,還有開(kāi)發(fā)工具的好壞、編譯器、調試器之類(lèi)的,調過(guò)單片機程序的哥們一定很有感觸吧。更重要的還有現在日新月異的各種新技術(shù)要往RTOS上面加。。。比如tcp/ip以及這么多的新的網(wǎng)絡(luò )協(xié)議(比如internet 2),web/browser,java(呵呵,不能叫“新”了)
那么多RTOS,你會(huì )問(wèn),我們怎么辦呢?其實(shí)學(xué)了一種,別的也就大同小異了。還有一個(gè)概念就是,應用層的程序和RTOS之間用一個(gè)虛擬的接口接起來(lái),以后無(wú)論你移植到哪個(gè)RTOS都方便得很,而且軟件可以在虛擬的接口上面先調試,在硬件板子還沒(méi)有出來(lái)之前軟件就可以先調試了。開(kāi)發(fā)RTOS和使用RTOS是兩件事。使用RTOS開(kāi)發(fā)的應用程序和RTOS是一起燒進(jìn)FLSH芯片里面去使用,相當于你使用了RTOS廠(chǎng)商的BIN代碼。 | |