『壹』 請問都有哪些單位會用到嵌入式linux操作系統
太多,偏硬的
華為需求量就很多
大連外包的也很多
還有就是電子設備、電氣設備公司
你應該明白,嵌入式是智能家電,自動化機械,硬體控制等方面緊缺人才啊
而linux做這個,也是一大主流啊
『貳』 嵌入式linux是分時系統還是實時操作系統
嵌入式Linux 系統是在原來Linux的發行版本之上進行了優化和改進的,用於嵌入式的移動終端等設備的嵌入式Linux系統現在基本上都是實時性較高的,但有些LiNUX系統還是分時系統,這個主要看它應用在什麼場合和需求來決定選擇什麼樣的系統(實時、分時的Linux)!
『叄』 做一個嵌入式Linux系統究竟要做哪些工作
1、Linux 基礎
安裝Linux操作系統 Linux文件系統 Linux常用命令 Linux啟動過程詳解 熟悉Linux服務能夠獨立安裝Linux操作系統
能夠熟練使用Linux系統的基本命令 認識Linux系統的常用服務安裝Linux操作系統 Linux基本命令實踐 設置Linux環境變數 定製Linux的服務
Shell 編程基礎使用vi編輯文件 使用Emacs編輯文件 使用其他編輯器
2、Shell 編程基礎
Shell簡介 認識後台程序Bash編程熟悉Linux系統下的編輯環境 熟悉Linux下的各種Shell 熟練進行shell編程熟悉vi基本操作
熟悉Emacs的基本操作 比較不同shell的區別 編寫一個測試伺服器是否連通的shell腳本程序 編寫一個查看進程是否存在的shell腳本程序
編寫一個帶有循環語句的shell腳本程序
3、Linux 下的C 編程基礎
linux C語言環境概述 Gcc使用方法 Gdb調試技術 Autoconf Automake Makefile 代碼優化
熟悉Linux系統下的開發環境 熟悉Gcc編譯器 熟悉Makefile規則編寫Hello,World程序 使用 make命令編譯程序 編寫帶有一個循環的程序
調試一個有問題的程序
4、嵌入式系統開發基礎
嵌入式系統概述交叉編譯 配置TFTP服務 配置NFS服務 下載Bootloader和內核
嵌入式Linux應用軟體開發流程熟悉嵌入式系統概念以及開發流程 建立嵌入式系統開發環境製作cross_gcc工具鏈 編譯並下載U-boot
編譯並下載Linux內核 編譯並下載Linux應用程序
5、嵌入式系統移植
Linux內核代碼 平台相關代碼分析 ARM平台介紹 平台移植的關鍵技術 移植Linux內核到 ARM平台 了解移植的概念
能夠移植Linux內核移植Linux2.6內核到 ARM9開發板
6、嵌入式 Linux 下串口通信
串列I/O的基本概念 嵌入式Linux應用軟體開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端和MiniCOM
能夠熟悉進行串口通信 熟悉文件I/O 編寫串口通信程序 編寫多串口通信程序
7、嵌入式系統中多進程程序設計
Linux系統進程概述 嵌入式系統的進程特點 進程操作 守護進程 相關的系統調用了解Linux系統中進程的概念 能夠編寫多進程程序編寫多進程程序
編寫一個守護進程程序 sleep系統調用任務管理、同步與通信 Linux任務概述任務調度 管道 信號 共享內存 任務管理 API 了解Linux系統任務管理機制
熟悉進程間通信的幾種方式 熟悉嵌入式Linux中的任務間同步與通信編寫一個簡單的管道程序實現文件傳輸 編寫一個使用共享內存的程序
8、嵌入式系統中多線程程序設計
線程的基礎知識 多線程編程方法 線程應用中的同步問題了解線程的概念 能夠編寫簡單的多線程程序編寫一個多線程程序
9、嵌入式 Linux 網路編程
網路基礎知識 嵌入式Linux中TCP/IP網路結構 socket 編程 常用 API函數 分析Ping命令的實現 基本UDP套介面編程 許可證管理
PPP協議 GPRS 了解嵌入式Linux網路體系結構 能夠進行嵌入式Linux環境下的socket 編程 熟悉UDP協議、PPP協議 熟悉GPRS
使用socket 編寫代理伺服器 使用socket 編寫路由器 編寫許可證伺服器 指出TCP和UDP的優缺點 編寫一個web伺服器 編寫一個運行在
ARM平台的網路播放器
10、GUI 程序開發
GUI基礎 嵌入式系統GUI類型 編譯QT 進行QT開發熟悉嵌入式系統常用的GUI 能夠進行QT編程使用QT編寫「Hello,World」程序
調試一個加入信號/槽的實例 通過重載QWidget 類方法處理事件
11、Linux 字元設備驅動程序
設備驅動程序基礎知識 Linux系統的模塊 字元設備驅動分析 fs_operation結構 載入驅動程序了解設備驅動程序的概念
了解Linux字元設備驅動程序結構 能夠編寫字元設備驅動程序編寫Skull驅動 編寫鍵盤驅動 編寫I/O驅動 分析一個看門狗驅動程序
對比Linux2.6內核與2.4內核中字元設備驅動的不同Linux 塊設備驅動程序塊設備驅動程序工作原理 典型的塊設備驅動程序分析
塊設備的讀寫請求隊列了解Linux塊設備驅動程序結構 能夠編寫簡單的塊設備驅動程序比較字元設備與塊設備的異同 編寫MMC卡驅動程序 分析一個文件系統
對比Linux2.6內核與2.4內核中塊設備驅動的不同
12、文件系統
虛擬文件系統 文件系統的建立 ramfs內存文件系統 proc文件系統 devfs 文件系統 MTD技術簡介 MTD塊設備初始化
MTD塊設備的讀寫操作了解Linux系統的文件系統 了解嵌入式Linux的文件系統 了解MTD技術 能夠編寫簡單的文件系統為 ARM9開發板添加 MTD支持
移植JFFS2文件系統 通過proc文件系統修改操作系統參數 分析romfs 文件系統源代碼 創建一個cramfs 文件系統
無論選擇哪一方向,基本的linux的知識是需要具備的,其他還需要掌握的知識有ARM(最常用的一款嵌入式處理器)和C語言編程,每一方面知識的掌握熟練程度都最終決定了個人進行嵌入式linux開發的綜合能力。
更多詳情來源:《華清遠見嵌入式學院》
『肆』 用QT做一個基於LINUX跨平台播放器的一般步驟
ACE全稱adaptive communication enviroment,是一套C++的通信庫。它提供了socket/threading/memory management等多種系統調用的面對對象的wrapper,使C++通信軟體開發更加簡單。
ACE最帥的特點:跨平台!!!!!!ACE屏蔽了底層平台特定的語義,使用ACE編寫的C++程序,可以在linux/windows/HP-Unix下編譯執行,而且效率很高。曾經做過的一個VOIP項目就是用ACE寫的,那個項目的技術相當復雜,需要用到socket/multi-threading等很多與操作系統聯系緊密的技術,但用了ACE(界面用Qt)後,那個項目源碼可以直接在linux和windows下編譯運行,呵呵,還是相當成功的。項目進行中感到ACE相當成熟,舉一個朋友說Siemens的某些大型工程也是用的ACE。而且,ACE是免費開源的軟體包--不用白不用。
C++ Network Programming就是ACE項目的負責人Schmidt寫的,這位老哥以前是華盛頓大學的副教授,主要研究領域是軟體工程(他寫了不少關於pattern的文章和書),現在貓到UC Irvine去了,好象還是副教授(要這哥們在中國,早應該成教授了吧)。這兩本書主要介紹了ACE的使用,也涉及了部份設計方面的內容。第一卷主要介紹ACE的基本功能和使用,第二卷則偏重通訊軟體中的design pattern。搞通信軟體開發的兄弟們絕對應該看看此書。
另外也有人推薦把ACE作為學習C++的範例來學習,呵呵,這就是個人喜好的問題了...總的來說ACE的代碼風格還是很不錯的--比STL那些天書好看些,呵呵。
Q: 什麼是ACE或者ACE2插件?
A: 如果把普通的插件比作一棵棵互不關聯的小樹, 那麼ACE庫或者ACE2庫就是一棵大樹干,所有基於ACE的插件就是長在上面的樹枝. 共有的部分都被集成到一起,因此代碼非常短小和快速,而且穩定.ACE2是用來取代ACE的版本,雖然有一些插件還未能從ACE轉換到ACE2,但是ACE2系的插件現在可說代表了wow插件的最高水平.
ACE2是為其他倚賴ACE2才能運行的插件提供庫支持的一個庫文件,本身不具備任何功能。
如BigWigs[ACE2]就說明BigWigs這個插件需要ACE2的支持。
使用方法:解壓縮以後無論是ACE2還是!LIB都直接放入Interface\Addons裡面就可以了。
ACE 類插件因為短小精悍 面向對象 有越來越多的插件開始以其作為編寫庫
目前已經發展到 ACE2
ACE2運行庫開發組都是提倡直接內嵌的,完全沒有必要單獨提出來!沒錯如果你有10個內嵌了ACE2的插件,開始載入的時候確實會載入10個副本的ACE2導致Warmup顯示內存佔用偏大,但是在下次的碎片回收中,多餘的ACE2副本都會被清除,只留下一個駐留內存。如果有新舊多個版本,則會自動選擇最新的版本駐留。所以說,Warmup的數據,不能正確的反映出ACE2插件的實際內存使用。Warmup的作者本身也是ACE開發團隊的成員,現在由於Warmup導致的一些對ACE2的誤解,這傢伙想必也是哭笑不得了,呵。
作為ACE2插件的使用者,完全沒有需要去考慮運行庫的版本更新等等問題,這是ACE2標準的一個重要精神,是ACE2開發初始就持有的初衷!所有的ACE2運行庫,都是可直接內嵌、自動管理版本,不需要使用者進行任何管理干預的!
ACE2作為wow插件界的技術先鋒,為插件作者提供了一個良好的開發平台,也切實地為玩家帶來了易用、強大而低資源佔用的優秀插件。希望大家不要為過往的成見和一些人的誤導而錯失了如此優秀的插件!
談運行庫而色變,完全是沒有必要的。ACE2的優秀運行庫(包括ACE2和基於ACE2標準的CandyBar, Dewdrop, Metrognome, Compost, ParserLib等等)不但是簡化了插件的開發,優化了代碼,也對降低插件資源佔用作用。再加上ACE開發社區作者們強烈的優化意識,可以負責的說,ACE2的插件比其他插件絕對更省資源!
本質上來說, Qt是一個跨平台的C++應用程序開發框架,有時又被稱為C++部件工具箱。Qt被用在KDE桌面環境、Opera、GoogleEarth、Skype、Adobe Photoshop Album和VirtualBox的開發中。它是諾基亞(Nokia)的QtDevelopment Frameworks 部門的產品。使用 Qt,只需一次性開發應用程序和用戶界面,無須重新編寫源代碼,便可跨不同桌面和嵌入式操作系統部署這些應用程序。
基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等圖形界 面庫和 Windows 平台上的 MFC,OWL,VCL,ATL 是同類型的東西,但是 Qt 具有下列優點:
a) 優良的跨平台特性:
Qt支持下列操作系統: Microsoft Windows 95/98, Microsoft Windows NT, Linux,Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD,BSD/OS, SCO, AIX, OS390,QNX 等等。
b) 面向對象
Qt 的良好封裝機制使得 Qt 的模塊化程度非常高,可重用性較好,對於用戶開發來說是非常 方便的。 Qt 提供了一種稱為 signals/slots 的安全類型來替代 callback,這使得各個元件 之間的協同工作變得十分簡單。
c) 豐富的 API
Qt包括多達 250 個以上的 C++ 類,還替供基於模板的 collections, serialization, file, I/Odevice, directory management, date/time 類。甚至還包括正則表達式的處理 功能。
d) 支持 2D/3D 圖形渲染,支持 OpenGL
e) 大量的開發文檔
f) XML 支持
最近諾基亞發布了Qt 4.6——最新版的跨平台應用程序和用戶界面框架。Qt 4.6 對全新平台提供支持,具有強大的全新圖形處理能力並支持多點觸摸和手勢輸入,讓高級應用程序和設備的開發過程變得更加輕松和快樂。
諾基亞應用服務和框架副總裁Sebastian Nystrom說:「不論是什麼樣產品設計或開發平台,Qt 4.6的發布對開發人員來說都是一件令人興奮的事。」
「開發人員可以輕而易舉地為桌面平台或設備(包括數億部基於Symbian 和 Maemo系統的設備)開發出具有視覺美感和網路連接功能的應用程序。」
Nystr?m補充說:「開發人員將非常喜歡使用Qt直觀的編程界面,快速開發出功能強大、外表美觀的應用程序。」
更多平台
Qt4.6 首次包含了對Symbian 平台的支持,並在其所支持的平台中新增了 Windows 7、Apple Mac OS 10.6 (雪豹)和即將上市的Maemo 6。此外還為實時操作系統QNX 和 VxWorks提供了網路社區支持。對Maemo 5的支持目前也已進入研發階段,其技術預覽版第二版已於今日發布。
Qt 對 Symbian 和 Maemo 的支持首次為開發人員創造了使用同一代碼庫同時針對這兩個平台進行開發的機會。能夠跨平台分享代碼就意味著開發人員所開發的應用程序上市的速度將更快,影響的設備用戶群將更廣。
Qt Mobility項目下的全新Qt API技術預覽版也於今日同時發布。這些跨平台的API為開發人員提供了多種功能,如導航類設備的定位功能,以及信息發送和接收、聯系人和網路連接管理等。
外觀更炫
Qt 4.6是在4.5圖形增強功能的基礎上創建的,進一步強化了這些圖形功能,添加了全新的動畫框架(Animation Framework)——包括直觀的狀態機功能——以及全新的高級圖形功能,如不透明、陰影、閃光和濾鏡等。
使用手指
Qt4.6最令人興奮的新功能之一就是可以創建多點觸摸應用程序。這種全新的基於多觸點和手勢的輸入法(如輕觸和動力滾動)使Qt4.6框架的功能更為強大,用戶可以通過觸覺以動態的方式與應用程序和設備進行互動。
性能更強
傳統軟體開發觀點認為高級用戶界面功能的獲得通常是以性能嚴重受損作為代價的。Qt 4.6 對此觀點提出了挑戰,為此投入大量工作,既要獲得最佳性能,又要能讓開發人員所開發的產品達到用戶所要求的「令人驚嘆」的效果。
性能提升主要包括:一個經過高度優化、重新編寫的 Qt GraphicsView 渲染演算法、一個全新的 OpenGL 繪圖引擎、WebKit、使用 OpenVG 對 2D 矢量圖形的支持,以及對全新 DirectFB 的支持。
最新工具
在發布 Qt 4.6 的同時,作為 Qt 開發跨平台 IDE 的 Qt Creator 也發布了更新版本。Qt Creator 1.3 和 Qt 4.6共同構成的 Qt SDK,包含了開發跨平台應用程序所需的全部功能。(來自programbbs)
3、用QT能做什麼?
在QT的官方網站談到了15年來取得了的成就,它幫助世界各地和各個行業組織開發出先進的高度創新的應用和設備。
使用Qt,眾多的開發商和公司已經能夠:
● 減少了近50%的開發時間。
● 加速了50%的開發速度由於代碼可維護
● 減少了50%的代碼量
Qt的用戶怎麼說?
● 94%報告說,Qt的滿足或超過其發展的期望
● 92%會向他人推薦使用Qt
● 76%報告因為使用Qt,生產率提高
Qt的應用領域:
有很多出名的例子是都是使用Qt開發的。例如: Arora(一款跨平台的開源網頁瀏覽器)、eva(Linux版QQ聊天軟體)、FreeMat(一個自由開源的數值計算環境和編程語言 )、Ga-Ga(即時通信軟體)、Google地球(Google Earth)(三維虛擬地圖軟體)、ImageVis3D、KDE(著名的桌面環境)、Elibs(一個許多KDE程序都使用的共享庫,如Amarok、K3b、KDevelop、KOffice等)、Last.fm播放器(著名的互聯網音樂社區網站的桌面客戶端)、Motorola A760(UI 以 Qt/Embedded 建構)、MythTV9(開源的數字視頻錄制軟體)、Opera(著名的網頁瀏覽器)、Qterm(跨平台的BBS軟體)、QtExtended、Quantum GIS、Skype(一個使用人數眾多的基於P2P的VOIP聊天軟體)、SMPlayer(跨平台多媒體播放器)、TeamSpeak(跨平台的音效通信軟體) 、Tlen.pl:波蘭人發明的 instant messaging client TOra、VirtualBox(虛擬機軟體)、Xconfig(Linux的Kernel配置工具) 、chmcreator(開源的chm開發工具)…
『伍』 linux嵌入式操作系統中採用的終端物理設備是什麼意思
嵌入式linux 嵌入式 Linux是以Linux為基礎的嵌入式作業系統,它被廣泛應用在行動電話、個人數字助理(PDA)、媒體播放器、消費性電子產品以及航空航天等領域中。 1. 嵌入式Linux系統就是利用Linux其自身的許多特點,把它應用到嵌入式系統里
『陸』 我想做個嵌入式linux的媒體流媒體播放器,想用GTK做界面什麼的,開發板的是S3c2440的
可以寫的,Linux的東西怎麼多,myplyaer都寫出來,當然是可以寫的。
首先我不是大師,我是一名Linux愛好者, gtk+做界面是可以的, 要搞怎麼 媒體播放器的話,要去接觸一些 庫,具體是那麼庫,你自己去網路一下,我要去打球了,你自己查阿1『
『柒』 嵌入式linux
嵌入式 Linux是以Linux為基礎的嵌入式作業系統,它被廣泛應用在行動電話、個人數字助理(PDA)、媒體播放器、消費性電子產品以及航空航天等領域中。
嵌入式linux 是將日益流行的Linux操作系統進行裁剪修改,使之能在嵌入式計算機系統上運行的一種操作系統。嵌入式linux既繼承了Internet上無限的開放源代碼資源,又具有嵌入式操作系統的特性。嵌入式Linux的特點是版權費免費;購買費用媒介成本技術支持全世界的自由軟體開發者提供支持網路特性免費,而且性能優異,軟體移植容易,代碼開放,有許多應用軟體支持,應用產品開發周期短,新產品上市迅速,因為有許多公開的代碼可以參考和移植,實時性能RT_Linux Hardhat Linux 等嵌入式Linux支持,實時性能穩定性好安全性好。
如果分別讓10位工程師給出嵌入式系統的定義,將得到10個不同的答案。一般來說,大部分的嵌入式系統執行特定的任務。我們假定最簡單的嵌入式系統包括輸入/輸出功能,以及一些控制邏輯,該系統基於它的配置執行某些類型的功能。按照這個標准,可以認為一個包含實現控制邏輯74123計數器以及一個狀態是一個嵌入式系統。也許可以補充說,該系統必須可通過存儲在固件中的軟體進行編程。這個新的嵌入式系統定義包括輸入/輸出(I/O),以及存儲在系統固件中的控制邏輯。一個帶有滑鼠、鍵盤、網路連接並運行圖形用戶界面(GUI,graphical user interface)多任務操作系統的桌面計算機顯然滿足這些要求,但我們能認為它是一個嵌入式系統嗎?
如果桌面計算機不是一個嵌入式系統,那麼手持設備呢?它們有I/O功能,可以運行存儲在固件中的控制邏輯。有人說,桌面計算機和手持設備都有通用計算機設備,可以運行軟體來執行許多不同的任務,與之不同的是,嵌入式系統(例如,洗碗機控制器或飛行導航系統)主要是為特定任務而設計的。這種特定的功能限定使嵌入式設備有功能上的唯一性。如果是這樣,為什麼一些嵌入式系統設計成具有附加的功能,如存儲在非易失性存儲器中的程序,並且具有運行可以完成原始設計范圍之外的任務的多任務操作系統的能力呢?
在過去,區分嵌入式系統和通用計算機比簡單得多。例如,可以很容易地區分出一個基於8051的T1分幅卡嵌入式系統和一台Sun UNIX工作站。從功能方面很難區分一台Sun工作站和一個包含PowerPC以及32MB內存和16MB快閃記憶體的機頂盒。這樣的機頂盒可以運行帶GUI的多任務操作系統,可現場升級,可以同時運行多個程序(如視頻控制器、數字錄像和Java虛擬機),還可以進行安全的網際網路在線交易。很難判斷這種機頂盒是否是一個嵌入式系統。顯然,硬體性能的提升和價格的下降使通用計算機和嵌入式系統之間的界限變得很模糊,技術的進步使得我們很難定義什麼是嵌入式。
……………………………………………………………………………………
嵌入式linux的前景和待遇都不錯,一般從事嵌入式的待遇在6000-15000之間。雖然嵌入式很難,但是也可以自學嵌入式。
關於如何學習嵌入式,我剛才看到一篇很不錯的文章,是一個專科生介紹自己如何自學嵌入式,並找到嵌入式的工作,裡面介紹了他的學習方法和學習過程,希望對你有幫助。
先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。
退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。
一次偶然的機會,我才聽到嵌入式這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習嵌入式,然後給我介紹了一下嵌入式現在的火熱情況,告訴我學嵌入式多麼的有前景,給我了一份傳單,嵌入式培訓的廣告。聽了她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。
回家後,我就上網查了下嵌入式,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學嵌入式了。於是我去找嵌入式培訓的相關信息,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
後來,我在網路知道看到一篇讓我很鼓舞的文章,是一個嵌入式高手介紹沒有基礎的朋友怎麼自學入門學嵌入式,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。
我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。
主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不系統,我是想找一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。
後來我又找到一份很好的視頻,是在IT學習聯盟網站推出的一份視頻《零基礎嵌入式就業班》(喜歡《零基礎嵌入式就業班》的可以復制 sina.lt/qKh 粘貼瀏覽器地址欄按回車鍵即打開)。裡面的教程還不錯,很完整,可以讓我從基礎的開始學起。視頻比較便宜。
下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。
收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C語言視頻教程學起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學了一個禮拜,接下來我就學了linux的基本命令,我在他們提供linux虛擬機上都有做練習,敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月後我基本掌握了C和linux的基本操作。
接下來我就去學習了人家的視頻的培訓教程,是整套的,和去參加培訓沒有多大的區別,這一看就是兩個月,學習了ARM的基本原理,學習嵌入式系統的概念,也掌握了嵌入式的環境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應用到底是怎麼做的,但是驅動我只是有一點點的了解,這個相對難一點,我想以後再慢慢啃。
這兩個月,除了吃飯睡覺,我幾乎都在學習。因為我知道幾乎沒有基礎,比別人差勁,我只能堅持努力著,我不能放棄,我必要要靠自己來養活自己,必須學好這門技術,然後我就把不懂的問題總結記下來,這樣慢慢積累了一段時間,我發現自己真的有點入門了。
最後的一個月,我就去看關於實踐部分的內容,了解嵌入式項目具體的開發流程,需要什麼樣的知識,我就開始准備這方面的知識,也就是學習這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以後找工作做准備。我就到網上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多准備了20天左右
我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。
後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是嵌入式linux應用開發,做安防產品的應用的。我想我也比較幸運,經理很看重我的努力,就決定錄用我,開的工資是3500一個月,雖然我知道在上海3500隻能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。
希望我的回答能幫助到你。
…………………………………………………………
『捌』 嵌入式linux要學哪些
您好,關於該問題,解答如下:
嵌入式linux要學什麼:
1.Linux 基礎
安裝Linux操作系統 Linux文件系統 Linux常用命令 Linux啟動過程詳解 熟悉Linux服務能夠獨立安裝Linux操作系統 能夠熟練使用Linux系統的基本命令 認識Linux系統的常用服務安裝Linux操作系統 Linux基本命令實踐 設置Linux環境變數 定製Linux的服務 Shell 編程基礎使用vi編輯文件 使用Emacs編輯文件 使用其他編輯器
2.Linux 下的 C 編程基礎
linux C語言環境概述 Gcc使用方法 Gdb調試技術 Autoconf Automake Makefile 代碼優化 熟悉Linux系統下的開發環境 熟悉Gcc編譯器 熟悉Makefile規則編寫Hello,World程序 使用 make命令編譯程序 編寫帶有一個循環的程序 調試一個有問題的程序
3.Shell 編程基礎
Shell 簡介 認識後台程序Bash編程熟悉Linux系統下的編輯環境 熟悉Linux下的各種Shell 熟練進行shell編程熟悉vi基本操作 熟悉Emacs的基本操作 比較不同shell的區別 編寫一個測試伺服器是否連通的shell腳本程序 編寫一個查看進程是否存在的shell腳本程序 編寫一個帶有循環語句的shell腳本程序
4.嵌入式系統開發基礎
嵌入式系統概述 交叉編譯 配置TFTP服務 配置NFS服務 下載Bootloader和內核 嵌入式Linux應用軟體開發流程熟悉嵌入式系統概念以及開發流程 建立嵌入式系統開發環境製作cross_gcc工具鏈 編譯並下載U-boot 編譯並下載Linux內核 編譯並下載Linux應用程序
5.嵌入式系統移植
Linux內核代碼 平台相關代碼分析 ARM平台介紹 平台移植的關鍵技術 移植Linux內核到 ARM平台 了解移植的概念 能夠移植Linux內核移植Linux2.6內核到 ARM9開發板
6.嵌入式Linux下串口通信
串列I/O的基本概念 嵌入式Linux應用軟體開發流程 Linux系統的文件和設備 與文件相關的系統調用 配置超級終端和MiniCOM 能夠熟悉進行串口通信 熟悉文件I/O 編寫串口通信程序 編寫多串口通信程序
7.嵌入式系統中多進程程序設計
Linux系統進程概述 嵌入式系統的進程特點 進程操作 守護進程 相關的系統調用了解Linux系統中進程的概念 能夠編寫多進程程序編寫多進程程序 編寫一個守護進程程序 sleep系統調用任務管理、同步與通信 Linux任務概述任務調度 管道 信號 共享內存 任務管理 API 了解Linux系統任務管理機制 熟悉進程間通信的幾種方式 熟悉嵌入式Linux中的任務間同步與通信編寫一個簡單的管道程序實現文件傳輸 編寫一個使用共享內存的程序
8.嵌入式系統中多線程程序設計
線程的基礎知識 多線程編程方法 線程應用中的同步問題了解線程的概念 能夠編寫簡單的多線程程序編寫一個多線程程序
9.嵌入式 Linux 網路編程
網路基礎知識 嵌入式Linux中TCP/IP網路結構 socket 編程 常用 API函數 分析Ping命令的實現 基本UDP套介面編程 許可證管理 PPP協議 GPRS 了解嵌入式Linux網路體系結構 能夠進行嵌入式Linux環境下的socket 編程 熟悉UDP協議、PPP協議 熟悉GPRS 使用socket 編寫代理伺服器 使用socket 編寫路由器 編寫許可證伺服器 指出TCP和UDP的優缺點 編寫一個web伺服器 編寫一個運行在 ARM平台的網路播放器
10.Linux 字元設備驅動程序
設備驅動程序基礎知識 Linux系統的模塊 字元設備驅動分析 fs_operation結構 載入驅動程序了解設備驅動程序的概念 了解Linux字元設備驅動程序結構 能夠編寫字元設備驅動程序編寫Skull驅動 編寫鍵盤驅動 編寫I/O驅動 分析一個看門狗驅動程序 對比Linux2.6內核與2.4內核中字元設備驅動的不同Linux 塊設備驅動程序塊設備驅動程序工作原理 典型的塊設備驅動程序分析 塊設備的讀寫請求隊列了解Linux塊設備驅動程序結構 能夠編寫簡單的塊設備驅動程序比較字元設備與塊設備的異同 編寫MMC卡驅動程序 分析一個文件系統 對比Linux2.6內核與2.4內核中塊設備驅動的不同
11.GUI 程序開發
GUI基礎 嵌入式系統GUI類型 編譯QT 進行QT開發熟悉嵌入式系統常用的GUI 能夠進行QT編程使用QT編寫「Hello,World」程序 調試一個加入信號/槽的實例 通過重載QWidget 類方法處理事件
12.文件系統
虛擬文件系統文件系統的建立 ramfs內存文件系統 proc文件系統 devfs 文件系統 MTD技術簡介 MTD塊設備初始化 MTD塊設備的讀寫操作了解Linux系統的文件系統了解嵌入式Linux的文件系統了解MTD技術 能夠編寫簡單的文件系統為 ARM9開發板添加 MTD支持移植JFFS2文件系統 通過proc文件系統修改操作系統參數 分析romfs 文件系統源代碼 創建一個cramfs 文件系統
——如有幫助,請採納一下。
『玖』 嵌入式系統的操作系統(如linux)主要作用是什麼
嵌入式操作系統的主要好處就是屏蔽了底層硬體的差別,給上層應用提供統一的介面,並管理進程調度和資源(如CPU時間、內存)分配等。就跟windows操作系統一樣,不管你是用華碩的電腦還是戴爾的電腦,只要裝了windows操作系統,你都可以用office、詞霸之類的軟體。人機界面(MMI)是上層應用show出來的。
簡單的嵌入式應用不需要嵌入式操作系統的支持,如單片機,直接用匯編程序就能實現特定的功能。要跑的應用多了,就需要操作系統來進行管理。
一般手機產品、小型醫療設備、軍工設備等都用到了arm+linux的平台。
arm處理器(CPU)是目前使用較多的,使用的嵌入式操作系統可以是多種多樣的,不光是linux。嵌入式linux系統比較穩定,有開源代碼,成本低,可移植性強;可以靈活裁剪不需要的功能,減小嵌入式軟體的大小和降低系統功耗。所以用嵌入式linux操作系統的不少。但現在很多公司都是用那種商業化的定製好的嵌入式linux平台以減少開發量和加快開發速度(比如有專門針對通訊設備的,有專門針對一般消費電子類的),這就需要買了。
『拾』 請問Linux作為伺服器操作系統都是嵌入式的嗎
zt
我幫你查找了兩個資料,你看看對你是否可以有點幫助;
嵌入式Linux系統的設計與應用
摘要:隨著嵌入式Linux系統的迅速發展,嵌入式Linux已發展成為嵌入式操作系統的一個重要分支。本文介紹了嵌入式Linux的設計和幾種流行的嵌入式Linux系統。
關鍵詞:嵌入式Linux
一、引言
嵌入式系統(Embedded Systems)是根據應用的要求,將操作系統和功能軟體集成於計算機硬體系統之中,從而實現軟體與硬體一體化的計算機系統。嵌入式系統出現於60年代晚期,它最初被用於控制機電電話交換機,如今已被廣泛的應用於工業製造、過程式控制制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費類產品等眾多領域。嵌入式系統在數量上遠遠超過了各種通用計算機系統:計算機系統核心CPU,每年在全球范圍內的產量大概在二十億顆左右,其中超過80%應用於各類專用性很強的嵌入式系統。
一般的說,凡是帶有微處理器的專用軟硬體系統都可以稱為嵌入式系統。和通用的計算平台相比,嵌入式系統往往具有功能單一、體積小、功耗低、可靠性高、剪裁性好、軟硬體集成度高、計算能力相對較低等特點。多年來,嵌入式設備中沒有操作系統,其主要原因有二:首先,諸如洗衣機、微波爐、電冰箱這樣的設備僅僅需要一道簡單的控製程序,以管理數量有限的按鈕和指示燈,沒有使用操作系統的必要;其次,它往往只具有有限的硬體資源,不足以支持一個操作系統。
然而,隨著硬體的發展,嵌入式系統變得越來越復雜,最初的控製程序中逐步的加入了許多功能,而這些功能中有很多可以由操作系統提供。於是,在70年代末期出現了嵌入式操作系統(Embedded Operating Systems),它的出現大大簡化了應用程序設計,並可以有效的保障軟體質量和縮短開發周期。簡單的ES一般並不使用操作系統,只包含一些控制流程,但是隨著嵌入式操作系統在復雜性上的增長,簡單的流程式控制制就不能滿足系統的要求,這是就必須考慮使用操作系統做系統軟體。因此,嵌入式操作系統就應運而生。
隨著EOS的廣泛應用,業界已推出一些應用比較成功的EOS產品。歸納起來EOS應該具有以下幾個特點:小巧、實時性、可裝卸、固化代碼、弱交互性、強穩定性和統一的介面。目前使用最多的EOS產品包括有:Vxwork、QNX、PalmOS、WindowsCE、pSOS、Hopen OS(國內凱思集團公司自主研製開發)等。其中,Vxwork使用最為廣泛、市場佔有率最高,其突出特點是實時性強(採用優先順序搶占和輪轉調度等機制),除此之外,其可靠性和可剪裁性也相當不錯。QNX是一種伸縮性極佳的系統,其核心加上實時POSIX環境和一個完整的窗口系統還不到一兆。相比之下,Microsoft WinCE的核心體積龐大,實時性能也差強人意,但由於Windows系列友好的用戶界面和為程序員所熟悉的API,並捆綁IE、Office等應用程序,正逐漸獲得更大的市場份額。而與這些商業化的操作系統相比,Linux已經越來越受到人們的注意。
二、嵌入式Linux概述
Linux是一個成熟而穩定的網路操作系統。將Linux植入嵌入式設備具有眾多的優點。首先,Linux的源代碼是開放的,任何人都可以獲取並修改,用之開發自己的產品。其次,Lirmx是可以定製的,其系統內核最小隻有約134kB。一個帶有中文系統和圖形用戶界面的核心程序也可以做到不足1MB,並且同樣穩定。另外,它和多數Unix系統兼容,應用程序的開發和移植相當容易。同時,由於具有良好的可移植性,人們已成功使Linux運行於數百種硬體平台之上。
然而,Linux並非專門為實時性應用而設計,因此如果想在對實時性要求較高的嵌入式系統中運行Linux,就必須為之添加實時軟體模塊。這些模塊運行的內核空間正是操作系統實現進程調度、中斷處理和程序執行的部分,因此錯誤的代碼可能會破壞操作系統,進而影響整個系統的可靠性和穩定性。Linux的眾多優點還是使它在嵌入式領域獲得了廣泛的應用,並出現了數量可觀的嵌入式Linux系統。其中有代表性的包括:uClinux、ETLinux、ThinLinux、LOAF等。ETLinux通常用於在小型工業計算機,尤其是PC/104模塊。ThinLinux面向專用的照相機伺服器、X-10控制器、MP3播放器和其它類似的嵌入式應用。LOAF是Linux On A Floppy的縮略語,它運行在386平台上。
三、Linux作為嵌入式操作系統的優勢
Linux作為嵌入式操作系統的優勢主要有以下幾點:
1、 可應用於多種硬體平台。Linux已經被移植到多種硬體平台,這對於經費,時間受限制的研究與開發項目是很有吸引力的。原型可以在標准平台上開發後移植到具體的硬體上,加快了軟體與硬體的開發過程。Linux採用一個統一的框架對硬體進行管理,從一個硬體平台到另一個硬體平台的改動與上層應用無關。Linux可以隨意地配置,不需要任何的許可證或商家的合作關系,源代碼可以免費得到。這使得採用Linux作為操作系統不會遇到任何關於版權的糾紛。毫無疑問,這會節省大量的開發費用。本身內置網路支持,而目前嵌入式系統對網路支持要求越來越高。Linux的高度模塊化使添加部件非常容易。
2、 Linux是一個和Unix相似、以內核為基礎的、具有完全的內存訪問控制,支持大量硬體(包括X86,Alpha、ARM和Motorola等現有的大部分晶元)等特性的一種通用操作系統。其程序源碼全部公開,任何人可以修改並在GUN通用公共許可證(GNU General Public License)下發行。這樣,開發人員可以對操作系統進行定製,適應其特殊需要。
3、 Linux帶有Unix用戶熟悉的完善的開發工具,幾乎所有的Unix系統的應用軟體都已移植到了Linux上。Linux還提供了強大的網路功能,有多種可選擇窗口管理器(X Windows)。其強大的語言編譯器GCC,C++等也可以很容易得到,不但成熟完善,而且使用方便。
四、嵌入式Linux的建立
完整的嵌入式Linux解決方案應包括嵌入式Linux操作系統內核、運行環境、圖形化界面和應用軟體等。由於嵌入式設備的特殊要求,嵌入式Linux解決方案中的內核、環境、GUI等都與標准Linux有很大不同,其主要挑戰是如何在狹小的FLASH、ROM和內存中實現高質量的任務實時調度、圖形化顯示、網路通信等功能。
1、 精簡內核
Linux內核有自己的結構體系,其中進程管理、內存管理和文件系統是其最基本的3個子系統。圖1簡單表示了它的框架。用戶進程可直接通過系統調用或者函數庫來訪問內核資源。正因為Linux內核具有這樣的結構,因此修改內核時必須注意各個子系統之間的協調。
嵌入式Linux內核一般由標准Linux內核裁剪而來。用戶可根據需求配置系統,剔除不需的服務功能、文件系統和設備驅動。經過裁剪、壓縮後的系統內核一般只有300k左右,十分適合嵌入式設備。同標准Linux不同的是嵌入式Linux必須要實現從FLASH或ROM的啟動。標准Linux啟動代碼實現了系統初始化和從軟盤、硬碟O盤區引導內核。嵌入式Linux一般保存在FLASH或ROM中,標准LILO無法引導。在支持直接從FLASH設備引導的系統中,如華恆公司的uClinux,引導程序主要完成對硬體系統的初始化工作和操作系統的解壓、移位工作。在不支持直接從FLASH引導的系統中,FLASH設備只能作為非引導磁碟使用。此時,可採用先從硬碟或軟盤載入一個小操作系統,如嵌入式DOS,然後再執行"Loadlin"載入程序從FLASH引導嵌入式Linux。
對標准Linux的修改主要是虛擬內存和調度程序部分的改動。因為標准Linux系統使用虛擬內存管理的目的是為了能同時運行多個進程,但是這樣每個待運行的進程所能分配的CPU時間片就受限制,資源的使用效率就低。這樣對於實時性要求較高的嵌入式系統來說,實時任務往往要求CPU具有很高的突發處理能力,即在有些時候需要極高的處理效率,因此需要屏蔽內核的虛擬內存管理機制。對於無硬碟設備的嵌入式系統,不必採用虛存管理。強實時需求的嵌入式應用可以通過修改任務調度模塊實現,主要是在內核和設備驅動程序中加入了許多切換點。在該點處,系統檢測是否存在未處理的緊急中斷,有則剝奪內核的運行,及時處理中斷。實現實時性服務的一個較好的方法是在標準的Linux內核上增加一個實時內核,標准Linux內核作為一個任務運行於實時內核上,強實時性任務也直接運行在實時內核上,如RT-Linux等。
文件系統是嵌入式Linux操作系統必不可少的。但標准Linux支持大量的文件系統,因此除了滿足系統的正常運行需要而保留一種外,其它的全部可以刪除,利用原有的設置選項可以移除。一般嵌入式設備文件系統主要使用RamDisk技術和網路文件系統技術。RamDisk可駐留於Flash,運行時載入到內存中。
2、 精簡運行環境
Linux通常的運行環境指用戶運行任何應用的基礎設施,主要包括函數庫和基本命令集等。標准Linux系統同時向用戶提供了靜態和動態函數庫。靜態函數庫在生成應用時直接鏈接到用戶應用中。動態庫在應用運行時才鏈接。由於嵌入式系統應用一般都是在開發平台上預先生成的,因此嵌入式系統只需向應用提供動態函數庫。Linux應用運行所需的函數庫主要有C庫、數學庫、線程庫、加密庫、網路通信庫等。其中最基本的是C語言的運行庫glib。這個庫主要完成基本的輸入輸出,內存訪問,文件處理。一個標準的glib庫大約要1200kB存儲空間,考慮到嵌入式Linux內核往往很小,這種運行庫實在太大,我們做了一些精簡的工作,方法有兩種:(1)、使用靜態連接的方法,完全不使用運行庫動態連接;(2)、對這個庫的函數進行精簡。
在一個桌面系統上,使用動態連接可以帶來許多好處。使用動態連接庫,可以讓應用程序跟函數庫的更新、升級分離,便於維護,可以讓同時運行的多個程序共享一段代碼。但是,在嵌入式系統中,很少有多個程序並行的可能,程序的維護,尤其是庫函數的維護更新是不常見的。這時,使用靜態連接的優勢就極為明顯。因為靜態連接可以只將庫中用到的部分連接進程序。在應用程序較少(小於5)的情況下,靜態連接可以達到較好的結果。為了便於將來擴充的需要,我們也採用第二種方法,針對我們的需要,對庫函數的內容進行精簡,只保留一些基本功能,還有一種方法是採用其它的C語言運行庫。但是這些庫對兼容性影響很大。
基本命令集同樣是運行用戶應用的基礎,主要包括初始化進程init,終端獲取getty、Shell和基本命令等。嵌入式系統的啟動過程可能與標准Linux不同,例如跳過登錄過程直接啟動GUI等。這就要求修改init,getty等。標准Linux命令集同樣由於體積問題無法直接應用於嵌入式環境。目前,小命令集的解決方法主要有集成方法和匯編方法兩種。集成方法採用集成公共部分減少命令集整體體積,用C實現,有較好的平台移植性;匯編方法則採用匯編編程減少每個命令的體積.這樣可使體積很小但其平台移植性較差。
3、 嵌入式Linux下的GUI
GUI在嵌入式系統或者實時系統中的地位越來越重要,比如PDA、DVD播放機、WAP手機等,都需要一個完整.漂亮的圖形用戶界面。這些系統對GUI的基本要求包括:(1)、輕型、佔用資源少;(2)、高性能;(3)、高可靠性;(4)、可配置。這些也成為評價嵌入式系統的重要指標。目前,嵌入式Linux上的GUI主要有winCE、Micro Window、緊縮的X Window、MiniGUI(國內做得較好的自由軟體之一)。標准Linux的Xfree86由於體積龐大,運行環境要求高,無法運行於嵌入式環境。嵌入式GUI主要通過削減功能,降低性能來實現體積小和佔用資源少。目前嵌入式Linux上的GUI環境主要有兩類:X類和win32類。X類GUI分為服務方和客戶方兩方。伺服器方提供滑鼠、鍵盤處理和顯示功能,客戶方是用戶應用,服務方和客戶方通過socket介面和X協議通信。採用該方式十分有利於遠程網路圖形化服務,客戶方和服務方可通過網路實現X協議和圖形顯示。典型的X類GUI有Micro Window、緊縮的X Window等。win32類的GUI不存在客戶方和服務方,每個任務都自成一體,任何任務間的切換、事件分發由專門的管理任務負責。如wiCE、MiniGUI就是類似於win32類的GUI。
五、當前流行的幾種嵌入式Linux系統
除了智能數字終端領域以外,Linux在移動計算平台、智能工業控制、金融業終端系統,甚至軍事領域都有著廣泛的應用前景。這些Linux被統稱為"嵌入式Linux"。
1、RT-Linux
這是由美國墨西哥理工學院開發的嵌入式Linux操作系統。到目前為止,RT-Linux已經成功地應用於太空梭的空間數據採集、科學儀器測控和電影特技圖像處理等廣泛領域。RT-Linux開發者並沒有針對實時操作系統的特性而重寫Linux的內核,因為這樣做的工作量非常大,而且要保證兼容性也非常困難。為此,RT-Linux提出了精巧的內核,並把標準的Linux核心作為實時核心的一個進程,同用戶的實時進程一起調度。這樣對Linux內核的改動非常小,並且充分利用了Linux下現有的豐富的軟體資源。
2、uClinux
uCLinux是Lineo公司的主打產品,同時也是開放源碼的嵌入式Linux的典範之作。uCLinux主要是針對目標處理器沒有存儲管理單元MMU(Memory Management Unit) 的嵌入式系統而設計的。它已經被成功地移植到了很多平台上。由於沒有MMU,其多任務的實現需要一定技巧。uCLinux是一種優秀的嵌入式Linux版本,是micro-Conrol-Linux的縮寫。它秉承了標准Linux的優良特性,經過各方面的小型化改造,形成了一個高度優化的、代碼緊湊的嵌入式Linux。雖然它的體積很小,卻仍然保留了Linux的大多數的優點:穩定、良好的移植性、優秀的網路功能、對各種文件系統完備的支持和標准豐富的API。它專為嵌入式系統做了許多小型化的工作,目前已支持多款CPU。其編譯後目標文件可控制在幾百KB數量級,並已經被成功地移植到很多平台上。
3、Embedix
Embedix是由嵌入式Linux行業主要廠商之一Luneo推出的,是根據嵌入式應用系統的特點重新設計的Linux發行版本。Embedix提供了超過25種的Linux系統服務,包括Web伺服器等。系統需要最小8MB內存,3MB ROM或快速快閃記憶體。Embedix基於Linux 2.2內核,並已經成功地移植到了Intel x86和PowerPC處理器系列上。像其它的Linux版本一樣,Embedix可以免費獲得。Luneo還發布了另一個重要的軟體產品,它可以讓在Windows CE上運行的程序能夠在Embedix上運行。Luneo還將計劃推出Embedix的開發調試工具包、基於圖形界面的瀏覽器等。可以說,Embedix是一種完整的嵌入式Linux解決方案。
4、Xlinux
XLinux是由美國網虎公司推出,主要開發者是陳盈豪。他在加盟網虎幾個月後便開發出了基於XLinux的、號稱是世界上最小的嵌入式Linux系統,內核只有143KB,而且還在不斷減小。XLinux核心採用了"超字元集"專利技術,讓Linux核心不僅可能與標准字元集相容,還含蓋了1 2個國家和地區的字元集。因此,XLinux在推廣Linux的國際應用方面有獨特的優勢。
5、PoketLinux
由Agenda公司採用、作為其新產品"VR3PDA"的嵌入式Linux操作系統。它可以提供跨操作系統構造統一的、標准化的和開放的信息通信基礎結構,在此結構上實現端到端方案的完整平台。PoketLinux資源框架開放,使普通的軟體結構可以為所有用戶提供一致的服務。PoketLinux平台使用戶的視線從設備、平台和網路上移開,由此引發了信息技術新時代的產生。在PoketLinux中,稱之為用戶化信息交換(CIE),也就是提供和訪問為每個用戶需求而定製的"主題"信息的能力,而不管正在使用的設備是什麼。
6、MidoriLinux
由Transmeta公司推出的MidoriLinux操作系統代碼開放,在GUN普通公共許可(GPL)下發布,可以在http://midori.transmeta.com上立即獲得。該公司有個名為"MidoriLinux計劃"。"MidoriLinux"這個名字來源於日本的"綠色"---Midori,用來反映其Linux操作系統的環保外觀。
7、紅旗嵌入式Linux
由北京中科院紅旗軟體公司推出的嵌入式Linux是國內做得較好的一款嵌入式操作系統。目前,中科院計算所自行開發的開放源碼的嵌入式操作系統---Easy Embedded OS(EEOS)也已經開始進入實用階段了。該款嵌入式操作系統重點支持p-Java。系統目標一方面是小型化,另一方面能重用Linux的驅動和其它模塊。由於有中科院計算所的強大科研力量做後盾,EEOS有望發展成為功能完善、穩定、可靠的國產嵌入式操作系統平台。
六、結束語
由於Linux是一個內核源代碼開放、具備一整套工具鏈、有強大的網路支持及成本低廉的操作系統,因此嵌入式Linux自誕生起就秉承了這眾多獨特優勢,這使它正在並越來越多地受到人們的關注。據Even Data數據顯示,期望使用嵌入式Linux的用戶從2001年的11%增到2002年27%,而同期Vxwork只是從16%到18%,Win CE從9%到14%。另外,在嵌入式Linux的各種應用市場中,通信(語音和數據)名列第一,2000年的銷售額是1300萬美元,而2005年預計將達到1.26億美元,可以預見,嵌入式Linux將在未來的通信用嵌入式操作系統中占據強有力的地位
Linux是目前十分火爆的操作系統。它是由芬蘭赫爾辛基大學的一個大學生Linus B. Torvolds在1991年首次編寫的。標志性圖標是一個可愛的小企鵝。
Linux是一種類Unix系統,Linus當時編寫它的目的是為了替代一種名叫Minix的操作系統。Minix是由一個名叫Andrew Tannebaum的計算機教授編寫的,當時由於Unix是一個商業軟體,其源代碼是不能拿來進行教學的,Andrew教授就自己編寫了一個系統用於教學。最
初的Minix用一張軟盤就能裝下,麻雀雖小、五臟俱全,Minix具有一般操作系統的特徵,它同時兼容Unix系統。
Linux是一個免費的操作系統,用戶可以免費獲得其源代碼,並能夠隨意修改。它是在共用許可證GPL(General Public License)保護下的自由軟體,也有好幾種版本,如Red Hat Linux、Slackware,以及國內的Xteam Linux等。
Linux具有許多Unix系統的功能和特點,能夠兼容Unix,但無需支付Unix高額的費用。比如一個Unix程序員在單位可以在Unix系統上進行工作,回到家裡在Linux系統上也能完成同樣的工作,而不必重新購買Unix。要知道Unix的價格比常見的Windows要高出若干倍,和Linux的低廉更是相距甚遠。
Linux的應用也十分廣泛。Sony最新的PS2游戲機就採用了Linux作為系統軟體,使PS2搖身一變,成為了一台Linux工作站。著名的電影《泰坦尼克號》的數字技術合成工作就是利用100多台Linux伺服器來完成的。
2001年8月17日,Linux發布了最新的Linux 2.4.9版,它也已經十歲了。
Linux的優點
Linux的流行是因為它具有許多誘人之處。
1、完全免費
Linux是一款免費的操作系統,用戶可以通過網路或其他途徑免費獲得,並可以任意修改其源代碼。這是其他的操作系統所做不到的。正是由於這一點,來自全世界的無數程序員參與了Linux的修改、編寫工作,程序員可以根據自己的興趣和靈感對其進行改變。這讓Linux吸收了無數程序員的精華,不斷壯大。
2、完全兼容POSIX 1.0標准
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
3、多用戶、多任務
Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。
4、良好的界面
Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Windows系統,用戶可以使用滑鼠對其進行操作。在X-Windows環境中就和在Windows中相似,可以說是一個Linux版的Windows。
5、豐富的網路功能
互聯網是在Unix的基礎上繁榮起來的,Linux的網路功能當然不會遜色。它的網路功能和其內核緊密相連,在這方面Linux要優於其他操作系統。在Linux中,用戶可以輕松實現網頁瀏覽、文件傳輸、遠程登陸等網路工作。並且可以作為伺服器提供WWW、FTP、E-Mail等服務。
6、可靠的安全、穩定性能
Linux採取了許多安全技術措施,其中有對讀、寫進行許可權控制、審計跟蹤、核心授權等技術,這些都為安全提供了保障。Linux由於需要應用到網路伺服器,這對穩定性也有比較高的要求,實際上Linux在這方面也十分出色。
7、支持多種平台
Linux可以運行在多種硬體平台上,如具有x86、680x0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel 64位晶元架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。
Linux的不足
由於在現在的個人電腦操作系統行業中,微軟的Windows系統仍然佔有大部分的份額,絕大多數的軟體公司都支持Windows。這使得Windows上的應用軟體應有盡有,而其他的操作系統就要少一些。許多用戶在換操作系統的時候都會考慮以前的軟體能否繼續使用,換了操作系統後是否會不方便。雖然Linux具有DOS、Windows模擬器,可以運行一些Windows程序,但Windows系統極其復雜,模擬器所模擬的運行環境不可能完全與真實的Windows環境一模一樣,這就使得一些軟體無法正常運行。
許多硬體設備面對Linux的驅動程序也不足,不少硬體廠商是在推出Windows版本的驅動程序後才編寫Linux版的。但一些大硬體廠商在這方面做得還不錯,他們的Linux版驅動程序一般都推出得比較及時。
軟體支持的不足是Linux最大的缺憾,但隨著Linux的發展,越來越多的軟體廠商會支持Linux,它應用的范圍也越來越廣。這只小企鵝的前景是十分光明的。