{eval=Array;=+count(Array);}
個人感覺這兩種系統(tǒng)沒有可比性。聽起來感覺可能有點答非所問和匪夷所思,但實際上搞技術就是這樣,很多情況下我們需要跟著自己的飯碗走,如果當前企業(yè)是搞單片機的,那么自學一下rtos已經(jīng)很不容易了,當然很多人可能說學linux進步更大,但需要花費的也更大呀。如果從事的是裸機開發(fā),那么學習rtos已經(jīng)完全可以獲得有用的進步了;如果當前從事的開發(fā)需要rtos,這時候掌握了工作所需的rtos以后,學習一下linux對自己的職業(yè)生涯也好,技術提升也好,都有很多實質(zhì)性的幫助。單純來論rtos或者linux那個有前途很難回答,rtos相對linux來說,難度低一點這是肯定的,但用人的企業(yè)也多呀,linux高級,但用人的企業(yè)也少的可憐,而且,linux已經(jīng)太高級了,高級到一個人究其一生也無法研究透徹。。。對任何人來說,總不能一輩子搞技術吧。四五十歲以后,就算你還有雄心壯志在技術的路上走下去,聘用你的企業(yè),也不敢或者說不會再用你了吧。所以說,拋開自己的工作環(huán)境來談哪個有前途,非常沒有意義,從我周圍朋友就業(yè)情況來看,學生時代,最好還是多少學習點linux開發(fā),至少懂一點開發(fā)的流程或者思想。真正工作以后,能夠從事驅(qū)動、內(nèi)核開發(fā)的人少之又少,能夠在某一rtos上深耕,已經(jīng)很不錯了。。。
現(xiàn)在的RTOS從任務管理方式可分兩類,一種是搶占式的,一種是時分式的,前者多用于實時性較高的應用,后者用于實時性不高而事務較復雜的大型OS,當然現(xiàn)在許多OS都是兩者兼有,還有一些就是協(xié)作式多任務OS。
像現(xiàn)在的許多小RTOS都是前者,要求每個任務的優(yōu)先級不同,當某個高于現(xiàn)任務優(yōu)先級的任務就緒就會產(chǎn)生新的任務調(diào)度,這種OS提升了系統(tǒng)的實時性,但也帶來了編程者的一些麻煩,比如有時有些任務本身就是平等的,我們希望能各個任務各執(zhí)行一定時間再切換就會感到相當為難,每個任務除非自已放棄或有更高優(yōu)先級的任務就緒,否則是不會產(chǎn)生任務調(diào)度的,當任務較多時,低優(yōu)先級任務的協(xié)調(diào)是很麻煩的。
現(xiàn)在較好的VXWORKS、NECLUE、μCOS-III等多任務OS則是上面兩者的結合,既可由任務的優(yōu)先級產(chǎn)生調(diào)度,也可由時間片到產(chǎn)生新的任務調(diào)度。
實際在選用多任務OS前,建議先看看項目是不是真需要用OS!如果任務可折分性較差,折分后的各任務間有N多的同步問題和復用資源問題,那還是放棄用多任務OS,或?qū)⑦@些功能都放在一個任務里,多任務未必就好!
如果你的任務獨立性強,互相間的依存關系不強,那么采用分時OS,這樣做會使你的代碼編寫真正體會到多任務的優(yōu)點;如果任務相互有一定關聯(lián)度,你還要對OS的內(nèi)存管理機制、任務間的通信機制、同步機制等做較詳細的調(diào)查后再先定用什么OS。
他認為目前國內(nèi)的研發(fā)廠商和公司形成了一個怪圈,就是人人研發(fā)LINX的嵌入式應用,好象LINX是塊不要錢的肥肉就會很好用一樣。LINX本身是為桌上系統(tǒng)研發(fā)的多進程多線程OS,2.0的代碼量有幾百萬行,其中的大多數(shù)是嵌入式應用不需要的,而且里面本沒有搶占式多任務核,如果你的應用對實時性較高,那你就要自已寫這個搶占式核,當然是可以寫出來的,但你要在里面花上很多時間才能寫出一個沒經(jīng)過實際應用的不可靠的RTOS,絕不是明智之舉。一個成功的嵌入式RTOS可能只需要5個一般的工程師就可以寫出來,但要50個相當歷害的工程師來調(diào)試和DEBUG,還要500個工程師試用?,F(xiàn)在選LINX一方面是商業(yè)的抄作,一方面是老板們的惜小錢而失大利,更多的是工程師們希望能做一些有挑戰(zhàn)性的工作。但這結果有多少是如人愿呢?事實上,大多情況是項目流產(chǎn),工程師們又跑到另一家公司接著玩,這樣的惡性循環(huán)何時才能結束!
這個世界本來就是有分工的,有些人研發(fā)OS,有些人用OS開發(fā)產(chǎn)品,不要想從種大米開始!買的那怕是個最爛的OS也一定比幾個工程師花上一年改出來的面目全非的LINX好N倍,嵌入式LINX的結構和應用遲早會有一個國際化的標準,這個標準不會是由一兩個工程師的改寫而決定,如果是專門研發(fā)OS為生的公司,我給100倍的支持,如果是想自已改一個OS自已用,我覺得那還不如買一個OS,把你的智慧用在產(chǎn)品的優(yōu)化和早日面市上吧!可能有人會說人家的OS不如自已的好用!別人現(xiàn)成的商品化OS你都用不好,那你在LINX這口大井里改出來的OS能好用嗎?!
linux是超級計算機里的系統(tǒng),連續(xù)開幾年都流暢運行,除非斷電,現(xiàn)在人們開始想到它的穩(wěn)定性,由于WINDOWS和安卓也開始針對這個系統(tǒng)開發(fā)相應的軟件和硬件了,替代WINDOWS是遲早的事
嵌入式系統(tǒng)分三種,no-os rtos linux,這三種是相輔相成的,要深入,必須全部學。學嵌入式先學硬件,不會寄存器不懂通訊時序,永遠只是停留在入門級別。從no-os寄存器操作開始,到rtos,到linux,事半功倍。拿到datasheet就能寫出程序來,才算是真正入門了。這三種系統(tǒng)是不能相互替代的,復雜的項目,三種全部會用到。
從開發(fā)人員的角度看,Linux顯然更有前途。
Linux適用于各種嵌入式終端,也適用于服務器開發(fā)。
如果想在Linux領域發(fā)展:(1)在芯片廠商(比如ucloud海思、高通、聯(lián)發(fā)科等企業(yè))從事Linux底層開發(fā);(2)在互聯(lián)網(wǎng)公司從事C/C++ Linux后臺開發(fā)。 目前的就業(yè)環(huán)境而言,C/C++ Linux后臺開發(fā)就業(yè)領域更為廣泛,待遇也較高。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答3
回答