希望看到這篇文章的學計算機、軟件的同學可以互相轉載,讓大家都知道我們以后的道路是怎樣的。有了方向,干什么都有動力,不是嗎?(有點長,希望大家先分享,以后慢慢看,有用沒用,我說了不算,你看看就知道了?。?br>計算機專業(yè)就業(yè)方向
一、 關于企業(yè)計算方向企業(yè)計算(Enterprise Computing)是稍時髦較好聽的名詞,主要是
指企業(yè)信息系統(tǒng),如ERP軟件(企業(yè)資源規(guī)劃)、CRM軟件(客戶關系管理)、SCM軟件(供
應鏈管理,即物流軟件),銀行證券軟件,財務軟件,電子商務/政務(包括各種網(wǎng)站),數(shù)
據(jù)倉庫,數(shù)據(jù)挖掘,商務智能等企業(yè)信息管理系統(tǒng).
企業(yè)計算領域?qū)θ瞬诺男枨箫@然永遠是數(shù)量最大的,因為這是計算機應用最多的領域. 搞這
方面的好處是:
(1)人才需求量極大,從事企業(yè)計算的公司在IT企業(yè)中占了大多數(shù)。除非在專業(yè)上一無特長
,一般在這一領域總能找到工作。
(2)這方面的入門門檻相對較低(如果你的軟件功底不是很深,可考慮這一領域)
(3)這方面的大公司較多,大公司要賺大錢,所以多將精力花在企業(yè)計算業(yè)務上.如果將來想
到大公司找一份相對穩(wěn)定的工作,從事這方面機會要大很多。
但從事這一領域的缺點也是明顯的:
由于這方面的入門門檻相對較低,雖然這方面的人才需求量是最大的,但將來競爭對手會
較多。您會發(fā)現(xiàn),即使他原不是學IT專業(yè)的人,也許他突擊幾個月后,做得照樣像模像樣
。特別是當您年紀漸大后,您可能會發(fā)現(xiàn),后面的年輕人可能很容易追上你的水平。如果
您將來到國外去工作,你可能會發(fā)現(xiàn)從事這領域的人更多且高手如云。當然,若您在這一
領域經(jīng)過多年企業(yè)經(jīng)驗,達到較高境界(如能設計軟件架構),則身價永遠是高的。國內(nèi)
在這方面人才領域的主要問題是,有經(jīng)驗的高手太少,皮毛了解的人太多。
從事企業(yè)計算領域,最重要的技能型技術課程是
(1)J2EE架構與程序設計
(2)大型數(shù)據(jù)庫系統(tǒng)(如Oracle)
(3)基于UML的系統(tǒng)分析與設計。
如果說還有什么重要的技能,還可將XML與Web Service技術包含進來,若您在這幾個領域
掌握較好,則不愁找不到工作。
其中尤其以J2EE最為重要,目前J2EE已成為企業(yè)計算軟件開發(fā)的最主要平臺。希望同學無
論將來想從事何種方向,都應學一下J2EE課程,至少可為將來找工作備一手關鍵功夫。包
括想從事嵌入式或其它領域的同學,也是很有必要學一下J2EE的,畢竟J2EE是目前最重要
的平臺之一,即使您將來不想從事企業(yè)計算領域,了解一下J2EE也是必要的,就像一門常
識課程一樣。
其它與企業(yè)計算關系較密切的技能還包括:Dot Net架構與程序設計、軟件測試技術、軟件
配置管理,該領域較高層次的技能包括數(shù)據(jù)倉庫技術、構件與中間件技術、設計模式等。
像通信協(xié)議分析與網(wǎng)絡程序設計,Unix系統(tǒng)管理等也屬有些關系的課程。
只一個J2EE便是博大精深的,足夠你啃下去的,鉆研下去,您會發(fā)現(xiàn)你還要學的相關知識
還有很多(包括EJB、XML、Web Service、Design Pattern等)。
雖然從事企業(yè)計算的人才很多,但以下企業(yè)計算領域無論國內(nèi)外都屬稀缺人才:
(1)掌握大型ERP系統(tǒng),主要是SAP系統(tǒng),包括SAP Basis(系統(tǒng)管理)或SAP ABAP(編程)
或SAP功能模塊實施(特別是財務模塊FI的實施)。
SAP顧問身價是最高的,而且非常難找。其它大型ERP系統(tǒng),掌握 PeopleSoft、Oracle Fi
nacial、J.D.Edward、Siebel等大型ERP軟件系統(tǒng)的人也很值錢。這方面的人之所以身價奇
高,主要是因為這些軟件很專業(yè),特別大,很難有D版可學習,只有特大企業(yè)(如世界500
強,90%以上使用SAP)才用得起,而且必須有實際工作經(jīng)驗才能掌握。如果是一個個人人
都很容易有機會接觸的軟件,那么這方面的人通常就不會稀缺。如果大家將來有機會接觸
學習這些大型ERP軟件系統(tǒng)的機會,建議毫不猶豫地抓住,那將捧上一輩的金飯碗。在國外
,會SAP的人特別值錢。物以稀為貴,這永遠是顛撲不破的真理。SAP的價值不僅是因為他
是一個ERP軟件,而是其中體現(xiàn)的現(xiàn)代企業(yè)管理理念(如根據(jù)訂貨需求自動安排原料采購和
生產(chǎn)計劃等)。一般500強公司絕不會像國內(nèi)很多企業(yè)那樣,用J2EE從頭設計企業(yè)的 ERP系
統(tǒng)(即將是怎樣的人力投入,而且設計出來的系統(tǒng)怎么可能是完善的?),一定都會使用
SAP這樣成熟的ERP軟件。用不起SAP的公司可能會用 J2EE設計ERP系統(tǒng)。
(2)掌握IBM大型機技術的人,如S/390主機,MVS操作系統(tǒng),JCL作業(yè)控制語言,COBOL程
序設計語言,DB2關系數(shù)據(jù)庫或IMS層次數(shù)據(jù)庫,CISC中間件交易控制系統(tǒng)等IBM大型機專用
技術。
國內(nèi)五大銀行,以及國外絕大多數(shù)銀行的后臺系統(tǒng)使用的都是以上平臺。IBM大型機號稱永
不宕機而且平臺相對封閉(這樣最安全),所以這些要求在24*7環(huán)境中連續(xù)運行的關鍵應
用(術語叫mission critical applications)都采用IBM大型機。這方面的人才之所以稀缺
,是因為會大型機的人都是老人(90年代以前搞IT的人),全世界新畢業(yè)的IT畢業(yè)生不可
能再去學IBM大型機(這是一種相對"古老"的技術),沒有新人補上,而銀行的系統(tǒng)必須維持
下去而且銀行還要不斷開發(fā)新業(yè)務(如新的存款品種), 雖然對IBM大型機人才的絕對需求量
不很大,但相對恒定,銀行到哪里找這方面的新人,很難找到. 若好找,花旗軟件也不會花那
么大的代價去培訓我們的實習同學了(去年培訓20多個人,聽說公司就花了數(shù)十萬元培訓費
). 如果您將來到國外找工作,會IBM大型機可能是最好找工作的領域之一了,而且保證找的
都是大銀行等好工作,我以前教過的計算機專業(yè)90-94級的一些同學,凡是畢業(yè)后從事大型機
開發(fā)的,現(xiàn)多在國外一些很好的公司工作(有幾位同學在各國各公司跳來跳去,簡直如履平地
). 其實我覺得我們最幸福的同學就是在花旗軟件做IBM大型機銀行軟件的同學,這樣的機會
太難得了.我院00級2+2班一位同學,當初放棄保研,看準在花旗軟件做大型機并且非常努力
,還未畢業(yè),公司便派她到國外參加一個項目的開發(fā),成了項目骨干,我覺得她當初選擇是完全
正確的。讀書的最終目地還是為了工作. 如果您將來在國外找工作,根本沒人管您是什么文
憑,國外企業(yè)絕不會花冤枉錢,只會招有領域工作經(jīng)驗能立即上手的人,用最少的錢在限定的
時間完成項目. 而在國內(nèi),因為人力成本較低,公司招聘一很多高學歷的人才,盡管可能根本
用不到這么高的學歷,但國內(nèi)的人力太便宜了,為什么不高消費一下人才呢?這樣公司的門面
還要好看些。
.(3)其它如掌握數(shù)據(jù)倉庫技術的人在國內(nèi)也很少. 目前最主流的數(shù)據(jù)倉庫平臺應是ORACLE
的數(shù)據(jù)倉庫工具. 在國外,會一些特殊數(shù)據(jù)倉庫的人,如NCR/TEREDATA的人非常難找.
同學現(xiàn)在年紀都很輕,年輕人充滿熱情,喜歡追逐一些熱門技術,這當然正確的,畢竟學習SA
P和大型機的機會畢竟不多,畢業(yè)時先能找到一份工作是重要的. 但我相信隨著年紀的增長
,大家將來慢慢都會思考的,掌握一項競爭對手較少的絕技的重要性,將來如果自己到國外工
作什么技術最好找工作(對搞軟件的人到國外工作或移民是最容易的,也許您現(xiàn)在不想,但我
相信工作多年以后,很大一部分同學可能想到國外闖蕩一下),你要考慮你今后一生的出路,
什么樣的絕技是最穩(wěn)定最輕松最高收入的. 搞軟件的人,當年紀大些時,您可能更向住像搞
醫(yī)學人的那樣能更多靠經(jīng)驗吃飯,而不須整天像年輕人那樣不得不去追逐不斷出現(xiàn)的軟件新
技術,這個時候也許您也許會發(fā)現(xiàn),如果您在SAP或大型機等方面有些絕技,您會有很大優(yōu)勢
,因為這些較偏的領域其技術變化是相對很緩慢的.
我還記得在2000年時我曾在業(yè)余時間與一位德國人合作面試一些IT人才到德國去,那時德方
各公司發(fā)來的需求有很多是SAP和IBM大型機的,我們在眾多應聘者中最后也未找到一個在這
方面有經(jīng)驗,甚至是有一點經(jīng)驗的. 相反,掌握流行技術的人因太多而不很值錢.
我們的同學將來找工作時,不僅要盯著國內(nèi)市場,還要有一種放眼全球的眼光,對搞軟件的
人您將來完全可能到其它國家去工作. 尤其是在歐美、日本、新加坡等國家,對SAP(包括
IBM大型機)人才的需求是很大的。畢竟比同學見得多些,提醒同學將來多留意有學習這些
絕技的機會,一旦有機會建議當仁不讓. 國內(nèi)的人才市場可訪問www.51job.com,國外的IT
人才需求可訪問www.hotjobs.com、www.workopolis.com、 www.monster.com等著名網(wǎng)站。
應經(jīng)常訪問這些網(wǎng)站,以了解市場對人才的具體需求,早做準備。
以上對企業(yè)計算領域的觀點,供大家參考.雖然觀點未必正確,但確是直言不諱. 總之,每個
人的腦袋都長在自己脖子上,每個人都應有自己的判斷.
二、關于嵌入式系統(tǒng)方向 (幫炊餅宣傳,記得請我吃飯啊)
嵌入式系統(tǒng)無疑是當前最熱門最有發(fā)展前途的IT應用領域之一。嵌入式系統(tǒng)用在一些特定
專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很
敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。像
我們平常常見到的手機、PDA、電子字典、可視電話、 VCD/DVD/MP3 Player、數(shù)字相機(
DC)、數(shù)字攝像機(DV)、U-Disk、機頂盒(Set Top Box)、高清電視(HDTV)、游戲機、智能
玩具、交換機、路由器、數(shù)控設備或儀表、汽車電子、家電控制系統(tǒng)、醫(yī)療儀器、航天航
空設備等等都是典型的嵌入式系統(tǒng)。
嵌入式系統(tǒng)是軟硬結合的東西,搞嵌入式開發(fā)的人有兩類。
一類是學電子工程、通信工程等偏硬件專業(yè)出身的人,他們主要是搞硬件設計,有時要開
發(fā)一些與硬件關系最密切的最底層軟件,如BootLoader、 Board Support Package(像PC的
BIOS一樣,往下驅(qū)動硬件,往上支持操作系統(tǒng)),最初級的硬件驅(qū)動程序等。他們的優(yōu)勢
是對硬件原理非常清楚,不足是他們更擅長定義各種硬件接口,但對復雜軟件系統(tǒng)往往力
不從心(例如嵌入式操作系統(tǒng)原理和復雜應用軟件等)。
另一類是學軟件、計算機專業(yè)出身的人,主要從事嵌入式操作系統(tǒng)和應用軟件的開發(fā)。如
果我們學軟件的人對硬件原理和接口有較好的掌握,我們完全也可寫B(tài)SP 和硬件驅(qū)動程序
。嵌入式硬件設計完后,各種功能就全靠軟件來實現(xiàn)了,嵌入式設備的增值很大程度上取
決于嵌入式軟件,這占了嵌入式系統(tǒng)的最主要工作(目前有很多公司將硬件設計包給了專
門的硬件公司,稍復雜的硬件都交給臺灣或國外公司設計,國內(nèi)的硬件設計力量很弱,很
多嵌入式公司自己只負責開發(fā)軟件,因為公司都知道,嵌入式產(chǎn)品的差異很大程度在軟件
上,在軟件方面是最有"花頭"可做的),所以我們搞軟件的人完全不用擔心我們在嵌入式
市場上的用武之地,越是智能設備越是復雜系統(tǒng),軟件越起關鍵作用,而且這是目前的趨
勢。
從事嵌入式軟件開發(fā)的好處是:
(1)目前國內(nèi)外這方面的人都很稀缺。一方面,是因為這一領域入門門檻較高,不僅要懂
較底層軟件(例如操作系統(tǒng)級、驅(qū)動程序級軟件),對軟件專業(yè)水平要求較高(嵌入式系
統(tǒng)對軟件設計的時間和空間效率要求較高),而且必須懂得硬件的工作原理,所以非專業(yè)
IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發(fā)展太快,很多軟硬件
技術出現(xiàn)時間不長或正在出現(xiàn)(如ARM處理器、嵌入式操作系統(tǒng)、MPEG技術、無線通信協(xié)議
等),掌握這些新技術的人當然很找。嵌入式人才稀缺,身價自然就高,越有經(jīng)驗價格就
越高。其實嵌入式人才稀少,根本原因可能是大多數(shù)人無條件接觸,這需要相應的嵌入式開
發(fā)板和軟件,另外需要有經(jīng)驗的人進行指導開發(fā)流程。
(2)與企業(yè)計算等應用軟件不同,嵌入式領域人才的工作強度通常低一些(但收入不低)
。搞企業(yè)應用軟件的IT企業(yè),這個用戶的系統(tǒng)搞完了,又得去搞下一個用戶的,而且每個
用戶的需求和完成時間都得按客戶要求改變,往往疲于奔命,重復勞動。相比而言,搞嵌
入式系統(tǒng)的公司,都有自己的產(chǎn)品計劃,按自己的節(jié)奏行事。所開發(fā)的產(chǎn)品通常是通用的
,不會因客戶的不同而修改。一個產(chǎn)品型號開發(fā)完了,往往有較長一段空閑時間(或只是
對軟件進行一些小修補),有時間進行充電和休整。另外,從事嵌入式軟件的每個人工作
范圍相對狹窄,所涉及的專業(yè)技術范圍就是那些(ARM、RTOS、MPEG、802.11等),時間長
了這些東西會越搞越有經(jīng)驗,賣賣老本,幾句指導也夠讓那些初入道者琢磨半年的。若搞
應用軟件,可能下一個客戶要換成一個完全不同的軟件開發(fā)平臺,那就苦了。
(3)哪天若想創(chuàng)業(yè),搞自已的產(chǎn)品,那么嵌入式是一個不錯的主意,這可不像應用軟件那
樣容易被盜版。土木學院有一個叫啟明星的公司開發(fā)出一個好象叫“工程e”的掌上PDA(
南校區(qū)門口有廣告),施工技術人員用該PDA可當場進行土木概預算和其它土木計算,據(jù)說
銷路特好。我認識的某大學老師,他開發(fā)的飯館用的點菜 PDA(WinCE平臺,可無線連網(wǎng)和
上網(wǎng)),據(jù)他說銷路不錯,飯館點點PDA讓客戶點菜,多顯派頭檔次。我記得00級2+2班當
年有一組同學在學 Windows程序設計課程時用VC++設計了一個功能很強的點菜系統(tǒng)做為課
程項目,當時真想建議他們將這個軟件做成PDA,估計會有些銷路(上海火車站南廣場的M
acdonald便使用很漂亮的PDA給用戶點食品,像摸像樣的)。這些PDA的硬件設計一般都是
請其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設計軟件就變成自
己的產(chǎn)品了。
從事嵌入式軟件開發(fā)的缺點是:
(1) 入門起點較高,所用到的技術往往都有一定難度,若軟硬件基礎不好,特別是操作
系統(tǒng)級軟件功底不深,則可能不適于此行。
(2)這方面的企業(yè)數(shù)量要遠少于企業(yè)計算類企業(yè)。特別是從事嵌入式的小企業(yè)數(shù)量較多(
小企業(yè)要搞自己的產(chǎn)品創(chuàng)業(yè)),知名大公司較少(搞嵌入式的大公司主要有 Intel、Moto
rola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半導體、 Microtek、
研華、華為、中興通信、上廣電等制造類企業(yè))。這些企業(yè)的習慣思維方式是到電子、通
信等偏硬專業(yè)找人。由于我院以前畢業(yè)生以企業(yè)計算為主,所以我院與這些企業(yè)聯(lián)系相對
較少。
(3)有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數(shù)公司
也并無此要求,只要有經(jīng)驗即可。
我院同學若學習嵌入式,顯然應偏重于嵌入式軟件,特別是嵌入式操作系統(tǒng)方面,應是我
們的強項。對于搞嵌入式軟件的人,最重要的技術顯然是(實際上很多公司的招聘廣告上
就是這樣寫的):
(1) 掌握主流嵌入式微處理器的結構與原理
(2) 必須掌握一個嵌入式操作系統(tǒng)
(3) 必須熟悉嵌入式軟件開發(fā)流程并至少做過一個嵌入式軟件項目。
在嵌入式軟件方面最重要的課程包括:
(1)嵌入式微處理器結構與應用:這是一門嵌入式硬件基礎課程,我院用這門課取代了傳
統(tǒng)的“微機原理與接口”課程(目前國內(nèi)已有少部分高校IT專業(yè)這樣做了,因為講x86微機
原理與接口很難找到實際用處,只為教學而已)。我們說過,嵌入式是軟硬件結合的技術
,搞嵌入式軟件的人應對ARM處理器工作原理和接口技術有充分了解,包括ARM的匯編指令
系統(tǒng)。若不了解處理器原理,怎么能控制硬件工作,怎么能寫出節(jié)省內(nèi)存又運行高速的最
優(yōu)代碼(嵌入式軟件設計特別講究時空效率),怎么能寫出驅(qū)動程序(驅(qū)動程序都是與硬
件打交道的)?很多公司招聘嵌入式軟件人員時都要求熟悉ARM處理器,將來若同學到公司
中從事嵌入式軟件開發(fā),公司都會給你一本該設備的硬件規(guī)格說明書 (xxx Specificatio
n),您必須能看懂其中的內(nèi)存分布和端口使用等最基本的說明(就像x86匯編一樣),否則
怎么設計軟件。有些同學覺得嵌入式處理器課程較枯燥,這主要是硬件課程都較抽象的原
因,等我們的嵌入式實驗室10月份建好后,您做了一些實驗后就會覺得看得見摸得著。還
有同學對ARM匯編不感興趣,以為嵌入式開發(fā)用C語言就足夠了。其實不應僅是將匯編語言
當成一個程序設計語言,學匯編主要是為了掌握處理器工作原理的。一個不熟悉匯編語言
的人,怎么能在該處理器寫出最優(yōu)的C語言代碼。在嵌入式開發(fā)的一些關鍵部分,有時還必須寫
匯編,如Bootloader等(可能還包括BSP)。特別是在對速度有極高要求的場合(如DSP處
理器的高速圖像采集和圖像解壓縮),目前主要還要靠匯編寫程序(我看到過很多公司是
這樣做的)。當您在一個嵌入式公司工作時,在查看描述原理的手冊時,可能很多都是用
匯編描述的(我就遇到過),這是因為很多硬件設計人員只會寫或者喜歡用匯編描述,此
時您就必須看懂匯編程序,否則軟硬件人員可能就無法交流。很多嵌入式職位招聘時都要
求熟悉匯編。
[小知識] 目前嵌入式處理器常見的有ARM、PowerPC、MIPS、Motorola 68K、ColdFire(冷
火)等,但ARM占據(jù)了絕對主流(資料說手機中幾乎100%都是ARM處理器)。ARM是一個只賣
知識產(chǎn)權的公司,目前獲得購買了ARM CPU核授權許可的大公司很多,包括Intel、Samsun
g、Amstel、Motorola、Philip等,他們都在ARM CPU核的基礎上進行了一些外圍擴展,形
成自己的處理器(如Samsung S 3C 2410,Motorola i.MXL9328等處理器都是采用ARM 9內(nèi)
核,指令一級是相同的)。而眾多中小公司又購買了這些處理器,設計了各種各樣的開發(fā)
板,如華恒等國內(nèi)很多著名嵌入式公司都生產(chǎn)基于Samsung S 3C 2410的開發(fā)板,供最終用
戶使用或供教學實驗。在ARM這個食物鏈上,ARM公司是大魚,Intel、Samsung等公司是小
魚,而華恒等則是蝦米,最終用戶(想我們要采購嵌入式開發(fā)板的實驗室)則是喂蝦米的
。Intel早期生產(chǎn)的是低端ARM(Strong ARM,相當于ARM 7),現(xiàn)在轉向主要生產(chǎn)高端ARM(即
Intel Xscale處理器,相當于ARM 10,主要用在高端PDA上,如HP和DELL生產(chǎn)的PDA都采用In
tel Xscale,價格較高)。目前應用最多的是ARM 7和ARM 9兩類處理器。 ARM 7較便宜,可
跑uclinux(是一個不支持高級內(nèi)存管理功能的嵌入式Linux系統(tǒng))、Vxworks、uc/os II等
實時操作系統(tǒng),但因處理器不帶內(nèi)存管理單元MMU(無內(nèi)存分頁和地址映射機制,所以不能使用虛
擬內(nèi)存),所以不能跑Windows CE,另外通用Linux中的某些內(nèi)存管理功能也不能用在ARM
7上。ARM 9是一個帶MMU功能的高端處理器,可跑WinCE或通用Linux的大多數(shù)功能。以上
是我的一點了解,可能有不對的地方。我們學院正在建設的嵌入式實驗室(10月底到貨)
包括30套ARM 7系統(tǒng)(擬采用Samsung S 3C 44b0x開發(fā)板,主要用于嵌入式處理器結構、嵌
入式linux課程實驗),10套ARM 9系統(tǒng)(擬采用Samsung S 3C 2410x開發(fā)板,主要用于Wi
ndows CE課程建設),每套實驗板都配了高速仿真器,價格都很貴(比我們招標的DELL P
C還貴),很容易損壞,同學應愛護使用。
(2) 嵌入式操作系統(tǒng)類課程
除了WinCE的實時性稍差外,大多數(shù)嵌入式操作系統(tǒng)的實時性都很強,所以也可稱為實時操
作系統(tǒng)Real Time Operating System.從事嵌入式的人至少須掌握一個嵌入式操作系統(tǒng)(當
然掌握兩個更好),這在嵌入式的所有技術中是最為關鍵的了。
目前最重要的RTOS主要包括:
第一類、傳統(tǒng)的經(jīng)典RTOS:最主要的便是Vxworks操作系統(tǒng),以及其Tornado開發(fā)平臺。Vx
works因出現(xiàn)稍早,實時性很強(據(jù)說可在 1ms內(nèi)響應外部事件請求),并且內(nèi)核可極微(
據(jù)說最小可8K),可靠性較高等,所以在北美,Vxworks占據(jù)了嵌入式系統(tǒng)的多半疆山。特
別是在通信設備等實時性要求較高的系統(tǒng)中,幾乎非Vxworks莫屬。Vxworks的很多概念和
技術都和Linux很類似,主要是C語言開發(fā)。像Bell- alcatel、Lucent、華為等通信企業(yè)在
開發(fā)產(chǎn)品時,Vxworks用得很多。但Vxworks因價格很高,所以一些小公司或小產(chǎn)品中往往
用不起。目前很多公司都在往嵌入式Linux轉(聽說華為目前正在這樣轉)。但無論如何,
Vxworks在一段長時間內(nèi)仍是不可動搖的。與Vxworks類似的稍有名的實時操作系統(tǒng)還有pS
OS、QNX、Nucleus等RTOS。
第二類、嵌入式Linux操作系統(tǒng):Linux的前途除作為服務器操作系統(tǒng)外,最成功的便是在
嵌入式領域的應用,原因當然是免費、開源、支持軟件多、呼擁者眾,這樣嵌入式產(chǎn)品成
本會低。Linux本身不是一個為嵌入式設計的操作系統(tǒng),不是微內(nèi)核的,并且實時性不強。
目前應用在嵌入式領域的Linux系統(tǒng)主要有兩類:一類是專為嵌入式設計的已被裁減過的L
inux系統(tǒng),最常用的是uClinux(不帶MMU功能),目前占較大應用份額,可在ARM7上跑;
另一類是跑在ARM 9上的,一般是將Linux 2.4.18 內(nèi)核移植在其上,可使用更多的Linux功
能(當然uClinux更可跑在ARM 9上)。很多人預測,嵌入式Linux預計將占嵌入式操作系統(tǒng)
的50%以上份額,非常重要。缺點是熟悉Linux的人太少,開發(fā)難度稍大。另外,目前我們
能發(fā)現(xiàn)很多教材和很多大學都以ucOS/II為教學用實時操作系統(tǒng),這主要是由于ucOS/II較
簡單,且開源,非常適合入門者學習實時操作系統(tǒng)原理,但由于ucOS/II功能有限,實用用
得較少,所以我院不將其作為教學重點,要學習就應學直接實用的,比如 uClinux就很實
用。況且熟悉了Linux開發(fā),不僅在嵌入式領域有用,對開發(fā)Linux應用軟件,對加深操作
系統(tǒng)的認識也有幫助,可謂一舉多得。據(jù)我所知,目前Intel、Philip都在大搞ARM+LINUX
的嵌入式開發(fā),F(xiàn)ujitum則是在自己的處理器上大搞Linux開發(fā)。目前在嵌入式 Linux領域,以下
幾個方面的人特別難找,一是能將Linux移植到某個新型號的開發(fā)版上;二是能寫Linux驅(qū)
動程序的人;三是熟悉Linux內(nèi)核裁減和優(yōu)化的人。我院在該嵌入式Linux方面的課程系列
是:本科生操作系統(tǒng)必修課,然后是Linux程序設計選修課,最后是嵌入式Linux系統(tǒng)選修
課。我院在Linux方面目前已有較強力量, 魏 老 師和張 老師熟悉Linux開發(fā), 金 老 師
和唐 老師熟悉Linux系統(tǒng)管理。
第三類、 Windows CE嵌入式操作系統(tǒng):Microsoft也看準了嵌入式的巨大市場,MS永遠是
最厲害的,WinCE出來只有幾年時間,但目前已占據(jù)了很大市場份額,特別是在PDA、手機
、顯示儀表等界面要求較高或者要求快速開發(fā)的場合,WinCE目前已很流行(據(jù)說有一家賣
工控機的公司板子賣得太好,以至來不及為客戶裁減WinCE)。WinCE目前主要為4.2版(.
NET),開發(fā)平臺主要為WinCE Platform Builder,有時也用EVC環(huán)境開發(fā)一些較上層的應用
,由于WinCE開發(fā)都是大家熟悉的VC++環(huán)境,所以我院學過Windows程序設計課程的同學都
不會有多大難度,這也是WinCE容易被人們接受的原因,開發(fā)環(huán)境方便快速,微軟的強大技
術支持,WinCE開發(fā)難度遠低于嵌入式Linux。對于急于完成,不想拿嵌入式Linux冒險的開
發(fā)場合,WinCE是最合適了(找嵌入式Linux的人可沒那么好找的),畢竟公司不能像學生
學習那樣試試看,保證開發(fā)成功更重要。根據(jù)不同的側重點,WinCE還有兩個特殊版本,一
個是MS PocketPC操作系統(tǒng)專用于PDA上(掌上電腦),另一個是MS SmartPhone操作系統(tǒng)用
于智能手機上(帶PDA功能的手機),兩者也都屬于WinCE平臺。在PDA和手機市場上,除W
inCE外,著名的PDA 嵌入式操作系統(tǒng)還有Palm OS(因出現(xiàn)很早,很有名)、Symbian等,
但在WinCE的強勁沖擊下,Palm和Symbian來日還能有多長?我院可能是全國高校中唯一一家開
設專門的"Windows CE嵌入式操作系統(tǒng)"課程的學校,這主要是基于以下原因:我院本身前
面便有Windows程序設計課程,同學學過VC++后再學WinCE,非常方便自然,通過學習WinCE
同樣也可了解嵌入式軟件的一般開發(fā)過程,對Linux有懼怕心理的同學也很合適。很顯然,
嵌入式Linux永遠不可能替代 WinCE,而且將來誰占份額大還很難講,畢竟很多人更愿意接
受MS的平臺,就像各國政府都在大力推LINUX已好長時間,但您能看到幾個在PC機上真正使
用LINUX的用戶?據(jù)我觀察,目前在嵌入式平臺上,LINUX是叫得最響,但還是WinCE實際用得
更多.嵌入式LINUX可能更多地是一些有長遠產(chǎn)品計劃的公司,為降低成本而進行長遠考慮;
二是微軟亞洲研究院對我院WinCE課程的支持計劃,我們也很希望將來我院能有同學通過
微軟的面試去實習。WinCE和多媒體(如MPEG技術)是微軟亞洲工程院目前做得較多的項目領
域之一,他們很需要精通WinCE的人。
總結關于嵌入式操作系統(tǒng)類課程,若您覺得自己功底較深且能鉆研下去,則可去學嵌入式
Linux;若您覺得自己VC++功底較好且想短平快地學嵌入式開發(fā),則我院的WinCE課程是最
好的選擇。
(3) 嵌入式開發(fā)的其它相關軟件課程
搞嵌入式若能熟悉嵌入式應用的一些主要領域,這樣的人更受企業(yè)歡迎。主要的相關領域
包括:
A、數(shù)字圖像壓縮技術:這是嵌入式最重要最熱門的應用領域之一,主要是應掌握MPEG編解
碼算法和技術,如DVD、MP3、PDA、高精電視、機頂盒等都涉及MPEG高速解碼問題。為此,
我院已預訂了一位能開設數(shù)字圖像處理課程的博士。
B、通信協(xié)議及編程技術:這包括傳統(tǒng)的TCP/IP協(xié)議和熱門的無線通信協(xié)議。首先,大多數(shù)
嵌入式設備都要連入局域網(wǎng)或Internet,所以首先應掌握 TCP/IP協(xié)議及其編程,這是需首
要掌握的基本技術;其次,無線通信是目前的大趨勢,所以掌握無線通信協(xié)議及編程也是
是很重要的。無結通信協(xié)議包括無線局域網(wǎng)通信協(xié)議802.11系列,Bluetooth,以及移動通
信(如GPRS、GSM、CDMA等)。
C、網(wǎng)絡與信息安全技術:如加密技術,數(shù)字證書CA等。
D、DSP技術:DSP是Digital Signal Process數(shù)字信號處理的意思,DSP處理器通過硬件實
現(xiàn)數(shù)字信號處理算法,如高速數(shù)據(jù)采集、壓縮、解壓縮、通信等。數(shù)字信號處理是電子、
通信等硬件專業(yè)的課程,對于搞軟件的人若能了解一下最好。目前DSP人才較缺。如果有信
號與系統(tǒng)、數(shù)字信號處理等課程基礎,對于學習MPEG編解碼原理會有很大幫助。
(4)嵌入式開發(fā)的相關硬件基礎
對于軟件工程專業(yè)的學生,從事嵌入式軟件開發(fā),像數(shù)字電路、計算機組成原理、嵌入式
微處理器結構等硬件課程是較重要的。另外,匯編語言、C/C++、數(shù)據(jù)結構和算法、特別是
操作系統(tǒng)等軟件基礎課也是十分重要的。我們的主要目地是能看懂硬件工作原理,但重點
應是在嵌入式軟件,特別操作系統(tǒng)級軟件,那將是我們的優(yōu)勢。
我們的研究生里有些是學電子、通信類專業(yè)過來的,有較好的模擬電路和單片機基礎,學
嵌入式非常合適。嵌入式本身就是從單片機發(fā)展過來的,只是單片機不帶 OS,而現(xiàn)在很多
嵌入式應用越來越復雜,以至不得不引入嵌入式操作系統(tǒng)。另外,為追求更高速的信號處
理速度,現(xiàn)在在一些速度要求較高的場合,有不少公司是將一些DSP算法,如MPEG壓縮解壓
縮算法等用硬件來實現(xiàn),這就涉及到HDL數(shù)字電路設計技術及其FPGA/IP核實現(xiàn)技術,這方
面的人目前市場上也很缺。
(5) 題外話
另外,能寫驅(qū)動程序的人目前是非常緊缺的(驅(qū)動程序也可歸于嵌入式范疇),包括桌面
Windows中的DDK開發(fā)環(huán)境和WDM驅(qū)動程序。公司每時每刻都要推出新產(chǎn)品,每一個新產(chǎn)品出
來了,要能被操作系統(tǒng)所使用,是必須寫驅(qū)動程序的。寫驅(qū)動程序就必須掌握操作系統(tǒng)(如
Windows或Linux)的內(nèi)部工作原理,還涉及到少量硬件知識,難度較大,所以這方面的人很
難找。想成為高手的同學,也可從驅(qū)動程序方面獲得突破。我可說一下自己的經(jīng)歷,三年
前我曾短暫地在一家公司寫過WinCE驅(qū)動程序(正是因為知道這方面的人緊缺,所以才要做
這方面的事),盡管那以前從未做過驅(qū)動程序,應聘那個職位時正是看準了公司是很難招
聘到這方面的人,既然都找不到人,驅(qū)動還得有人做,這正是可能有機會切入這一領域的
大好機會。面試時大講自己寫過多少萬行匯編程序,對計算機工作原理如何清楚,簡歷中
又寫著我曾閱讀完兩本關于Windows Driver Model的兩本英文原版書,寫過幾個小型的驅(qū)
動程序練習程序(其實根本沒寫過,我們的同學將來千萬不要像我這樣,早練就些過硬功
夫,就不至于淪落到我這等地步,就不用像我那樣去“欺騙”公司了,我這是一個典型的
反面教材),居然一切都PASS(當然最重要的是筆試和面試問題還說得過去),這只能說
明這一領域找人的困難程度。公司本就未指望找到搞過驅(qū)動的人,找個有相關基礎的人就算不?br /> 砹?。纂h艘院螅