畢業(yè)論文-Shell設(shè)計(jì)與實(shí)現(xiàn)_第1頁
畢業(yè)論文-Shell設(shè)計(jì)與實(shí)現(xiàn)_第2頁
畢業(yè)論文-Shell設(shè)計(jì)與實(shí)現(xiàn)_第3頁
畢業(yè)論文-Shell設(shè)計(jì)與實(shí)現(xiàn)_第4頁
畢業(yè)論文-Shell設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 太原理工大學(xué)畢業(yè)設(shè)計(jì)(論文)用紙 前言當(dāng)我第一次開始使用突然面對各種UNIX程序,會(huì)有很多的問題,如“功能”是什么,“我如何使用它們”。其實(shí)linux中的shell很簡單,下面我們簡單介紹一下:Linux shell提供了用戶與內(nèi)核進(jìn)行交互的機(jī)制,是操作系統(tǒng)的命令行界面。它的主要工作是分析用戶的指令并調(diào)度內(nèi)核執(zhí)行。內(nèi)核的執(zhí)行是及其小心的,人為干預(yù)是很危險(xiǎn)的,因此shell提供了一個(gè)安全的操作內(nèi)核的途徑。直觀地來看shell是一種解釋命令的程序,它可以將用戶輸入的貼近人類語言的表述解釋給內(nèi)核處理。不但如此,Shell還有自己語法并以此用于對命令的編輯,用戶可以利用它寫出由shell命令組成的腳

2、本。在編寫過程中你會(huì)愛發(fā)現(xiàn),Shell編程語言與很多其他的編程語言風(fēng)格相似,例如它也有c語言一樣的循環(huán)邏輯和分支控制等,用此編程語言編寫的Shell腳本程序能達(dá)到與其他程序一樣的效果。 早期的linux只有內(nèi)核和命令行,為了方便用戶的使用,linux又提供了與windows相似的友好的可視化圖形界面,使得操作變得更加簡單方便。這就是X windows。它像windows一樣為用戶提供窗口、圖標(biāo)以及菜單等顯示部件。有了它,用戶就可以在linux環(huán)境中從眾多的代碼行中解脫出來,利用鼠標(biāo)就可快速對內(nèi)核和環(huán)境進(jìn)行配置。Windows系統(tǒng)內(nèi)核自帶圖形界面,但是linux內(nèi)核不自帶界面,因此在linux領(lǐng)

3、域中,圖形界面主要靠第三方公司進(jìn)行開發(fā),KDE和GNOME都是很流行的窗口管理器工具。當(dāng)然shell就實(shí)現(xiàn)了這一點(diǎn),利用它可以對系統(tǒng)進(jìn)行文件管理和事務(wù)管理等等的功能。每一位linux用戶都可以擁有屬于自己的或者特制的shell版本。這樣可以使得他們的特定需求得到滿足。與開發(fā)linux相似,人們在開發(fā)了多種版本linux的同時(shí),也開發(fā)了很多版本的shell。比如:Bourne Shell:貝爾實(shí)驗(yàn)室在1977年底發(fā)布的。BASH:Bourne-Again SHell的縮寫,是GNU操作系統(tǒng)上默認(rèn)的shell。Korn Shell:是對Bourne SHell的發(fā)展,在大部分內(nèi)容上與Bourne

4、Shell兼容。C Shell:是SUN公司Shell的BSD版本。作為一名以UNIX/Linux系統(tǒng)為主進(jìn)行C語言程序開發(fā)的大學(xué)生,我對shell的強(qiáng)大功能和編寫技巧有所體會(huì)。本論文詳細(xì)介紹了shell是怎么樣工作和組成的,對shell設(shè)計(jì)做一些簡單的研究。雖然達(dá)不到原版Linux系統(tǒng)那樣的效果,但是卻有自己的獨(dú)到的見解。可以供廣大愛好者參考。1 緒論Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多 HYPERLINK /view/2089.htm t _blank CPU的操作系統(tǒng)。它能運(yùn)行主要的UNIX工具軟件、應(yīng)用程

5、序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位 HYPERLINK /view/25278.htm t _blank 硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。Linux操作系統(tǒng)誕生于1991 年的10 月5 日(這是第一次正式向外公布的時(shí)間)。Linux存在著許多不同的Linux版本,但它們都使用了 HYPERLINK /view/573460.htm t _blank Linux內(nèi)核。Linux可安裝在各種計(jì)算機(jī)硬件設(shè)備中,比如手機(jī)、 HYPERLINK /view/74538.htm t _blank 平板電腦、 HYPERLINK /view/136

6、0.htm t _blank 路由器、視頻游戲控制臺(tái)、臺(tái)式計(jì)算機(jī)、大型機(jī)和超級計(jì)算機(jī)。嚴(yán)格來講,Linux這個(gè)詞本身只表示Linux內(nèi)核,但實(shí)際上人們已經(jīng)習(xí)慣了用Linux來形容整個(gè)基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。Shell是 HYPERLINK /view/25302.htm t _blank 系統(tǒng)的 HYPERLINK /view/362528.htm t _blank 用戶界面,提供了用戶與 HYPERLINK /view/1366.htm t _blank 內(nèi)核進(jìn)行交互操作的一種 HYPERLINK /view/159864.htm t _blank

7、 接口。它接收用戶輸入的命令并把它送入 HYPERLINK /view/1366.htm t _blank 內(nèi)核去執(zhí)行。實(shí)際上Shell是一個(gè)命令 HYPERLINK /view/592974.htm t _blank 解釋器,它解釋由用戶輸入的命令并且把它們送到 HYPERLINK /view/1366.htm t _blank 內(nèi)核。不僅如此,Shell有自己的編程語言用于對命令的編輯,它允許用戶編寫由shell命令組成的程序。Shell編程語言具有普通編程語言的很多特點(diǎn),比如它也有 HYPERLINK /view/552876.htm t _blank 循環(huán)結(jié)構(gòu)和分支控制結(jié)構(gòu)等,用這種編

8、程語言編寫的Shell程序與其他 HYPERLINK /view/330120.htm t _blank 應(yīng)用程序具有同樣的效果。1.1 Shell的使用不論是哪一種 HYPERLINK /view/849.htm t _blank Shell,它最主要的功用都是解譯使用者在命令列提示符號(hào)下輸入的指令。Shell 語法分析命令列,把它分解成以空白區(qū)分開的符號(hào)(token),在此空白包括了跳位鍵(tab)、空白和換行(New Line)。如果這些字包含了metacharacter,shell 將會(huì)評估(evaluate)它們的正確用法。另外,shell 還管理檔案輸入輸出及幕后處理(backgr

9、ound processing)。在處理命令列之后,shell 會(huì)尋找命令并開始執(zhí)行它們。Shell 的另一個(gè)重要功用是提供個(gè)人化的使用者環(huán)境,這通常在 shell 的初始化檔案中完成(.profile、.login、.cshrc、.tcshrc 等等)。這些檔案包括了設(shè)定終端機(jī)鍵盤和定義窗口的特征;設(shè)定 HYPERLINK /view/296689.htm t _blank 變量,定義搜尋 HYPERLINK /view/59642.htm t _blank 路徑、權(quán)限、提示符號(hào)和終端機(jī)類型;以及設(shè)定特殊 HYPERLINK /view/330120.htm t _blank 應(yīng)用程序所需要

10、的變量,例如窗口、文字處理程序、及程序語言的鏈接庫。Korn shell 和 C shell 加強(qiáng)了個(gè)別化的能力:增加歷程、別名、和內(nèi)建變量集以避免使用者誤殺檔案、不慎簽出、并在當(dāng)工作完成時(shí)通知使用者。Shell 也能當(dāng)解譯性的程序語言(interpreted programing language)。Shell 程序,通常叫做命令文件,它由列在檔案內(nèi)的命令所構(gòu)成。此程序在 HYPERLINK /view/499644.htm t _blank 編輯器中編輯(雖然也可以直接在命令列下寫作程序,online scripting),由 UN 命令和基本的程序結(jié)構(gòu),例如變量的指定、測試條件、和循環(huán)所

11、構(gòu)成。您不需要編譯 shell 命令檔。Shell 本身會(huì)解譯命令檔中的每一行,就如同由鍵盤輸入一樣。shell 負(fù)責(zé)解譯命令,而使用者則必須了解這些命令能做什么。這本書的索引列出了一些有用的命令和它們的使用方法。1.2 嵌入式linux嵌入式 HYPERLINK /view/1634.htm t _blank linux是將日益流行的Linux HYPERLINK /view/880.htm t _blank 操作系統(tǒng)進(jìn)行裁剪修改,使之能在 HYPERLINK /view/4353330.htm t _blank 嵌入式計(jì)算機(jī)系統(tǒng)上運(yùn)行的一種操作系統(tǒng)。嵌入式linux既繼承了Internet

12、上無限的 HYPERLINK /view/1708.htm t _blank 開放源代碼資源,又具有 HYPERLINK /view/18554.htm t _blank 嵌入式操作系統(tǒng)的特性。嵌入式Linux的特點(diǎn)是版權(quán)費(fèi)免費(fèi);購買費(fèi)用媒介成本技術(shù)支持全世界的自由 HYPERLINK /view/37.htm t _blank 軟件開發(fā)者提供支持網(wǎng)絡(luò)特性免費(fèi),而且性能優(yōu)異,軟件移植容易,代碼開放,有許多 HYPERLINK /view/7886.htm t _blank 應(yīng)用軟件支持,應(yīng)用產(chǎn)品開發(fā)周期短,新產(chǎn)品上市迅速,因?yàn)橛性S多公開的代碼可以參考和移植,實(shí)時(shí)性能RT_Linux Hardh

13、at Linux 等嵌入式Linux支持,實(shí)時(shí)性能穩(wěn)定性好安全性好。如果分別讓10位 HYPERLINK /view/25007.htm t _blank 工程師給出 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)的定義,將得到10個(gè)不同的答案。一般來說,大部分的 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)執(zhí)行特定的任務(wù)。我們假定最簡單的 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)包括輸入/輸出功能,以及一些控制邏輯,該系統(tǒng)基于它的配置執(zhí)行某些類型的功能。按照這個(gè)標(biāo)準(zhǔn),可以認(rèn)為一個(gè)包含實(shí)現(xiàn)控

14、制邏輯74123計(jì)數(shù)器以及一個(gè)狀態(tài)是一個(gè) HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)。也許可以補(bǔ)充說,該系統(tǒng)必須可通過 HYPERLINK /view/87682.htm t _blank 存儲(chǔ)在 HYPERLINK /view/33738.htm t _blank 固件中的 HYPERLINK /view/37.htm t _blank 軟件進(jìn)行 HYPERLINK /view/3281.htm t _blank 編程。這個(gè)新的 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)定義包括輸入/輸出(I/O),以及存儲(chǔ)在系統(tǒng) HY

15、PERLINK /view/33738.htm t _blank 固件中的控制邏輯。一個(gè)帶有鼠標(biāo)、鍵盤、網(wǎng)絡(luò)連接并運(yùn)行 HYPERLINK /view/185360.htm t _blank 圖形用戶界面(GUI,graphical user interface) HYPERLINK /view/1462677.htm t _blank 多任務(wù)操作系統(tǒng)的 HYPERLINK /view/79807.htm t _blank 桌面計(jì)算機(jī)顯然滿足這些要求,但我們能認(rèn)為它是一個(gè) HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)嗎?如果 HYPERLINK /view/7

16、9807.htm t _blank 桌面計(jì)算機(jī)不是一個(gè) HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng),那么手持設(shè)備呢?它們有I/O功能,可以運(yùn)行存儲(chǔ)在 HYPERLINK /view/33738.htm t _blank 固件中的控制邏輯。有人說, HYPERLINK /view/79807.htm t _blank 桌面計(jì)算機(jī)和手持設(shè)備都有 HYPERLINK /view/1472448.htm t _blank 通用計(jì)算機(jī)設(shè)備,可以運(yùn)行 HYPERLINK /view/37.htm t _blank 軟件來執(zhí)行許多不同的任務(wù),與之不同的是, HYPERLI

17、NK /view/6115.htm t _blank 嵌入式系統(tǒng)(例如,洗碗機(jī)控制器或飛行導(dǎo)航系統(tǒng))主要是為特定任務(wù)而設(shè)計(jì)的。這種特定的功能限定使 HYPERLINK /view/2778983.htm t _blank 嵌入式設(shè)備有功能上的唯一性。如果是這樣,為什么一些 HYPERLINK /view/2632427.htm t _blank 嵌入式系統(tǒng)設(shè)計(jì)成具有附加的功能,如存儲(chǔ)在非易失性 HYPERLINK /view/87697.htm t _blank 存儲(chǔ)器中的程序,并且具有運(yùn)行可以完成原始設(shè)計(jì)范圍之外的任務(wù)的 HYPERLINK /view/1462677.htm t _blan

18、k 多任務(wù)操作系統(tǒng)的能力呢?在過去,區(qū)分 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)和 HYPERLINK /view/1472448.htm t _blank 通用計(jì)算機(jī)比簡單得多。例如,可以很容易地區(qū)分出一個(gè)基于8051的T1分幅卡 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)和一臺(tái)Sun UNIX HYPERLINK /view/7977.htm t _blank 工作站。從功能方面很難區(qū)分一臺(tái)Sun工作站和一個(gè)包含PowerPC以及32MB內(nèi)存和16MB閃存的機(jī)頂盒。這樣的機(jī)頂盒可以運(yùn)行帶GUI的 HYPERLINK

19、 /view/1462677.htm t _blank 多任務(wù)操作系統(tǒng),可現(xiàn)場升級,可以同時(shí)運(yùn)行多個(gè)程序(如 HYPERLINK /view/1266797.htm t _blank 視頻控制器、數(shù)字錄像和Java HYPERLINK /view/1132.htm t _blank 虛擬機(jī)),還可以進(jìn)行安全的因特網(wǎng)在線交易。很難判斷這種機(jī)頂盒是否是一個(gè) HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)。顯然,硬件性能的提升和價(jià)格的下降使 HYPERLINK /view/1472448.htm t _blank 通用計(jì)算機(jī)和 HYPERLINK /view/6115

20、.htm t _blank 嵌入式系統(tǒng)之間的界限變得很模糊,技術(shù)的進(jìn)步使得我們很難定義什么是嵌入式。1.3 嵌入式linux應(yīng)用特點(diǎn)嵌入式Linux的應(yīng)用領(lǐng)域非常廣泛,主要的應(yīng)用領(lǐng)域有信息家電、PDA 、機(jī)頂盒、Digital Telephone、Answering Machine、Screen Phone 、數(shù)據(jù)網(wǎng)絡(luò)、Ethernet Switches、Router、Bridge、Hub、Remote access servers、ATM、Frame relay 、遠(yuǎn)程通信、醫(yī)療電子、交通運(yùn)輸計(jì)算機(jī)外設(shè)、工業(yè)控制、航空航天領(lǐng)域等。就是利用Linux其自身的許多特點(diǎn),把它應(yīng)用到 HYPERLI

21、NK /view/6115.htm t _blank 嵌入式系統(tǒng)里。Linux做嵌入式的優(yōu)勢,首先,Linux是開放源代碼的,不存在黑箱技術(shù),遍布全球的眾多Linux愛好者又是Linux開發(fā)者的強(qiáng)大技術(shù)支持;其次,Linux的 HYPERLINK /view/1366.htm t _blank 內(nèi)核小、效率高,內(nèi)核的更新速度很快,linux是可以定制的,其系統(tǒng)內(nèi)核最小只有約134KB。第三,Linux是免費(fèi)的OS,在價(jià)格上極具競爭力。 Linux還有著 HYPERLINK /view/18554.htm t _blank 嵌入式操作系統(tǒng)所需要的很多特色,突出的就是Linux適應(yīng)于多種CPU和多

22、種硬件平臺(tái),是一個(gè)跨平臺(tái)的系統(tǒng)。到目前為止,它可以支持二三十種CPU。而且性能穩(wěn)定,裁剪性很好,開發(fā)和使用都很容易。很多CPU包括家電業(yè)芯片,都開始做Linux的平臺(tái)移植工作。移植的速度遠(yuǎn)遠(yuǎn)超過Java的開發(fā)環(huán)境。也就是說,如果今天用Linux環(huán)境開發(fā)產(chǎn)品,那么將來換CPU就不會(huì)遇到困擾。同時(shí), HYPERLINK /view/573460.htm t _blank Linux內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的,Linux對網(wǎng)絡(luò)中最常用的 HYPERLINK /view/7649.htm t _blank TCP/IP協(xié)議有最完備的支持。提供了包括十兆、百兆、千兆的以太網(wǎng)絡(luò),以及 HYPERLI

23、NK /view/5030.htm t _blank 無線網(wǎng)絡(luò),Toker ring( HYPERLINK /view/115033.htm t _blank 令牌環(huán)網(wǎng))、光纖甚至衛(wèi)星的支持。所以Linux很適于做信息家電的開發(fā)。還有使用Linux為的是來開發(fā)無線連接產(chǎn)品的開發(fā)者越來越多。Linux在快速增長的無線連接應(yīng)用主場中有一個(gè)非常重要的優(yōu)勢,就是有足夠快的開發(fā)速度。這是因?yàn)長Inux有很多工具,并且Linux為眾多程序員所熟悉。因此,我們要在 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)中使用 HYPERLINK /view/46577.htm t _

24、blank Linux操作系統(tǒng)。Linux的大小適合 HYPERLINK /view/18554.htm t _blank 嵌入式操作系統(tǒng)Linux固有的模塊性,適應(yīng)性和可配置性,使得這很容易做到。另外,Linux源碼的實(shí)用性和成千上萬的程序員熱切期望它用于無數(shù)的嵌入式應(yīng)用軟件中,導(dǎo)致很多嵌入式Linux的出現(xiàn),包括: HYPERLINK /view/1737837.htm t _blank Embedix,ETLinux,LEM,Linux Router Project,LOAF,uCLinux,muLinux,ThinLinux,F(xiàn)irePlug,Linux和PizzaBox Linux相

25、比微軟,Linux的圖形界面發(fā)展很快,像GNOME,KDE,UTITY等都是很優(yōu)秀的 HYPERLINK /view/7348571.htm t _blank 桌面管理器,并且其背后有著眾多的社團(tuán)支持,可定制性強(qiáng),已經(jīng)在Unix和Linux世界普及開來。1.4 發(fā)展前景有巨大的市場前景和商業(yè)機(jī)會(huì),出現(xiàn)了大量的專業(yè)公司比如 HYPERLINK /view/1210860.htm t _blank MontavistaLineo Emi等,有行業(yè)協(xié)會(huì)如Embedded Linux Consortum等,得到世界著名計(jì)算機(jī)公司和OEM板級廠商的支持,例如IBM Motorola Intel等。傳統(tǒng)的

26、 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)廠商也采用了Linux策略,如Lynxworks Windriver QNX等,還有Internet上的大量嵌入式Linux愛好者的支持。嵌入式Linux支持幾乎所有的嵌入式CPU和被移植到幾乎所有的嵌入式OEM板。2 Linux Shell與嵌入式簡介2.1 shell 的定義Shell是一種專用于用戶與操作系統(tǒng)內(nèi)核交互運(yùn)行的腳本程序,如圖1-1所示,shell是計(jì)算機(jī)使用者與UNIX/linux系統(tǒng)內(nèi)核進(jìn)行交流的渠道。內(nèi)核是操作系統(tǒng)的核心,涵蓋資源管理、進(jìn)程調(diào)度等眾多內(nèi)容。內(nèi)核在開機(jī)的時(shí)候由bootloader

27、引導(dǎo)時(shí)載入內(nèi)存,關(guān)機(jī)之前一直由它管理計(jì)算機(jī)資源。它的主要功能是進(jìn)程管理、物理資源管理、文件處理和計(jì)算機(jī)間及進(jìn)程間通信等。內(nèi)核始終運(yùn)行在內(nèi)存上,其余的應(yīng)用程序保存在磁盤上。當(dāng)用戶打開這些應(yīng)用時(shí),應(yīng)用程序便統(tǒng)統(tǒng)由內(nèi)核加載到內(nèi)存中運(yùn)行。當(dāng)用戶關(guān)閉應(yīng)用時(shí),便相當(dāng)于對程序發(fā)送信號(hào),內(nèi)核關(guān)閉應(yīng)用并且進(jìn)行資源回收。Shell伴隨著用戶的登陸而啟動(dòng)。用戶在終端中輸入shell指令。隨后便可以解釋執(zhí)行。 圖2-1 shell的模型Shell是在用戶登陸成功后便開始運(yùn)行的,這時(shí)候它會(huì)提醒用戶開始輸入命令并將其進(jìn)行處理。用戶輸入完成口令時(shí),Shell先用詞法分析器對其進(jìn)行詞法分析、分割。再將分割處理后的口令交由內(nèi)核

28、來進(jìn)行完成。比如管道、重定向、通配符等。內(nèi)核會(huì)逐一匹配,完成任務(wù)。廣大的linux使用者均是通過在終端的鍵入口令交由shell處理來達(dá)成與內(nèi)核的交互。用戶在輸入一些相似的命令的時(shí)候,肯定很樂意看到這些工作可以由計(jì)算機(jī)自行完成。因此人們發(fā)明了shell腳本。用一個(gè)文件涵蓋所有的命令,這就是shell腳本,隨后運(yùn)行這個(gè)文件,就可實(shí)現(xiàn)shell命令的自動(dòng)執(zhí)行。它的功能相當(dāng)于系統(tǒng)批處理文件,用一個(gè)文件包含所有的shell指令,然后通過執(zhí)行便可完成所有工作。Shell腳本除了這些功能以外還提供了強(qiáng)大的邏輯處理語句,比如判斷、循環(huán)、匹配等等。這中邏輯處理與其他的程序設(shè)計(jì)語言都是相通的,因此對于初學(xué)者來說就

29、顯得很簡單。但是,shell的使用并不是懂了語法后就可以進(jìn)行的,它需要用戶對操作系統(tǒng)有一定的了解。要了解內(nèi)核的工作方式,系統(tǒng)提供了grep、sed和awk等工具。學(xué)會(huì)使用這些工具對處理命令輸出和輸入文件時(shí)會(huì)發(fā)揮出極大的作用。學(xué)會(huì)使用shell腳本的編寫執(zhí)行后就可以把它看做是一種編程語言了,而內(nèi)核就是它的編譯器。2.1.1 UNIX Shell總的來說市場上絕大部分unix內(nèi)核都支持這三種主流的shell。在運(yùn)行的時(shí)候雖然他們的功能非常相似,但是畢竟是三種不同的腳本語言,因此語法有區(qū)別,運(yùn)行效率也有很大不同。首先來看Bourne shell。它是標(biāo)準(zhǔn)的unix shell。在系統(tǒng)管理領(lǐng)域的使用尤

30、為廣泛。它提供了一種簡潔、高效、快速的shell腳本編寫方式。在該版本shell中管理員常以root身份進(jìn)行操作。它的命令提示符是$。然后來看C shell。它是由美國加州大學(xué)伯克利分校在上世紀(jì)八十年代開發(fā)的一個(gè)版本,開發(fā)者為Bill Joy。他的目的是為了讓用戶更容易地使用交互性shell。因此他加入了很多友好的功能,比如命令歷史查詢、作業(yè)控制等新功能。而且由于效率更高,因此廣受用戶喜愛。它的默認(rèn)命令提示符是%。最后來看Korn shell。Korn shell的開發(fā)是基于了當(dāng)時(shí)的很有趣的一個(gè)現(xiàn)象:相當(dāng)長的一段時(shí)間里。人們用Bourne shell做開發(fā),用C shell做交互。因此開發(fā)者結(jié)

31、合了這兩個(gè)版本共有的優(yōu)點(diǎn),最終貝爾實(shí)驗(yàn)室的大衛(wèi).科恩在上個(gè)世紀(jì)八十年代末開發(fā)出了Korn shell。Korn shell幾乎完全向上兼容Bourne shell,所以老的Bourne程序在Kore shell中運(yùn)行良好。Novell公司開發(fā)了一個(gè)Korn shell的新版本(以前的版本為ksh93),支持在桌面上進(jìn)行X window編程。dtksh.Dtksh是大多數(shù)UNIX系統(tǒng)硬件廠商所支持的通用桌面環(huán)境(Common Desktop Environment,CDE)的標(biāo)準(zhǔn)部件,Korn shell的公共域版本(/stable/shells/pdksh)稱為psksh,這種版本也在包括li

32、nux在內(nèi)的多種平臺(tái)上可用。用于windows的Korn shell可以在/uwin上找到。它的默認(rèn)命令提示符是$。2.1.2 Linux Shell通常,由于很多l(xiāng)inux版本已經(jīng)包含shell了,因此用戶安裝完linux之后立馬就可以使用GNU的shell和其他工具,即非標(biāo)準(zhǔn)unix shell和工具。Linux默認(rèn)的shell版本是bash。這種版本是在Bource shell的基礎(chǔ)上進(jìn)行了進(jìn)一步的開發(fā)而生成的加強(qiáng)版。它擴(kuò)展了很多的功能,不僅體現(xiàn)在代碼的編寫上,用戶在使用的過程中能夠根據(jù)自己的需要獨(dú)立剪裁工作環(huán)境,甚至可以建立快捷鍵完成一些常用操作。由于種種優(yōu)勢,使得bash當(dāng)之無愧地成

33、為了當(dāng)前l(fā)inux用戶使用最普遍的shell版本??梢缘焦俜骄W(wǎng)站“/software/bash/bash.html”下載。它的默認(rèn)命令提示符是$。TC shell也是廣大linux用戶常用的一種shell版本。作為C shell在linux系統(tǒng)中的一個(gè)兼容性分支,它已經(jīng)被注入了新的血液,功能性也大大增強(qiáng)。下載地址為 HYPERLINK http:/www.tcsh.rog/MostRecentRelease www.tcsh.rog/MostRecentRelease。 它的默認(rèn)命令提示符是。另一種linux shell版本名為Z shell,它結(jié)合了前三個(gè)版本的很多功能。還有一種名為Publ

34、ic Domain的shell,這種shell是Korn shell的克隆版本,使用時(shí)需要向美國電報(bào)電話付費(fèi),即它的發(fā)行商。它的默認(rèn)提示符是$。若想了解自己所使用的linux有幾種版本的shell,可以查看/etc/shell目錄下的文件。例如在終端中運(yùn)行如下命令:$cat /etc/shell/bin/bash/bin/sh/bin/ash/bin/bsh/bin/tcsh/bin/csh/bin/ksh/bin/zsh在linux系統(tǒng)中,/ect/shell目錄中的文件便是當(dāng)前環(huán)境中所有可用的shell版本。2.2 shell的歷史Bournce shell是一種編程語言,作為一門語言來講

35、,它的參照模板是Algol,即當(dāng)時(shí)的很流行的程序設(shè)計(jì)語言。Bourne shell是在1977年底被美國電話電報(bào)公司所推出,開發(fā)者用自己的名字為其命名。二者之間有很強(qiáng)的聯(lián)系性,語法類似,功能也大致相同。在實(shí)際的運(yùn)用過程中,bourne shell主要被用于操作系統(tǒng)(即當(dāng)時(shí)的unix)自動(dòng)化運(yùn)行及管理進(jìn)程,其功能效果與十分強(qiáng)大,因而風(fēng)靡一時(shí)。而且其操作簡單,運(yùn)行高效,備受廣大用戶的歡迎,但它也不是沒有弱點(diǎn)的,最大的缺點(diǎn)便是交互性有所欠缺,缺乏如命令歷史、作業(yè)控制能相關(guān)的友好功能。隨后,在二十世紀(jì)八十年代早期,加州伯克利大學(xué)由Bill Joy率領(lǐng)的開發(fā)團(tuán)隊(duì)為了改善當(dāng)前所廣泛使用的Bourne sh

36、ell在交互性上的不足,開發(fā)了一款新型的shell,即C shell。與bourne相比,它的交互性更強(qiáng),更加友好,比如增加了命令行歷史功能,但是這是以犧牲運(yùn)行效率為代價(jià)的,不論是個(gè)人電腦還是高端服務(wù)器,它的運(yùn)行都比較緩慢。當(dāng)C shell被開發(fā)出來并在市場上存在了一段時(shí)間之后,用戶在shell的使用方面有了更加明確的選擇,不過這激發(fā)了人們越來越多的關(guān)于二者之間哪一個(gè)更好用的討論。Bourne的效率更高,但是交互性有限,C shell使用更容易,但是運(yùn)行緩慢。在這種背景下,開發(fā)者在C shell問世幾年后與1986年推出了一個(gè)新版的shell版本,即korn shell,這次仍然是美國電話電報(bào)

37、公司發(fā)行的。它是在bourne shell的基礎(chǔ)上對其底層代碼進(jìn)行了深度發(fā)掘,并且兼容性更好,即能適應(yīng)多種環(huán)境和平臺(tái),而不是僅限于unix系統(tǒng)。類似于對前輩的拓展吧。于是很自然地,這款設(shè)計(jì)更加人性化且運(yùn)行高效的新版本shell成為了廣大unix的首選,在其發(fā)行的眾多版本中,1988年發(fā)行的堪稱經(jīng)典。1988年,pdksh發(fā)布,它是 Pubilc Domain Korn Shell的簡稱。這是一款Korn shell的克隆版本。與其母版一樣,Pdksh也有極強(qiáng)的適應(yīng)性和生存能力,適合多種環(huán)境,多種操作系統(tǒng)之間可以共享指令代碼,符合POSIX標(biāo)準(zhǔn)。Z shell預(yù)期一樣也是korn shell的克

38、隆版本。最后,著重提一下bash,這也是如今我們大部分用戶(包括我在內(nèi))正在使用的shell。bash是Bourne Again shell的簡寫,在1988年發(fā)行。實(shí)際上就是對Bourne shell的一個(gè)改進(jìn)版吧。其功能更加完善,交互性也十分成熟,成為了linux的默認(rèn)shell。它在變量、文件、函數(shù)、運(yùn)算方面有獨(dú)到的見解。2.3 shell的作用 HYPERLINK C:UsersAdministratorDesktophtmlssentence_detail170.htm t right Shell的一項(xiàng)主要功能是在交互方式下解釋從命令行輸入的命令,shell解析命令行,將其分解為詞(

39、也稱token),詞之間由空白分隔, HYPERLINK C:UsersAdministratorDesktophtmlssentence_detail171.htm t right 空白由制表符、空格鍵或換行組成,如果詞中有特殊的元字符,shell會(huì)對其進(jìn)行替換。 HYPERLINK C:UsersAdministratorDesktophtmlssentence_detail172.htm t right Shell處理文件I/O和后臺(tái)進(jìn)程。對命令行的處理結(jié)束后,shell搜索命令并開始運(yùn)行它。 HYPERLINK C:UsersAdministratorDesktophtmlssente

40、nce_detail173.htm t right Shell的另一項(xiàng)重要功能是定制用戶環(huán)境,這通常在shell的初始化文件中完成。 HYPERLINK C:UsersAdministratorDesktophtmlssentence_detail174.htm t right 初始化文件中有很多定義,包括設(shè)置終端鍵和窗口屬性,設(shè)置用來定義搜索路徑、權(quán)限、提示符和終端類型的變量,設(shè)置特定應(yīng)用程序所需的變量,如窗口、字處理程序和編輯語言的庫等。 HYPERLINK C:UsersAdministratorDesktophtmlssentence_detail176.htm t right Kor

41、n/Bash shell和C/TC shell還提供了更多的定制功能:歷史添加、別名、設(shè)置內(nèi)置變量防止用戶破壞文件或無意中退出,通知用戶作業(yè)完成。 HYPERLINK C:UsersAdministratorDesktophtmlssentence_detail178.htm t right Shell還能用作解釋性的編程語言。 HYPERLINK C:UsersAdministratorDesktophtmlssentence_detail179.htm t right Shell程序(也稱shell腳本)由文件中的一列命令組成。 HYPERLINK C:UsersAdministrator

42、Desktophtmlssentence_detail180.htm t right Shell程序用編輯器生成(也可以在命令行上直接輸入腳本)。 HYPERLINK C:UsersAdministratorDesktophtmlssentence_detail181.htm t right 他們由UNIX命令組成,命令之間插入一些基本的程序結(jié)構(gòu),如變量賦值、條件測試和循環(huán)。 HYPERLINK C:UsersAdministratorDesktophtmlssentence_detail182.htm t right Shell腳本不需要編譯。Shell會(huì)逐行解釋腳本,就好像它是從鍵盤輸入一

43、樣。 HYPERLINK C:UsersAdministratorDesktophtmlssentence_detail183.htm t right Shell負(fù)責(zé)解釋命令,因此,用戶需要了解可用的命令有哪些。2.4 shell的職責(zé)Shell負(fù)責(zé)確保用戶在命令提示符后輸入的命令被正確執(zhí)行。其職責(zé)包括:1)讀取輸入并解析命令行替換特殊字符,比如通配符和歷史命令符。2)設(shè)置管道、重定向和后臺(tái)處理。3)處理信號(hào)。4)程序執(zhí)行的相關(guān)設(shè)置。2.5 嵌入式簡介定義:IEEE(Institute of Electrical and Electronics Engineers,美國電氣和電子工程師協(xié)會(huì))對

44、 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)的定義:“用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置”。原文為:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)是一種專用的 HYPERLINK /view/1130583.htm t _blank 計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分。通常,嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM中的 HYPERLINK /v

45、iew/1258964.htm t _blank 嵌入式處理器控制板。事實(shí)上,所有帶有數(shù)字接口的設(shè)備,如 HYPERLINK /subview/5663/5063576.htm t _blank 手表、微波爐、 HYPERLINK /view/111680.htm t _blank 錄像機(jī)、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個(gè) HYPERLINK /subview/17674/17674.htm t _blank 程序?qū)崿F(xiàn)整個(gè)控制邏輯。從 HYPERLINK /view/5314991.htm t _blank 應(yīng)用對象上加以定義,從右圖中可以看

46、出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國內(nèi)普遍認(rèn)同的 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以 HYPERLINK /view/62176.htm t _blank 計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。企業(yè)嵌入式開發(fā)。嵌入式設(shè)計(jì)是企業(yè)電子產(chǎn)品設(shè)計(jì)的重要組成,目前國內(nèi)外中小型企業(yè)內(nèi)部都建立了自己的嵌入式開發(fā)團(tuán)隊(duì)。團(tuán)隊(duì)所需的人員職位構(gòu)成包括:(1)系統(tǒng)設(shè)計(jì)工程師 (2)硬件工程師 (3)底層驅(qū)動(dòng)工程師 (4)Linux系統(tǒng)工程師 (5)應(yīng)用設(shè)計(jì)工程

47、師等。對于企業(yè)而言,嵌入式開發(fā)越來越朝著敏捷開發(fā)、專業(yè)操作的方向發(fā)展。國內(nèi)也逐步涌現(xiàn)出一些專門定制開發(fā)電子產(chǎn)品、進(jìn)行嵌入式外包的專業(yè)公司。對于企業(yè)而言,隨時(shí)關(guān)注嵌入式承載硬件的發(fā)展尤其重要,尤其是ARM、FPGA、MCU的結(jié)構(gòu)、工藝、速度正在經(jīng)歷著不斷的變革。一個(gè)嵌入式系統(tǒng)裝置一般都由 HYPERLINK /view/4353330.htm t _blank 嵌入式計(jì)算機(jī)系統(tǒng)和執(zhí)行裝置組成,嵌入式計(jì)算機(jī)系統(tǒng)是整個(gè)嵌入式系統(tǒng)的核心,由硬件層、中間層、系統(tǒng)軟件層和 HYPERLINK /view/7886.htm t _blank 應(yīng)用軟件層組成。執(zhí)行裝置也稱為被控對象,它可以接受 HYPERLI

48、NK /view/4353330.htm t _blank 嵌入式計(jì)算機(jī)系統(tǒng)發(fā)出的控制命令,執(zhí)行所規(guī)定的操作或任務(wù)。執(zhí)行裝置可以很簡單,如手機(jī)上的一個(gè)微小型的電機(jī),當(dāng)手機(jī)處于震動(dòng)接收狀態(tài)時(shí)打開;也可以很復(fù)雜,如SONY 智能 HYPERLINK /view/430307.htm t _blank 機(jī)器狗,上面集成了多個(gè)微小型控制電機(jī)和多種傳感器,從而可以執(zhí)行各種復(fù)雜的動(dòng)作和感受各種狀態(tài)信息。硬件層中包含 HYPERLINK /view/27055.htm t _blank 嵌入式微處理器、存儲(chǔ)器(SDRAM、ROM、Flash等)、通用設(shè)備接口和I/O接口(A/D、D/A、I/O等)。在一片

49、HYPERLINK /view/1258964.htm t _blank 嵌入式處理器基礎(chǔ)上添加電源電路、 HYPERLINK /view/2246970.htm t _blank 時(shí)鐘電路和存儲(chǔ)器電路,就構(gòu)成了一個(gè)嵌入式核心控制模塊。其中操作系統(tǒng)和應(yīng)用程序都可以固化在ROM中。 HYPERLINK /view/25278.htm t _blank 硬件層與軟件層之間為中間層,也稱為硬件抽象層(Hardware Abstract Layer,HAL)或 HYPERLINK /view/1730227.htm t _blank 板級支持包(Board Support Package,BSP),它

50、將系統(tǒng)上層軟件與底層硬件分離開來,使系統(tǒng)的底層 HYPERLINK /view/1048.htm t _blank 驅(qū)動(dòng)程序與硬件無關(guān),上層軟件開發(fā)人員無需關(guān)心底層硬件的具體情況,根據(jù)BSP 層提供的接口即可進(jìn)行開發(fā)。該層一般包含相關(guān)底層硬件的初始化、數(shù)據(jù)的輸入/輸出操作和硬件設(shè)備的配置功能。BSP具有以下兩個(gè)特點(diǎn)。硬件相關(guān)性:因?yàn)?HYPERLINK /view/2079532.htm t _blank 嵌入式實(shí)時(shí)系統(tǒng)的硬件環(huán)境具有應(yīng)用相關(guān)性,而作為上層軟 件與硬件平臺(tái)之間的接口,BSP需要為操作系統(tǒng)提供操作和控制具體硬件的方法。操作系統(tǒng)相關(guān)性:不同的操作系統(tǒng)具有各自的軟件層次結(jié)構(gòu),因此,不

51、同的操作系統(tǒng)具有特定的硬件接口形式。實(shí)際上,BSP是一個(gè)介于操作系統(tǒng)和底層硬件之間的軟件層次,包括了系統(tǒng)中大部分與硬件聯(lián)系緊密的軟件模塊。設(shè)計(jì)一個(gè)完整的BSP需要完成兩部分工作: HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)的硬件初始化以及BSP功能,設(shè)計(jì)硬件相關(guān)的 HYPERLINK /view/547398.htm t _blank 設(shè)備驅(qū)動(dòng)。特點(diǎn):1)可裁剪性。支持開放性和可伸縮性的 HYPERLINK /view/1188494.htm t _blank 體系結(jié)構(gòu)。2)強(qiáng)實(shí)時(shí)性。EOS實(shí)時(shí)性一般較強(qiáng),可用于各種設(shè)備控制中。3)統(tǒng)一的接口。提供設(shè)備統(tǒng)一的

52、驅(qū)動(dòng)接口。4)操作方便、簡單、提供友好的圖形GUI和圖形界面,追求易學(xué)易用。提供強(qiáng)大的網(wǎng)絡(luò)功能,支持TCP/IP協(xié)議及其他協(xié)議,提供TCP/UDP/IP/PPP HYPERLINK /view/63557.htm t _blank 協(xié)議支持及統(tǒng)一的MAC訪問層接口,為各種移動(dòng)計(jì)算設(shè)備預(yù)留接口。5)強(qiáng)穩(wěn)定性,弱 HYPERLINK /view/4889540.htm t _blank 交互性。 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)一旦開始運(yùn)行就不需要用戶過多的干預(yù)、這就要負(fù)責(zé)系統(tǒng)管理的EOS具有較強(qiáng)的穩(wěn)定性。 HYPERLINK /view/18554.

53、htm t _blank 嵌入式操作系統(tǒng)的 HYPERLINK /view/1309799.htm t _blank 用戶接口一般不提供操作命令,它通過系統(tǒng)的調(diào)用命令向 HYPERLINK /view/1976812.htm t _blank 用戶程序提供服務(wù)。6)固化代碼。在 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)中, HYPERLINK /view/18554.htm t _blank 嵌入式操作系統(tǒng)和應(yīng)用軟件被固化在嵌入式系統(tǒng)計(jì)算機(jī)的ROM中。7)更好的硬件適應(yīng)性,也就是良好的移植性。8)嵌入式系統(tǒng)和具體應(yīng)用有機(jī)地結(jié)合在一起,它的升級換代也是和具體

54、產(chǎn)品同步進(jìn)行,因此嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場,具有較長的生命周期。文件系統(tǒng): HYPERLINK /view/4710402.htm t _blank 通用操作系統(tǒng)的文件系統(tǒng)通常具有以下功能:提供用戶對文件操作的命令。提供用戶共享文件的機(jī)制。管理文件的存儲(chǔ)介質(zhì)。提供文件的存取控制機(jī)制,保障文件及文件系統(tǒng)的安全性。提供文件及文件系統(tǒng)的備份和恢復(fù)功能。提供對文件的加密和解密功能。嵌入式文件系統(tǒng)比較簡單,主要提供文件存儲(chǔ)、檢索和更新等功能,一般不提供保護(hù)和加密等安全機(jī)制。它以 HYPERLINK /view/47173.htm t _blank 系統(tǒng)調(diào)用和命令方式提供文件的各種操作,主要有:設(shè)置、修

55、改對文件和目錄的存取權(quán)限。提供建立、修改、改變和刪除目錄等服務(wù)。提供創(chuàng)建、打開、讀寫、關(guān)閉和撤銷文件等服務(wù)。文件系統(tǒng)的特點(diǎn)1)兼容性。嵌入式文件系統(tǒng)通常支持幾種標(biāo)準(zhǔn)的文件系統(tǒng),如FAT32、JFFS2、YAFFS等。2) HYPERLINK /view/1411781.htm t _blank 實(shí)時(shí)文件系統(tǒng)。除支持標(biāo)準(zhǔn)的文件系統(tǒng)外,為提高實(shí)時(shí)性,有些嵌入式文件系統(tǒng)還支持自定義的 HYPERLINK /view/1411781.htm t _blank 實(shí)時(shí)文件系統(tǒng),這些文件系統(tǒng)一般采用連續(xù)的方式存儲(chǔ)文件。3)可裁剪、可配置。根據(jù) HYPERLINK /view/6115.htm t _blan

56、k 嵌入式系統(tǒng)的要求選擇所需的文件系統(tǒng),選擇所需的存儲(chǔ)介質(zhì),配置可同時(shí)打開的最大文件數(shù)等。4)支持多種存儲(chǔ)設(shè)備。 HYPERLINK /view/6115.htm t _blank 嵌入式系統(tǒng)的外存形式多樣了,嵌入式文件系統(tǒng)需方便的掛接不同存儲(chǔ)設(shè)備的驅(qū)動(dòng)程序,具有靈活的設(shè)備管理能力。同時(shí)根據(jù)不同外部 HYPERLINK /view/87697.htm t _blank 存儲(chǔ)器的特點(diǎn),嵌入式文件系統(tǒng)還需要考慮其性能、壽命等因素,發(fā)揮不同外存的優(yōu)勢,提高存儲(chǔ)設(shè)備的可靠性和使用性。2.6 安卓與linux安卓Android這個(gè)原本陌生的詞,如今已經(jīng)無人不知,無人不曉,不知道什么時(shí)候起,安卓已經(jīng)是智能

57、手機(jī),平板電腦首選的操作系統(tǒng),而事實(shí)上,安卓到底是不是一個(gè)操作系統(tǒng)呢?安卓開發(fā)與嵌入式開發(fā)之間又存在什么樣的關(guān)系呢?我們來嘗試解開這些疑問,了解安卓與嵌入式之間的關(guān)系。實(shí)際上,Android安卓并不是一個(gè)操作系統(tǒng),而是一個(gè)需要Linux平臺(tái)來支撐其運(yùn)行的大型功能包,或者說是一個(gè)平臺(tái),一個(gè)更易于滿足人們對移動(dòng)互聯(lián)應(yīng)用需要的功能集成平臺(tái)。這個(gè)平臺(tái)由Google公司開發(fā),維護(hù)并不斷升級,由于其開源的特性,使得廣大移動(dòng)互聯(lián)產(chǎn)品廠商更愿意用這個(gè)平臺(tái)作為其自己產(chǎn)品的應(yīng)用平臺(tái),并更容易對其進(jìn)行修改、完善和二次開發(fā)。而谷歌公司在開發(fā)安卓的時(shí)候,就考慮到了其平臺(tái)上應(yīng)用軟件開發(fā)的難易程度,為了吸引更多的軟件開發(fā)愛

58、好者在谷歌開發(fā)的安卓平臺(tái)上盡情施展自己的想象力,開發(fā)出更多豐富易用的應(yīng)用軟件,Google選擇了Java語言作為Android平臺(tái)應(yīng)用軟件開發(fā)的首選語言,因?yàn)镴AVA語言更易學(xué),開發(fā)周期更短,并且熟悉JAVA的人更多,即便沒有編程開發(fā)經(jīng)驗(yàn)的人,只需月余便可掌握java開發(fā),更何況大量高級研發(fā)程序員,如果有興趣只需一周便可用java語言上手開發(fā)安卓軟件,這極大的降低了android平臺(tái)上應(yīng)用軟件開發(fā)的門檻,從而為迅速豐富谷歌市場、安卓市場提供了可能。日前,谷歌公司已經(jīng)將安卓開發(fā)集成環(huán)境打包,只需一鍵安裝,便可進(jìn)行安卓應(yīng)用程序開發(fā),這也進(jìn)一步說明了,Google希望讓安卓開發(fā)的門檻越低越好,越多的

59、人能夠進(jìn)行安卓應(yīng)用軟件開發(fā),谷歌的安卓系統(tǒng)就越有長久的生命力,避免sybain一樣的命運(yùn)!那么,到底安卓開發(fā)是不是嵌入式開發(fā)呢?安卓開發(fā)語言首選是java,但如果想在安卓平臺(tái)開發(fā)大型的游戲、地圖、導(dǎo)航、通訊等軟件,還是需要更高級的開發(fā)語言,如C、C+,因?yàn)榘沧渴沁\(yùn)行在Linux系統(tǒng)上面的一個(gè)應(yīng)用平臺(tái),因此,在Linux系統(tǒng)層面,用更高級的編程語言當(dāng)然可以開發(fā)出更有效率的大型應(yīng)用程序。掌握J(rèn)AVA語言,可以開發(fā)安卓系統(tǒng)平臺(tái)上大部分簡單的應(yīng)用程序,但是如果想真正開發(fā)一個(gè)大型安卓平臺(tái)的項(xiàng)目,恐怕,還是要更高級的研發(fā)工程師,而這個(gè)研發(fā)工程師必須掌握Linux系統(tǒng)下C、C+等程序設(shè)計(jì)語言,并且精通系統(tǒng)編

60、程技術(shù),網(wǎng)絡(luò)通訊技術(shù)等嵌入式領(lǐng)域核心技術(shù),因此,安卓開發(fā)其實(shí)如果真的要走向更深層次,是必須要成為嵌入式開發(fā)工程師,才能夠勝任的。Android從誕生到現(xiàn)在也不過3年的時(shí)間,但是也就是在這短短的3年內(nèi)Android創(chuàng)造了一個(gè)迅速被人們知曉并追捧的奇跡。2007 年11 月5 日,Google 與其他33 家手機(jī)制造商(包含摩托羅拉、宏達(dá)電、三星、LG)、手機(jī)晶片供應(yīng)商、軟硬體供應(yīng)商、電信業(yè)者所聯(lián)合組成的開放手持裝置聯(lián)盟(Open Handset Alliance),發(fā)布了名為Android的開放手機(jī)軟硬體平臺(tái)。該聯(lián)盟的成員宣布日后都會(huì)在Android平臺(tái)上開發(fā)他們的新的業(yè)務(wù)。不久之后的2008

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論