2004年8月3日,在舊金山舉辦的LinuxWorld大會及展示會上,Sun Microsystems公司宣布了將其獲獎的Sun Ray瘦客戶機技術擴展到Linux平臺的計劃,并揭示了編碼名稱為Project Janus的新技術,實現Solaris對Linux的互操作性。Sun還展示了其低成本計算產品,從工作站、服務器,到企業軟件、開發工具和桌面系統,特別包括整條Linux產品線。與會者看到,全球Linux客戶紛紛選擇Sun系統以獲得高度靈活性,Sun的合作伙伴群體也在不斷擴展。
“Linux的進展為Sun創造了新的巨大的市場機會,并擴展了我們已有的市場領域,這與那些正在放棄其客戶所依賴的核心平臺的做法形成了鮮明的對照,”Sun公司總裁兼首席運營官Jonathan Schwartz說,“我們與合作伙伴一起,為客戶提供了業界最先進的技術解決方案,并配以創新性的定價模式,以保護客戶的投資,使其實現長期的業務目標。”
一、Sun宣布將Sun Ray技術擴展到Linux環境
在LinuxWorld大會及展示會上,Sun公司宣布了一個將其獲獎的Sun Ray? 瘦客戶機技術擴展到Linux平臺的計劃,還對Sun Ray Server Software (SRSS)3.0版軟件進行了預展,顯示了Sun對Linux不斷增長的支持力度。
Sun Ray瘦客戶機可以幫助客戶大大節約桌面系統的成本費用,提高人員工作效率,強化安全性。Sun Ray瘦客戶機采用一種集中式的計算資源,極大地降低了硬件成本,還提高了防御病毒的能力。僅需要一名IT管理員就可以管理數千臺桌面系統,實現了零管理。Sun Ray解決方案還能使客戶利用現有的IT投資提供多種應用和服務。
Sun Ray Server Software (SRSS) 3.0版為企業、政府和技術客戶提供了一個安全的、成本有效的、零管理的桌面環境。SRSS 3.0新版的主要功能包括:對Linux的跨平臺支持、熱桌面技術、寬帶環境、擴展的外設支持、秘密編碼保護,以及局域網(LAN)部署能力。Sun Ray Server Software 3.0版軟件將在網站http://www.sun.com/sunray提供。
成功案例連續報道--HP Linux幫助夢工廠創造《史瑞克2》 |
很多人非常喜歡夢工廠出品的《怪物史萊克》,這部片子在全球取得了非凡的成功,并最終贏得了奧斯卡首屆最佳動畫電影大獎;但是,沒有HP的合作加入,這種成功是難以想象的。當初,夢工廠在制作《怪物史萊克》時,他們給電影發行制定了一個非常有挑戰性的時間,因為他們擁有很好的動畫軟件。但問題是,他們的工作站運行得不夠快。于是,他們要求HP為他們建立一個強大的工作站。
當時,HP已經在測試一種工作站,它也許可以運行夢工廠的動畫軟件,而夢工廠只給了短短的7天,要求HP在這7天內,使工作站的性能達到比他們以前的系統強四倍。后來的結果,正如人們所知,有了HP的高性能工作站,夢工廠的動畫師們如魚得水,他們的協同工作變得更為簡便有效,既有效地控制預算,又大大縮短了畫面生成的時間。最終,《怪物史萊克》如期與觀眾見面了,并且捧回了一座奧斯卡獎杯--最佳動畫片。
《史瑞克》夢工廠的強勁計算能力得益于HP基于Linux的工作站與HP ProLiant工業標準服務器,這些優秀的HP Linux平臺加速了那些關鍵計算機動畫原素的發布,如煙霧、特技、流動效果、服裝與質地。在此之后,夢工廠出品的《小馬精靈》成為第一部全Linux制作的動畫電影。現在,夢工廠所使用的工作站的性能提高了四十倍,并且相比他們以前的設備,只花了更少的錢。
通過雙方的通力協作,HP Linux為夢工廠提供了藝術級的技術解決方案。利用這些方案,夢工廠賦予動畫形象與角色更多靈活性與表現力。在2003年年秋天上映的動畫電影《史瑞克2》、《鯊魚的故事》、《Madagascar》,以及NBC電腦動畫電視連續劇《Pride的父親》中,人們首次看到這些技術帶來的創新。
在與夢工廠緊密的合作中,HP特別開發了致力于解決創作數字動畫時實與成本問題的HP Utility Rendering服務(URS)。URS提供了一個簡單、靈活,并可擴展的解決方案,以管理用于繪制高質量電影動畫所需的巨大計算量。同時,通過與HP的緊密合作,夢工廠開發了Virtual Studio Collaboration(VSC)項目,用于將地理位置分散的工作小組連接在一起。此外,VSC還提供了超前的協作能力。URS與VSC的聯合使用,可以使夢工廠能夠更快地提升產品的競爭力,同時充分利用不同區域的藝術天才。這一切,都基于HP Linux平臺之上。
夢工廠聯合創始人Jeffrey Katzenberg表示:"通過與HP合作并采用Linux平臺,我們正在改變在動畫中可能改變的一切。與HP一起,我們正在積極清除那些技術屏障,并達到了更好的效果。HP使我們認識到我們所具有的競爭力,對于夢想,我們甚至覺得比未來更自信。"
成功案例連續報道--HP Linux平臺輕松預報天氣 |
美國天氣頻道(The Weather Channel)是美國惟一提供24小時不間斷天氣服務的國家有線電視網,有地區性、全國性以及全世界的天氣預報,為全美8700萬多個家庭提供每天24小時天氣預報服務。為了保證IT平臺具有更高的性價比,現在,這家機構已成功地在開放源代碼Linux技術之上運行其IT基礎設施,并從采用專有技術的RISC平臺遷移到基于英特爾安騰2處理器的開放的HP Integrity動能服務器上。基于英特爾安騰2處理器的HP Integrity動能服務器以其更強大的64位計算功能和靈活性以及更高的性能價格比,與Linux系統相結合,為廣大企業級用戶帶來全新的64位Linux計算體驗。
美國天氣頻道以42顆安騰2處理器替代了138顆基于RISC的處理器,部署了17臺2路HP Integrity rx2600動能服務器和2臺4路Integrity rx5670動能服務器,在這些運行RedHat Enterprise Linux 2.1或3.0操作系統和Oracle9i應用集群(Oracle9i RAC)的服務器上,運行龐大的數據庫、運輸、預算、供應鏈管理、Web應用、資產管理、文件以及打印系統。
基于HP Linux平臺,美國天氣頻道把服務器的利用率提高50%,把服務器臺數減少了48%;在服務器上部署應用的時間從過去的2天縮短到現在的2個小時,而三年所需要的維護成本僅為原有RISC服務器的十分之一。現在,與原有服務器平臺相比,HP Linux平臺所提供的性能增強了一倍,與此同時,總體解決方案成本卻減少了75%。
據美國天氣頻道相關人員介紹,這個Linux開放系統與RISC平臺相比,提供了增強的靈活性和更出色的性能價格比,在它上面運行的數據庫能夠支持多個應用系統,比如"氣象實況"和"氣象掃描"應用。目前,"氣象實況"為15000家飯店和其它地方廣播臺提供當地天氣預報,而"氣象掃描"是一個24小時本地天氣信息網絡,目前為800萬電視訂戶提供24小時各地氣象信息服務。HP Linux平臺支持核心業務應用,用于生產、開發和質量保證。
"為了增強我們交付創新服務的能力,為數百萬用戶提供精確的、及時的氣象信息,美國天氣頻道正在快速改革。"美國天氣頻道執行副總裁暨CIO Brian Shield說:"HP Linux平臺與我們的開放策略相結合,提供了一個強大的平臺,不僅全面降低總擁有成本,同時帶來了可以滿足我們未來增長目標要求的靈活的IT基礎設施。"
美國天氣頻道正在規劃數據整合二期,目標是把用于關鍵天氣預報的數據庫從原有的72顆RISC處理器遷移到基于Linux的HP Integrity動能服務器上。
]]>目前嵌入式操作系統主要有Palm OS,WindowsCE,EPOC,LinuxCE,QNX.ECOS,LYNX等,但這些系統一般都價格昂貴、不具有良好的可移植性。由于linux具有適應于多種CPU和多種硬件平臺、性能穩定、裁剪性能好,開發和使用都很容易等特點,越來越多的人傾向于將Linux嵌入到移動計算平臺、信息家電、媒體手機及其它產品中去。這同時也對Linux的實時性提出了更高的要求。
我們參加開發的上海數字技術中心的電子警察系統就是這樣一個基于PC平臺的嵌入式系統。它的主要功能是安裝在十字路口上監視闖紅燈的汽車,錄制這些鏡頭,并適時通過網絡傳回總監控中心。該系統原來采用Vxworks作為運作平臺,然而由于Vxworks的昂貴,且只能安裝一臺機器,因此將Linux改制成嵌入式的、具有一定實時性的系統平臺。
1 硬件需求
考慮到實際的系統功能和系統開發的難度,我們決定選擇X86體系作為平臺,底板采PCM-5864/L板,CPU選擇Intel的P55C系列,同時它也支持PC104接口。I/O方面,PCM-5864/L支持EIDE、FDD、Keyboard、Mouse、RS-232、USB等接口,同時也集成了10Mbps/l00Mbps網卡。另外PCM-5864/L還集成了顯卡,并提供36位TTL的LCD接口、LVDS接口和Video-in/TV-out接口。由于電子磁盤體積小、抗震性能也較好的特點,我們選用M-Systems公司的DiskOnChip2000作為存儲設備,這樣比較適合該系統戶外作業的特性。Doc2000還提供了安裝的工具包、Linux下的驅動程序和對不同版本Linux內核的Patch。安裝時只需對Linux內核和Lilo進行相應修改即可。這樣的硬件選擇使系統開發的難度大大降低了。
2 嵌入Linux主要解決的幾個問題
由于采用X86體系作為平臺,大大降低了嵌入化Linux的難度,主要要考慮的問題可分為以下幾個方面:
2.1 非虛擬內存
Linux采用虛擬內存技術,當數據溢出內存時,可以將其交換到磁盤交換空間巾去,這對程序員來說是不可見的。然而,普通的嵌入式系統不需要這種強大的功能。實際上,可能不希望它在實時的關鍵系統里,因為它會帶來無法控制的時問因素。因此,考慮將虛擬內存的功能去掉。然而,清除Linux的虛擬內存代碼非常費事,我們采用一種迂回的方法,即將交換空間的大小設置為零。這樣,如果你寫的程序比實際的內存大,系統就會當作你的運行用盡了交換空間來處理;這個程序將不會運行,或者malloc將會失靈。這只是一種臨時的解決方案,系統中存在許多冗余未清除的代碼,如果進一步改進可以縮小系統體積。
2.2 處理文件系統
許多嵌入式系統沒有磁盤或者文件系統,Linux不需要它們也能運行,這樣可以在系統啟動時就將操作系統和預先編好的應用程序全都加載到內存中去。然而.考慮到以后的擴展,我們分析了Linux當前的文件系統,將與系統和程序運行相關的文件析取出來,移植到Doc上面.這樣就能為應用程序的開發人員提供更方便的接口。
2.3 設置啟動(Lilo和BIOS)
當PC系統啟動時,由BIOS執行了一些低水平的CPU初始化和其它硬件的配置,然后辨認哪個磁盤里有操作系統,把操作系統復制到RAM并且轉向它。在PC上運行的Linux依靠PC的BIOS來提供這些配置和OS加戟功能。由于選擇了X86系列作為平臺,同樣可以通過設置BIOS來設定由Doc啟動。我們將內核安裝在Doc上。同時修改目錄/etc下的lilo.config文件,使Lilo記錄內核代碼在存儲設備上的位置,然后將Lilo安裝在Doc上。這樣當系統啟動時.BIOS指定Doc為啟動設備,這時Lilo被執行。它指出Linux內核的位置,加載內核。
2.4 設備驅動程序的編寫
由于采用通用PC平臺,有許多驅動程序都不需要自己再編寫了。系統中,唯一需要編寫驅動程序的設備是上海數字中心的數據采集卡.該卡采用的是Bt848芯片。Bt848是一塊很常用的芯片.許多驅動程序都非常相近,因此編寫它的驅動程序有很好的例子可以參考,相應的,編寫應用程序只需調用驅動程序提供的接口即可,如同操作文件一樣。
3 Linux的實時性分析
以上簡要介紹了實現Linux的嵌入化過程,在嵌入化Linux的同時,還考慮提高它的實時性。于是著手分析Linux的實時性能和存在的不足。
概括來講,影響操作系統實時性能的主要有3個方面:
(1)外部中斷管理
我們知道,外部中斷發生時,操作系統調用中斷處理程序.進入核心態。為了保證系統執行的正確性,要求內核狀態不重入,也即保證這部分關鍵代碼執行結束之前不被打斷。因此,這時進入關中模式,這是外部中斷管理中影響Linux性能的一個關鍵的地方。在這段時間內,操作系統負責將中斷發送到相應的設備驅動程序去處理,系統不能進行其它任何工作,為了減少這個過程損耗的時間,Linux內核利用底半處理過程(bottom-half-handler)幫助實現中斷的快速處理。在Linux設備驅動程序中,往往將最關鍵最迅速的部分處理完成之后,將剩余部分任務放置到隊列中。當中斷響應完成后.再執行剩余部分的任務。在Linux中,主要設置了以下幾個數據結構來標志未完成的任務。
enum{
TIMER_BH=0,CONSOLE_BH,TQUEUE_BH,DIGI_BH,SERIAL_BH,RISCOM8_BH,SPECIALIX_BH,
ESP_BH,NET_BH,SCSI_BH,IMMEDIATE_BH,KEYBOARD_BH,CYCLADES_BH,CM206_BH,
JS_BH,MACSERIAL_BHISICOM_BH
};
上面每一項標識未完成任務的隊列類型,不同隊列的任務輕重緩急不同。
extern unsigned long bh_active;
extern unsigned long bh_mask;
extern void(*bh_base[32])(void);
bh_base代表的指針數組中可包含32個不同的底半處理過程。bh_mask和札bh_active的數據位分別代表對應的底半處理過程是否安裝和激活。如果bh_mask的第N位為1.則說明bh_base數組的第N個元素包含某個底半處理過程的地址;如果bh_active的第N位為1.則說明必須由調度程序在適當的時候調用第N個底半處理過程。這些數據結構的設置一般是在外部設備初始化和中斷處理函數運行時進行的。如:在serialc中進行serial設備的初始化,它調用語句init_bh(SERIAL_BH,do_serial_bh);來設置bh_base[]數組中相應于SERIAL_BH的那一項。又如:在serial設備的處理程序中通過語句queue_task(&info->tqueue,&tq_serial);將不是很緊急的任務放入tq_serial隊列中,等中斷處理函數結束,由bh_base中注冊的底半處理程序處理隊列中的任務。
中斷管理的第二個關鍵部分即是系統是否允許中斷嵌套的能力,也就是說,當響應一個中斷時,是否允許其它更高優先級的中斷打斷,等更高優先級的中斷處理完畢,是否還能恢復原來中斷處理的現場。通過這項功能,系統設計者可以指示外部中斷的優先級,從而確保高優先級的任務能及時處理。Linux允許中斷嵌套,它是利用外部中斷管理器來設置中斷的優先級的。在Linux的中斷處理程序的啟動過程中,它一般調用語句mask_and_ack_8259A(irq);來設置8259中的int_mask寄存器.使優先級比此中斷低的中斷不能發生。在中斷處理程序離開時,調用enable_8259A_irq(irq)來改回8259中int_mask寄存器原來的值。因此,intr類中斷的優先級由硬件8259來決定.
由此可見,Linux的中斷管理部分具有高效的特點,已經可以滿足許多軟實時任務的要求
]]>2. 桌面環境下配置方法
可以使用圖形化的時鐘設置工具,如RHEL 4.0中的日期與時間設置工具,也可以在虛擬終端中鍵“redhat-config-time”命令,或者選擇“K選單/系統設置/日期與時間”來啟動日期時間設置工具。使用該工具不必考慮系統時間和硬件時間,只需從該對話框中設置日期時間,可同時設置、修改系統時鐘和硬件時鐘。如圖3 。
![]() |
圖3 使用圖形化的時鐘設置工具 |
四.Windows XP、2003、2000系統使用NTP進行時間校準:
利用操作系統提供的校時服務(Windows XP、Windows 2003適用):
1、 雙擊任務欄右下角“時間”,打開 [ 時間和日期 屬性 ] 設置對話框,如圖4。
![]() |
圖4打開 [ 時間和日期 屬性 ] 設置對話框 |
![]() |
圖5 進行時間同步 |
![]() |
圖6 選擇Windows Time的屬性為自動啟動 |
net time /setsntp:xxx.xxx.xxx.xxx (時間服務器域名或者ip地址)
要想立刻與時間服務器同步需要重啟時間服務,相應的命令是:
net stop w32time
net start w32time
![]() |
圖7 通過命令行實現時間同步 |
五、windows 98/me/NT客戶端使用工具軟件Automachron實現時間同步
Windows 98/nt可以使用Automachron軟件:
1. 下載achron5,鏈接:ftp://ftp.agri.sjtu.edu.cn/pub1/Internet/time/achron5.exe
2.安裝軟件;
3.運行:程序-->Automachron-->Automachron;
4.右鍵單擊任務欄右下腳選取Automachron圖標-->Properties-->Host-->Network Host;
填入ntp.sjtu.edu.cn,Sync at startup前復選框打勾,Run at startup前復選框打勾
系統每次啟動后均會自動同步時間,如需手動同步,點擊Sync按鈕即可,如圖8 。
圖8 使用工具軟件Automachron實現時間同步 |
我們的軟件包創建到此成功結束。
第三部分 其他
如何使用一個完全中文的pkgtool?很簡單!你只要將那些工具里的非命令翻譯成中文就行了。如果你的系統已經設置好了中文環境,那么現在就可用在虛擬終端下運行那些你翻譯過的工具了,怎么樣,中文出來了吧?!如果你的系統還沒有中文環境,那么請到網上搜索一下,漢化Slackware的文章滿天都是。
注意:現在你只能在虛擬終端下看到中文,在實際的控制臺下還是一片亂碼。要能在實際的控制臺下也可使用中文的pkgtool,你又必須漢化終端,或者裝上某些軟件(例如cce、zhocn等)來使之支持中文。我們一般采用后者.而對于安裝盤上的漢化,難度稍大。所以漢化,其實很不徹底,似乎也不叫漢化了。
1、移植到其他Linux發行版
移植Slackware的標準包管理到其他Linux發行版是一件簡單、可行的事情。當下面說明如何將Slackware的包管理移植到其他Linux發行版(在Turbo Linux10上測試成功):
假設:
Slackware----/dev/hda10 (/)
TurboLinux --/dev/hda7 (/)
具體操作:
進入Turbo Linux,然后:
#mkdir /mnt/hda10
#mount /dev/hda10 /mnt/hda10
#cp /mnt/hda10/sbin/*pkg /sbin
#cp /mnt/hda10/sbin/pkgtool /sbin
#cp /mnt/hda10/bin/dialog /bin
#cp /mnt/hda10/bin/tar-1.13 /bin
現在就可以運行installpkg|removepkg...了。
提示:
2.移植到BSD:
當然!我們也可以將之移植到BSD上,但這樣似乎完全沒有必要,畢竟BSD的包管理已經十分強大了。作為測試,我簡單說明一下。
具體操作同上,但有些問題需要注意!
注意點:
1.參考資料:
2.更新日記
一是要在現場完成復雜的測控任務,因為通常一些任務都具有一定的實時性要求;
二是要求測控系統能夠與某一類型的控制網相連,以實現遠程監控。在目前應用的大多數測控系統中,嵌入式系統的硬件采用的是8/16位單片機;軟件多采用匯編語言編程,由于這些程序僅包含一些簡單的循環處理控制流程。
因此,單片機與單片機或上位機之間的通信通常通過RS232、RS485來組網。這些網絡存在通信速度慢、聯網功能差、開發困難等問題。工業以太網已逐步完善,在工業控制領域獲得越來越多的應用。工業以太網使用的是TCP/IP協議,因而便于聯網,并具有高速控制網絡的優點。
嵌入式Linux技術
嵌入式Linux是按照嵌入式操作系統的要求而設計的一種小型操作系統,它由一個Kernel(內核)及一些根據需要進行定制的系統模塊組成。Kernel一般只有幾百kB左右,即使加上其它必須的模塊和應用程序,所需的存儲空間也很小。它具有多任務、多進程的系統特征,有些還具有實時性。一個小型的嵌入式Linux系統只需要引導程序、Linux微內核、初始化進程3個基本元素。運行嵌入式Linux的CPU可以是X86、Alpha、Sparc、MIPS、PPC等。與這些芯片搭配的主板都很小,通常只有一張PCI卡大小,有的甚至更小。嵌入式Linux所需的存儲器不是軟磁盤、硬盤、Zip盤、CD-ROM、DVD這些眾所周知的常規存儲器,它主要使用Rom、CompactFlash、M-Systems的Disk On Chip、Sony的Memory Stick、IBM的MicroDrive等體積極小(與主板上的BIOS大小相近),且存儲容量不太大的存儲器。它的內存可以使用普通的內存,也可以使用專用的RAM。
與其它嵌入式操作系統相比,Linux的源代碼是開放的,不存在黑箱技術。Linux作為一種可裁剪的軟件平臺系統,很可能發展成為未來嵌入式設備產品的絕佳資源。Linux與生俱來的優秀網絡血統更為今后的發展鋪平了一條寬廣平坦的大路。因此,在保持Linux內核系統更小、更穩定、更具價格競爭力等優勢的同時,對系統內核進行實時性優化,更加使之能夠適應對工業控制領域高實時性的要求。這也正是嵌入式Linux操作系統在嵌入式工控系統中的發展所在。同時也使Linux成為嵌入式操作系統中的新貴。
標準的Linux內核通常駐留在內存中,每一個應用程序都是從磁盤運到內存上執行。當程序結束后,它所占用的內存就被釋放,程序就被下載了。而在一個嵌入式系統里,可能沒有磁盤。有兩種途徑可以消除對磁盤的依賴,一是在一個簡單的系統里,當系統啟動后,內核和所有的應用程序都存在內存里。這是大多數傳統的嵌入式系統的工作模式,同樣Linux。第二種就是Linux所特有的功能,因為Linux已經有能力“加載”和“卸載”程序,因此,一個嵌入式系統就可以利用它來節省內存。一個比較典型的系統有大約8MB到16MB的閃存和8MB RAM,而閃存可以被用作文件系統。用閃存驅動程序作為從閃存到文件系統的界面就是一種選擇。當然,也可以用一個閃存磁盤。用閃存來擺脫系統對一個磁盤的需求(依賴)具有Disk On Chip技術以及CompactFlash卡等方式。
用來連接Flash Memory和文件系統的程序都以文件形式存儲在Flash文件中,需要時可以裝入內存,這種動態的、根據需要加載的能力是支持其它一系列功能的重要特征。它能使初始化代碼在系統引導后被釋放。實際上,Linux同樣還有很多內核外運行的公用程序,這些程序通常在初始化時運行一次,以后就不再運行。而且,這些公用程序可以用它們相互共有的方式一個接一個地按順序運行。這樣,相同內存空間可以被反復使用以“召入”每一個程序,就象系統引導一樣。這樣可以節省內存,特別是那些配置一次以后就不再更改的網絡堆棧。如果將Linux可加載模塊的功能包括在內核里,驅動程序和應用程序就都可以被加載。由于它可以檢查硬件環境并且為硬件裝上相應的軟件,從而消除了用一個程序占用許多Flash Memory來處理多種硬件的復雜性。另外,軟件的升級更加模塊化,可以在系統運行時在Flashh上升級應用程序和加載驅動程序,其配置信息和運行時間參數可以作為數據文件儲存在Flash中。
嵌入式工業控制網絡的實現方案
基于嵌入式Linux的工控系統以嵌入式微處理器為核心來運行嵌入式Linux操作系統。應用程序可通過網絡進行更新,并可通過鍵盤進行人機對話,數據可通過LCD現場顯示,重要數據可用文件形式保存在Flash等閃存存儲器中;數據和報警信息可通過串口向上位機傳輸,也可以通過以太網向工業以太網或Internet發布,用戶還可通過網絡實現遠程監控和遠程維護。更為關鍵的是,可充分利用Internet上已有的軟件和協議(如:ftp,http以及Apache PHP MySQL等應用程序)迅速搭建前臺數據采集系統,以實現測控系統和后臺管理系統的通訊。這種方式的優點有:
(1)不需專用的通信線路即可用現成的Inter-net網絡將數據傳送到任何地方。
(2)不僅能夠傳遞數據信號,也可以傳遞音頻和圖像信號。
(3) 由于目前的Internet協議是現成和公開的,因此,利用大到幾十兆的 Microsoft IE瀏覽器,或小到只有600 KB的Mosaic瀏覽器都可以對網絡數據進行讀取。
系統設計
1 硬件設計
嵌入式系統的硬件運行平臺是開發應用程序的基礎,整個開發板可基于IntelRSA-1110 微處理器架構。
嵌入式系統的硬件結構框圖。該硬件針對網絡服務的應用選擇了Intel系列中的Strong ARM MCU。Strong ARM SA-1110是一款高性能、低價位、高集成度微處理器。SA-1110芯片內部集成有能以206MHz運行的32-bit Intel Stron-ggARM RISC處理器,以及速度可達100MHz的存儲器總線和靈活的存儲器控制器,可支持SDRAM、SMROM以及variable-latency I/O 設備,并可為系統設計提供較高的存儲帶寬。由于SA-1110可以適應較大流量的網絡應用,因而可為運行Linux提供硬件上的支持。此外,SA-1110還在開發板上集成有32MB的SDRAM、8MB的Flash、10 base T以太網接口、RS232/RS485串口、I/O接口以及擴展Flash卡存儲器等。有關SA-1110更詳細的資料可參考有關資料。
2 軟件設計
嵌入式操作系統是整個嵌入式系統的核心。如前面所述,嵌入式系統在內存容量和存儲容量不足的情況下,必須對Linux進行裁減設計。在裁剪過程中,所涉及的主要技術有下面幾種。
(1)內核的精簡
標準Linux是面向PC的,它集成了許多PC所需要而嵌入式系統并不需要的功能。因此,對一些可獨立加上或卸下的功能塊,可在編譯內核時,僅保留嵌入式系統所需的功能模塊,而刪除不需要的功能塊。這樣,重新編譯過的內核就會顯著減小。
(2)虛擬內存機制的屏蔽
經過分析發現,虛擬內存是導致Linux實時性不強的原因之一。在工業控制中,一些任務要滿足一定的實時性要求,屏蔽內核的虛擬內存管理機制可以增強Linux的實時性。當要更改內核的某項機制時,一般不必大規模地寫代碼,可采用條件編譯的方法。同時由于Linux系統對應用進程采用的是公平的時間分配調度算法,但這一算法也不能保證系統的實時性要求,因此要求對其進行更改。更改途徑有兩種:一是通過POSIX,二是通過底層編程。筆者是通過Linux的實時有名管道(FIFO)的特殊隊列來處理實時任務的先后順序。實際上,實時有名管道就象實時任務一樣從不換頁,因而可以大大減少由于內存翻頁而造成的不確定延時。
(3)設備驅動程序的編寫
確定了內核的基本功能后,就要為特定的設備編寫驅動程序,可按照在Linux下編寫驅動程序的規則進行編寫。編寫的設備驅動程序應當具有以下功能:
●對設備進行初始化和釋放;
●完成數據從內核到硬件設備的傳送和從硬件讀取數據兩項功能;
●讀取應用程序傳遞給設備文件的數據以及回送應用程序請求的數據;
●檢測和處理設備出現的錯誤。
(4)開發基于閃存的文件系統JFFS
應用程序和重要數據通常以文件的形式被存放在閃存文件系統中。JFFS2 文件系統是日志結構化的,這意味著它基本上是一長列節點。每個節點包含著有關文件的部分信息。JFFS2是專門為象閃存芯片那樣的嵌入式設備創建的,所以它的整個設計提供了更好的閃存管理,因而具有其它文件系統不可比擬的優點。具體如下:
●JFFS2 在扇區級別上執行閃存擦除/寫/讀操作要比 Ext2文件系統好。
●JFFS2 提供了比 Ext2fs 更好的崩潰/掉電安全保護。當需要更改少量數據時,Ext2文件系統會將整個扇區復制到內存(DRAM)中,并在內存中合并成新數據再寫回整個扇區。而JFFS2 則可以隨時更改需要的(不是重寫)整個扇區,同時還具有崩潰/掉電安全保護功能。
實現上述幾個步驟后,一個小型的Linux操作系統就構造完成了。構造后的Linux包括進程管理、內存管理和文件管理等三部分。它支持多任務并行,有完整的TCP/IP協議,同時Linux內建有對以太網控制器的支持,可以通過以太網口連到以太網上,以實現遠程配置與監控。
將裁剪好的內核移植到所用的目標板上時,首先應將內核編譯成針對該處理器的目標代碼。由于不同硬件體系的移植啟動代碼會有所不同,因此,一些內核程序可能要改寫。涉及到編寫Linux的引導代碼和修改與體系結構相關部分代碼主要是啟動引導、內存管理和中斷處理部分。將M-System公司的DOC 2000作為系統的啟動設備時,引導代碼可以放在DOC上。這樣3系統加電后,引導代碼即可進行基本的硬件初始化,然后把內核映象裝入內存并運行,最后,再將調試好的內核和應用程序燒錄到閃存中。由于此時裁剪后的Linux已成功移植到目標平臺上,因此,在啟動可運行的開發系統時,就可以根據具體的應用來開發應用程序。如數據采集模塊、數據處理模塊、通信和數據發布模塊等等。
結束語
如今,互聯網應用正在轉到以嵌入式設備為中心,因此,用工控系統與Internet相結合來實現網絡化已是一種必然的趨勢。而把嵌入式Linux微處理器內核嵌入到基于StrongARM SA1110 的32位MCU系統中,然后通過構造TCP/IP多種網絡協議和基本網絡通信協議,再利用嵌入式操作系統對底層硬件和網絡協議的支持,以及對工控系統實時性要求的Linux內核和虛擬內存機制進行改造,即可保證測控任務完成的實時性和可靠性。可以預見,這種方案在工業控制領域具有很好的應用前景,而且具有開發周期短、系統性能穩定可靠、適應性強等特點。
]]>IPSec是IETF(Internet Engineer Task Force)正在完善的安全標準,它把幾種安全技術結合在一起形成一個較為完整的體系,受到了眾多廠商的關注和支持。通過對數據加密、認證、完整性檢查來保證數據傳輸的可靠性、私有性和保密性。
優點:它定義了一套用于認證、保護私有性和完整性的標準協議。 IPSec支持一系列加密算法如DES、三重DES、IDEA。它檢查傳輸的數據包的完整性,以確保數據沒有被修改。IPSec用來在多個防火墻和服務器之間提供安全性。IPSec可確保運行在TCP/IP協議上的VPNs之間的互操作性。
缺點:IPSec在客戶機/服務器模式下實現有一些問題,在實際應用中,需要公鑰來完成。IPSec需要已知范圍的IP地址或固定范圍的IP地址,因此在動態分配IP地址時不太適合于IPSec。除了TCP/IP協議外,IPSec不支持其他協議。另外配置比較復雜。
Linux實現使用IPSec的軟件是:Free S/WAN
http://www.freeswan.org/。FreeS/WAN不支持NAT(Network Address Translation,網絡地址翻譯)和IP地址偽裝用于加密通道通信。
2、 PPP OVER SSH
SSH一種基于安全會話目的的應用程序。SSH支持身份認證和數據加密,對所有傳輸的數據進行加密處理。同時,可以對傳輸數據進行壓縮處理,以加快數據傳輸速度。SSH既可以代替Telnet作為安全的遠程登錄方式,又可以為FTP、POP等提供一個安全的“隧道”。OpenSSH是SSH的替代軟件包,是免費的。用PPP端口在SSH上運行技術實現VPN的方法。優點:安裝配置簡單。缺點:運行時系統開銷比較大。PPP OVER SSH具體應用軟件有SSHVNC(http://3sp.com/products/sshtools/sshvnc/sshvnc.php)
3、 CIPE : Crypto IP Encapsulation
CIPE (加密 IP 封裝)是主要為 Linux 而開發的 VPN
實現。CIPE 使用加密的 IP 分組,這些分組被封裝或“包圍”在數據報(UDP)分組中。CIPE 分組被給以目標頭信息,并使用默認的CIPE 加密機制來加密。CIPE 使用標準的 Blowfish 或 IDEA加密算法來支持加密。根據你所在國家的加密出口法規而定,你可以使用默認方法(Blowfish)來加密你的專用網上的所有 CIPE 交通。CIPE配置可以通過文本文件、圖形化的網絡管理工具來完成。用CIPE技術實現VPN的方法,優點:安裝配置簡單,運行時系統開銷比較小。缺點:CIPE不是一種標準VPN協議,不能支持所有平臺。CIPE網址:http://sites.inka.de/
~
4.SSL VPN
IPSec VPN和SSL VPN是兩種不同的VPN架構,IPSec VPN是工作在網絡層的,提供所有在網絡層上的數據保護和透明的安全通信,而SSL VPN是工作在應用層(基于HTTP協議)和TCP層之間的,從整體的安全等級來看,兩者都能夠提供安全的遠程接入。但是,IPSecVPN技術是被設計用于連接和保護在信任網絡中的數據流,因此更適合為不同的網絡提供通信安全保障,而SSLVPN因為以下的技術特點則更適合應用于遠程分散移動用戶的安全接入。OpenVPN 是一個基于 OpenSSL 庫的應用層 VPN實現。詳細信息可以參考http://www.openvpn.net。
OpenVPN優點: 支持多種常用應用系統。目前版本支持Linux, Windows
2000/XP and higher, OpenBSD, FreeBSD, NetBSD, Mac OS X, and Solaris 。
支持多種客戶端連接模式。可以通過GUI 便捷的操作OpenVPN 工作在OSI layer 2 或 3 使用標準的SL/TLS 協議, 可以通過certificates 或smart cards 認證。 加密強度較高,不易在傳輸通路上被人劫持破解信息資訊。
OpenVPN缺點:使用SSL 應用層加密,傳輸效率要低于IPSEC 傳輸的VPN 軟件
5.PPPTD
點對點隧道協議(PPTP)是一種支持多協議虛擬專用網絡的網絡技術。
PPTP 可以用于在 IP 網絡上建立 PPP 會話隧道。在這種配置下,PPTP 隧道和 PPP 會話運行在兩個相同的機器上,呼叫方充當PNS。PPTP 使用客戶機-服務器結構來分離當前網絡訪問服務器具備的一些功能并支持虛擬專用網絡。PPTP作為一個呼叫控制和管理協議,它允許服務器控制來自 PSTN 或 ISDN 的撥入電路交換呼叫訪問并初始化外部電路交換連接。PPTP 只能通過PAC 和 PNS 來實施,其它系統沒有必要知道 PPTP。撥號網絡可與 PAC 相連接而無需知道 PPTP。標準的 PPP客戶機軟件可繼續在隧道 PPP 鏈接上操作。PPTP 使用 GRE 的擴展版本來傳輸用戶 PPP 包。這些增強允許為在 PAC 和 PNS之間傳輸用戶數據的隧道提供低層擁塞控制和流控制。這種機制允許高效使用隧道可用帶寬并且避免了不必要的重發和緩沖區溢出。PPTP沒有規定特定的算法用于低層控制,但它確實定義了一些通信參數來支持這樣的算法工作。
PPTP相對其他遠程“撥入”型VPN的不凡之處在于微軟Windows(95/98/Me/NT/2000/XP/Vista)擁有一個內置的PPTP客戶端,這意味著管理員不必涉及任何額外的客戶端軟件以及那些通常伴隨出現的問題。Linux PPTP服務器實現的軟件是:poptop(http://www.poptop.org/)開源PPTP服務器產品Poptop特性為:
微軟兼容的認證和加密(MSCHAPv2,MPPE40-128位RC4加密) 。
支持多個客戶端連接 。
使用RADIUS插件無縫集成到一個微軟網絡環境中 。
和Windows 95/98/Me/NT/2000/XP PPTP客戶端共同工作 。
和Linux PPTP客戶端共同工作 。
Poptop在GNU通用公共許可下是,并仍將是完全免費。
下面分別介紹基于以上技術的VPN在Linux下的實現:
第一部分 建立Linux下的VPN-CIPE
一、CIPE概述
人們目前已經開發出了很多種VPN程序,這里介紹的最容易安裝的VPN軟件之一:CIPE。VPN是由經過相互授權的通信雙方在公網上建立的安全通信隧道,數據在隧道中進行加密傳輸,用于總部與分支機構的安全通信。虛擬專用網絡是一種新的網絡技術,用于跨過 Internet或局域網而安全地訪問企業網。CIPE 是主要為 Linux 而開發的 VPN 實現。CIPE 使用加密的 IP分組,這些分組被封裝或“包圍”在數據報(UDP)分組中。CIPE 分組被給以目標頭信息,并使用默認的 CIPE加密機制來加密。然后,這些分組再通過 CIPE 虛擬網絡設備(cipcbx)和 IP 層,以及通訊公司的網絡被作為 UDP 分組傳輸給預想中的遠程節點。CIPE網絡模型如圖-1。
圖-1 CIPE VPN網絡模型
CIPE 是Linux 網絡管理員和系統管理員的明智選擇,其原因如下:
CIPE 被包括在紅帽企業 Linux 中,因此所有你想連接到你的內聯網的紅帽企業 Linux 邊緣機器(如防火墻和網關機器)和個體客戶機器上都可以利用它。Redhat Linux 還包括支持 CIPE 的加密術。
CIPE 使用標準的 Blowfish 或 IDEA 加密算法來支持加密。根據你所在國家的加密出口法規而定,你可以使用默認方法(Blowfish)來加密你的專用網上的所有 CIPE 交通。
因為 CIPE 是基于軟件的,只要運行紅帽企業 Linux,任何一個較老的或閑置的機器都可以充當 CIPE 網關,所以你不必購買昂貴的專用 VPN硬件來安全地連接兩個局域網,從而給機構節省資金。
CIPE 被積極開發來與 iptables、ipchains、以及其它基于規則的防火墻一起使用。要和現存的防火墻規則共同存在,只需要讓對端接受進入的 CIPE UDP 分組就可以了。
CIPE 配置是通過文本文件來完成的。這使管理員不必使用通過網絡運行效果不佳的圖形化工具來遠程地配置 CIPE服務器和客戶。CIPE 還可以使用網絡管理工具來配置。
CIPE軟件在Redhat Linux 9.0 - Red Hat Enterprise Linux AS 3.0的安裝光盤里都可以找到它。安裝CIPE的辦法有兩種:一是從安裝光盤來安裝它,二是從CIPE軟件的官方主頁linux">http://sourceforge.net/projects/cipe-linux下載;下面筆者分別介紹。
二、使用在Redhat Linux 9.0 網絡管理工具來配置CIPE VPN
1.服務器端配置
點擊“主選單”-“系統配置”-“網絡配置”-“新建”-“CIPE(VPN)連接”進行VPN隧道配置。見圖-2。
圖-2 CIPE服務器端配置
最后點擊“生成”按鈕產生一個128位(32個16進制數)的密匙,接著點擊確定按鈕。最后選擇“當計算機啟動時激活該設備”。CIPE在服務器端配置見表-1:
表-1 CIPE服務器端設定
點擊“前進”按鈕繼續查看匯總信息見圖-3。
圖-3 CIPE 信息匯總
激活CIPE連接見圖-4。
圖-4 激活CIPE連接
下面還要作三項工作:
(1)使系統支持IP轉發,使用命令: /sbin/sysctl –w net.ipv4.ip_forward=1
(2)添加路由:route add -net 192.168.1.3 netmask 255.255.255.0 gw 192.168.1.9
(3)打開防火墻的CIPE端口7777
2.CIPE客戶機配置
由于CIPE要求服務器和客戶機的密匙完全相同所以,首先將密匙文件:options.cipcb從服務器復制到客戶機主機的/etc/cipe/ 目錄中。
# scp
root@192.168.0.3:/etc/cipe/options.cipcb0
/etc/cipe/options.cipcb0
Are you sure you want to continue connec
ting (yes/no)? yes
Warning: Permanently added '192.168.0.3' (RSA) to the list of known hosts.
password:
options.cipcb0
100% |***************************************|
61 00:00
CIPE這個軟件在服務器端和客戶機使用相同的界面。方法和服務器端配置一樣,見圖-5。
圖-5 CIPE客戶機配置界面
接著點擊“前進”按鈕。客戶機配置結束。
3.使用CIPE網絡接口連接VPN服務器
在客戶機進行連接測試,首先使用命令察看網絡接口:
# ifconfig -cipcb0
cipcb0 Link encap:IPIP Tunnel HWaddr
inet addr:10.0.0.2 P-t-P:10.0.0.1 Mask:255.255.255.255
POINTOPOINT NOTRAILERS RUNNING NOARP MTU:1442 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
此時客戶機的cipcb0沒有激活,使用命令激活cipcb0,然后察看路由表:
#ifup cipcb0
#route
Kernel IP routing table
Destin
ati
on
Gateway
Genmask Flags Metric
Ref Use Iface
10.0.0.1
*
255.255.255.255 UH 0
0 0 cipcb0
192.168.1.0
*
255.255.255.0 U
0
0 0 eth0
127.0.0.0
*
255.0.0.0 U
0
0 0 lo
default
192.168.1.1
0.0.0.0
UG 0
0 0 eth0
可以看到VPN端口已經打開,路由表中包括CIPE服務器的遠程虛擬地址。下面使用ping命令連接CIPE服務器的虛擬地址(10.0.0.1)進行測試。
#ping -c 4 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.681 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.341 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.080 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=0.094 ms
--- 10.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3013ms
rtt min/avg/max/mdev = 0.080/0.299/0.681/0.243 ms
VPN連接完成。下面斷開VPN連接,使用命令:“ifdown cipcb0”然后察看路由表:
#ifdown cipcb0
#route
Kernel IP routing table
Destination
Gateway
Genmask Flags Metric
Ref Use Iface
192.168.0.0
*
255.255.255.0 U
0
0 0 eth0
127.0.0.0
*
255.0.0.0 U
0
0 0 lo
錄由表的10.0.0.1已經清除。
]]>]]>
(1)Caldera:http://www.calderasystems.com/
(2)Corel:http://linux.corel.com/
(3)Debian:http://www.debian.org.com/
(4)Mandrake:http://www.linux-mandrake.comlen/
(5)Red Hat:http://www.reahat.com/
(6)Slackware:http://www.slackware.com/
(7)SuSE:http://www.suse.com
(8)Turbo Linux:http://www.turbolinux.com/ 4.2 小型化的嵌入式版本 (1)ETLinux:http://www.prosa.it/embedded/etlinux/ (2)LEM:http://www.linux-embedded.com/lem.php3 (3)Linux Router Project:http://www.linuxrouter.org/ (4)LOAF:http://loaf.ecks.org/ (5)ucLinux:http://www.uclinux.org/ (6)uLinux:http://sunsite.auc.dk/mulinux/ (7)ThinLinux:http://www.thinlinux.org
4.3 具有實時擴展功能的Linux版本
(1)RTLinux:http://www.rtlinux.com
(2)RTLinux:http://www.FSMLabs.com
(3)RTAI:http://www.rtai.org/
(4)EL/IX:http://www.sourceware.cygus.com/elix/
(5)SRT-Linux:http://www.cl.cam.ac.uk/~dmi1000/linux-srt/index.html
4.4 Linux特殊應用版本
(1)FirePlugLinux:http://www.fireplug.net/
(2)KOSIX:http://www.touchdynamics.com/KOSIX.html
(3)Linux Router Project:http://www.linuxrouter.org/
(4)Pizzabox Linux:http://www.jrcs.co.wk
5 結束語
盡管絕大部分的嵌入式系統的硬件平臺仍掌握在外國大公司的手中,國產的嵌入式操作系統在技術含量、兼容性、市場運作模式等方面還有相當長的一段距離。但由于Linux自由操作系統的出現,特別是將嵌入式系統和Linux有機結合起來的嵌入式Linux,給我們提供跟蹤國外嵌入式操作系統最新應用技術難得的機遇。嵌入式Linux將在機頂盒、掌上電腦或PDA、手機和尋呼機上網、車載盒、工業控制等方面有著廣泛地應用。
]]>863智能計算機首席專家高文教授說:所謂后PC時代,是英文pervasive computing的中文意譯,pervasive的原意是普遍的、蔓延的、滲透的,所以pervasive computing這個詞組直接的翻譯應該是滲透到各個方面的計算。因而我們可以認為,所謂后PC時代是指:計算機無所不在,它滲透到我們工作和生活的方方面面。當然,這樣的無所不在的計算機也絕不都是象今天的PC一樣擺在桌子上或放在書包里,后PC時代的絕大多數計算機是以非計算機的形式出現的,例如作為隨身物品出現的電話、遙控開關、電子戒指、電子手杖等,再例如作為家庭網絡組成部分的電視機、電冰箱、空調等等。這些設備的核心部分都有計算機,但大多是以嵌入式系統的形式存在,而不是以整機的形象出現。所以,我們也可以說后PC時代的特點是計算機無處不在、很少可見。
在IT業,如果要問當今最熱門的話題是什么[1],從事硬件開發的人會毫不猶豫地回答:信息家電;從事軟件開發的人同樣也會毫不猶豫地回答:Linux。事實上,當人們在談論PDA、手持電腦、機頂盒時,后PC時代就到來了,或者說信息家電時代到來了。信息家電之所以直到現在才變得火爆,一個很重要的原因就是Linux的加入。廉價的Linux資源與信息家電結合,真正宣告了信息家電時代的到來,嵌入于信息家電(或其他設備)中的Linux棗嵌入式Linux,是國際軟件界的一個新寵。Linux是個天生的網絡操作系統,成熟而且穩定。Linux是開放源代碼的,任何人都可以修改它,或者用它開發自己的產品。Linux系統是可以定制的,系統內核最小時目前只有134kB。一個帶有中文系統以及圖形化界面的核心程序也可以做到不足1MB,而且同樣穩定。因此,Linux作為嵌入式系統新的選擇,是非常有潛力的[3]。
國際上有數以百計的嵌入式Linux開發計劃,在國內,這方面的發展也有了較大進展。博利思軟件公司在這方面做了一些有益的嘗試,并于最近推出了一個嵌入式Linux操作系統棗PocketIX 預覽版(下載網址為:www.pocketix.com/software/software.htm。)。PocketIX是一個內核基于標準Linux的嵌入式操作系統,由一個體積很小的內核及一些可以根據需要進行定制的系統模塊組成。其系統占用空間小、啟動速度快、穩定性好,并具有多任務、多線程的特征。與傳統的嵌入式系統相比,PocketIX采用標準的Linux結構,所有運行在標準Linux下的應用軟件都可平滑移植到該系統上。
在傳統家電向信息家電過渡時,操作系統小型化、產品穩定性及是否易于開發等成了至關重要的問題。嵌入式Linux雖然只是剛剛興起的熱門技術,但它卻能很好解決上述問題。作為嵌入式Linux產品的研發,涉及到嵌入式微處理器技術、Linux技術、網絡通訊技術、通訊產品設計師的行業經驗,華恒網絡技術公司正是基于在以上經驗的優勢,成功推出國內首款基于嵌入式Linux超小型應用產品――網絡管理卡,該產品已經批量生產、投放市場。有關詳情可訪問該公司站點(http://www.hhcn.com)。
2 嵌入式Linux開發的優點及版本
嵌入式Linux由于代碼開放性以及強大的網絡功能,在中低端的嵌入式網絡設備中應用起來,比起pSOS+,VxWorks等專用系統有許多優勢,Linux甚至支持藍牙技術,VxWorks對于新技術的支持遠沒有Linux那么迅速;從我們開發路由器卡可知:從產品上市時間到產品的功能不斷擴充、開發人力的投入都驗證了使用嵌入式Linux作為操作系統平臺的優勢。如果是用VxWorks作為平臺來做就相當困難,一系列的防火墻協議以及Web Server協議、TCP/IP整個體系結構、撥號協議等等,不是自己開發就是要買VxWorks的編譯好的庫(不公開源代碼的),價格也比較昂貴。表1將專用嵌入式實用操作系統與嵌入式Linux作了詳細的分析和比較。
表1 專用嵌入式實時操作系統與嵌入式Linux的比較
專用嵌入式實時操作系統 |
嵌入式Linux操作系統 | |
版權費 |
每生產一件產品需交納一份版權費 |
免費 |
購買費用 |
人民幣數十萬元 |
免費 |
技術支持 |
由開發商獨家提供有限的技術支持 |
全世界的自由軟件開發者提供支持 |
網絡特性 |
另加人民幣數十萬購買 |
免費而且性能優異 |
軟件移植 |
難,因為是封閉系統 |
易,代碼開放,有許多應用軟件支持 |
應用產品開發周期 |
長,因為可參考的代碼有限 |
短,新產品上市迅速,因為有許多公 |
實時性能 |
好 |
需改進,可用RT_Linux等模塊彌補 |
穩定性 |
好 |
較好,在高性能系統中仍需改進 |
Linux是自由的多任務操作系統,用戶可以獲得多種配置及體系不同的Linux版本。因此,如何選擇Linux的發行版本,也是我們要解決的一個重要問題。
Linux的版本主要有3大類:
(1)標準的Linux版本。
(2)小型化的嵌入式版本(Small foot-print“embedded”Version)。
(3)具有實時擴展功能的Linux版本。
這3大類Linux版本的各自用戶所占的百分數統計餅圖如圖1所示。
圖 1 各類Linux操作系統用戶分布圖
另外,Linux還有一些特殊應用、把Linux移植到非X86體系的CPU(包括PowerPC、RISC、68K以及許多別的微控制器)上的版本。例如有許多針對不同的如“瘦服務器”或“防火墻”應用的小型化、實時特性增強的特殊版本。
我們要認識到,所有的Linux發行版本都是在同一個框架結構類型下發展演變的,它們使用的基本模塊都相同,其中包括Linux內核、Shell命令(命令執行解釋模塊)以及許多的通用工具。不同的是,數以百計的Linux應用程序,被包含在不同的發行版本當中,安裝的進程處理程序也不同。
3 嵌入式Linux的一個開發實例分析
傳統的路由器都是使用專用的RTOS開發的,在開發TCP/IP、防火墻協議以及Web Server協議時都只能自己去實現,產品上市的周期非常長,對新協議、新接口的支持以及設備升級的周期也很長,因為專用的RTOS有關內容都要自己開發;而對于Linux來說,這些都可以直接從網上獲得代碼,針對應用系統的要求作必要的改動即可,對新協議、新接口的支持也是如此,無需要自己從頭去開發。
在表2中,我們將分別利用VxWorks專用操作系統和嵌入式Linux操作系統來開發路由器作了詳細地比較和分析。
表2 開發路由器情況表
使用VxWorks專用操作系統 |
使用嵌入式Linux操作系統 | |
產品上市時間 |
長達9個月 |
僅需3個月 |
投入開發的人力 |
多達6人以上 |
只需3人 |
產品的附加成本 |
每臺路由器需要交一份版權費,成本大大提高 |
沒有任何附加費 |
產品功能的豐富性 |
一般,增加功能要象廠家購買模塊 |
豐富,可利用自由軟件的大量公開代碼移植 |
網絡特性 |
另外購買網絡模塊,如OSPF動態路由協議庫,很昂貴;若自行開發則穩定性較差且開發時間長 |
免費獲得自由軟件代碼,只需移植,由于來 |
產品升級以及對 |
廠家反映慢,支持慢,不一定能支持新特性 |
利用全世界Linux自由軟件開發團體的力量 |
4 嵌入式Linux的網上資源
4.1 標準的Linux版本
(1)Caldera:http://www.calderasystems.com/
(2)Corel:http://linux.corel.com/
(3)Debian:http://www.debian.org.com/
(4)Mandrake:http://www.linux-mandrake.comlen/
(5)Red Hat:http://www.reahat.com/
(6)Slackware:http://www.slackware.com/
(7)SuSE:http://www.suse.com
(8)Turbo Linux:http://www.turbolinux.com/
4.2 小型化的嵌入式版本
(1)ETLinux:http://www.prosa.it/embedded/etlinux/
(2)LEM:http://www.linux-embedded.com/lem.php3
(3)Linux Router Project:http://www.linuxrouter.org/
(4)LOAF:http://loaf.ecks.org/
(5)ucLinux:http://www.uclinux.org/
(6)uLinux:http://sunsite.auc.dk/mulinux/
(7)ThinLinux:http://www.thinlinux.org
4.3 具有實時擴展功能的Linux版本
(1)RTLinux:http://www.rtlinux.com
(2)RTLinux:http://www.FSMLabs.com
(3)RTAI:http://www.rtai.org/
(4)EL/IX:http://www.sourceware.cygus.com/elix/
(5)SRT-Linux:http://www.cl.cam.ac.uk/~dmi1000/linux-srt/index.html
4.4 Linux特殊應用版本
(1)FirePlugLinux:http://www.fireplug.net/
(2)KOSIX:http://www.touchdynamics.com/KOSIX.html
(3)Linux Router Project:http://www.linuxrouter.org/
(4)Pizzabox Linux:http://www.jrcs.co.wk
5 結束語
盡管絕大部分的嵌入式系統的硬件平臺仍掌握在外國大公司的手中,國產的嵌入式操作系統在技術含量、兼容性、市場運作模式等方面還有相當長的一段距離。但由于Linux自由操作系統的出現,特別是將嵌入式系統和Linux有機結合起來的嵌入式Linux,給我們提供跟蹤國外嵌入式操作系統最新應用技術難得的機遇。嵌入式Linux將在機頂盒、掌上電腦或PDA、手機和尋呼機上網、車載盒、工業控制等方面有著廣泛地應用。
]]>自從計算機誕生以來,隨著計算機、網絡技術的快速發展,操作系統一直處于不斷發展和改進之中,人們將越來越多的功能加入到操作系統中,導致操作系統越來越大。但是,隨著應用領域的擴大,為了適應不同的應用場合,考慮到系統的靈活性、可伸縮性以及可裁減性,一種以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗要求嚴格的專用計算機系統---嵌入式操作系統便隨之延生。
嵌入式Linux是按照上面所說的嵌入式操作系統的要求設計的一種小型操作系統。由一個kernel(內核)及一些根據需要進行定制的系統模塊組成。其Kernel很小,一般只有幾百K左右,即使加上其它必要的模塊和應用程序,所需的存儲空間也很小,多任務多進程的系統特征,有些還有具有實時性。
一個小型的嵌入式Linux系統只需要下面三個基本元素:
引導程序
Linux微內核(由內存管理、進程管理和事務處理構成)
初始化進程
如果要讓它有更多的功能且繼續保持小型化,可以加上:
文件系統(可以在ROM,RAM,FLASH或Disk Onchip中)
TCP/IP網絡支持
存儲更多數據用的磁盤。
提供設計精簡的應用程序。
由于嵌入式Linux操作系統的高度靈活性,開發者可以很容易地對它進行定制或作適當開發,來滿足實際應用需要。
Linux在嵌入式系統中的優勢
嵌入式操作系統主要有 Palm OS,Windows CE,EPOC,LinuxCE,QNX,ECOS,LYNX,高端嵌入式系統要求許多高級的功能,如圖形用戶界面和網絡支持 。很多高端RTOS供應商已經提供了這些功能,但其價格也很高端,一般人難以接受。微軟的Windows CE也有此類功能,卻不具備大多數嵌入式系統要求的實時性能,而且難以移植,也曾經有人想以DOS為基礎用單獨的第三方工具拼湊一個系統,但這種努力將是白費。眾所周知,Micro$oft的東西向來都是以昂貴和不穩定出名,而現在需要的是一個便宜、成熟并且提供高端嵌入式系統所必須特性的操作系統,嵌入式Linux操作系統以價格低廉、功能強大又易于移植而正在被廣泛采用,成為新興的力量,所以,眾多商家紛紛轉向了嵌入式linux。
Linux為嵌入操作系統提供了一個極有吸引力的選擇,她是個和Unix相似、以核心為基礎的、完全記憶體保護、多任務多進程的操作系統。支持廣泛的計算機硬件,包括X86,Alpha,Sparc,MIPS,PPC,ARM,NEC,MOTOROLA等現有的大部分蕊片。程式源碼全部公開,任何人可以修改并在GNU通用公共許可證(GNU General Public License)下發行,這樣,開發人員可以對操作系統進行定制,再也不必擔心像M$ windows操作系統中“后門”的威脅(后門不是我們常說的走后門,是指嵌入到軟件中的一個特殊程序,它有一些不道德的額外功能,例如可以把使用者的數據送到指定的地址)。同時由于有GPL的控制,大家開發的東西大都相互兼容,不會走向分裂之路。Linux用戶遇到問題時可以通過Internet向網上成千上萬的Linux開發者請教,這使最困難的問題也有辦法解決。
Linux帶有Unix用戶熟悉的完善的開發工具,幾乎所有的Unix系統的應用軟件都已移植到了Linux上。Linux還提供了強大的網絡功能,有多種可選擇窗口管理器(X windows)。其強大的語言編譯器gcc、g++等也可以很容易得到。不但成熟完善、而且使用方便。
嵌入式linux操作系統與硬件設備的關系
運行嵌入式Linux的CPU可以是 X86,Alpha,Sparc,MIPS,PPC,MOTOROLA,NEC,ARM。與這些蕊片搭配的主板都很小,與一張PCI卡大小相當,有的甚至更小!
嵌入式linux所需的存儲器不是軟磁盤、硬盤、ZIP盤、CD-ROM、DVD這些眾所周知的常規存儲器,它使用Rom,CompactFlash,M-Systems的DiskOnChip,SONY的MemoryStick,IBM 的MicroDrive等體積極小---與主板上的Bios大小相近,存儲容量不太大的存儲器。它的“內存”可以使用普通的內存也可以使用專用的RAM。
PC平臺上通常有鍵盤、鼠標、顯卡、顯示器等輸入輸出設備及各種存儲設備,有ISA、PCI、AGP、USB等接口。在嵌入式系統中,往往不面要上述設備和接口的支持,而使用嵌入式系統特有的接口和設備,如PCMCIA接口、LCD顯示屏、觸摸屏,DOC(DiskOnChip)等。
在一個簡單的系統里,當系統啟動后,內核和所有的應用程序都在內存里。這就是大多數傳統的嵌入式系統工作模式,它可以被Linux支持。因此嵌入式系統可以沒有磁盤。許多嵌入式系統沒有磁盤或者文件系統。Linux不需要它們也能運行。有多種途徑可以消除對磁盤的依賴,這要看系統的復雜性和硬件的設計。
在PC機上都需要Bios ,當CPU啟動的時候,它開始在預先設置的地址上讀取指令,執行了一些低水平的CPU初始化和其它硬件的配置。再由BIOS繼續引導操作系統,由操作系統引導其它應用程序。實際上,這非常復雜,但對我們的目標來說也非常重要。在PC上運行的Linux也要依靠PC上的BIOS來啟動。
與PC機不同的是,嵌入式系統里經常沒有這種BIOS。這樣你就要提供同等的啟動代碼,這看起來使系統的引導啟動變得更加復雜。幸好,嵌入式系統并不需要PC 機Bios引導程序那樣大的靈活性,因為嵌入式設備的硬件配置通常是不變的,嵌入式引導程序只需要處理一種硬件的配置。這使代碼更簡單也更枯燥。它只是一指令清單,將固定的數字塞到硬件寄存器中去。然而,這是關鍵的代碼,因為這些數值要與你的硬件相符而且要按照特定的順序進行。所以在大多數情況下,一個最小的通電自檢模塊,可以檢查內存的正常運行、讓LED閃爍,并且驅動其它必須的硬件以使主Linux OS啟動和運行。這些啟動代碼完全根據硬件決定,不可隨意改變。
要選擇與嵌入式Linux系統相結合的硬件產品是一個復雜的工作,不但要考慮到硬件的成本,體積,可靠性,還受到其他非技術因素的影響,如政治、偏見、傳統等等。這一工作必須嚴肅對待,因為它也是開發的重點。
嵌入式linux 的技術發展
嵌入式系統的商品化操作系統在70年代后期才出現,許多是用匯編語言寫成的,并且只能用于特定的處理器,更換新處理器,它的操作系統就必須更新以適應新的系統。當C語言出現時,操作系統編寫的效率、穩定性、可移植性都有了很大的提高。這一點在管理上立刻表現出來,它為微處理器被淘汰時保護軟件投資帶來了希望。對于市場來說這是一個好消息。用C語言寫成的操作系統今天越來越普遍。一般來說,可重復使用的軟件已經占了主導地位并越做越好。
許多嵌入式系統根本沒有操作系統,只有循環控制。對于一些簡單設備這是足夠的,但是隨著系統越來越復雜,更多嵌入式系統需要與各類網絡聯接,因此需要網絡功能。增加網絡功能將導致系統復雜程度提高以致要求操作系統。
傳統的嵌入式系統是基于單片機的,而新一代的嵌入式系統將以如下為特點:以IP核模塊(Intellectual Property Kernel知識產權核模塊)為核心,用混合ASIC/CPLD/FPGA生成的硅片直接構成整塊的單片嵌入式產品(SOC)。
隨著嵌入式操作系統的快速發展,應用的范圍不斷擴大,使用者日益增加,一個非常關鍵,必須解決的重大問題出現了。
很久以前, 一般的編程語言,編譯,開發只能支持英文的,不能支持它國語言,比如拿一個只支持英文的瀏覽器去訪問中文的網站,顯示出來的東西將是混亂不可閱讀,嵌入式Linux也同樣不能避免這種問題,它直接影響到系統開發的路線。
為了使Linux支持中文,國人做了許多的努力,基本上解決了中文支持的問題。1999年是中國Linux發展和普及過程中最重要的一年,其中涌現了許多制作中文 Linux發布版本的公司,加速 Linux的中文化過程并推動Linux在中國的普及。如今這些公司又紛紛轉向了中文嵌入式Linux操作系統的開發,如Turbo,紅旗,還有一些一開始就開發嵌入式Linux公司,如網虎,博利思等,其中,博利思于5月份最先推出其中文嵌入式Linux操作系統。
為了適應更廣的語言和文化習俗,軟件有必要在設計結構和機制上支持多語言的擴展特性,這一過程稱為國際化,。越來越多的軟體開發者了解到, 如果他們設計的產品一開始就考慮到多語環境的使用, 這些產品將用更少的花費, 更快達到全球市場, 比那些照 "糟糕的老方法" 設計的產品更成功。有了國際化,你不需要一個日文版的 Netscape 去瀏覽日本的網頁. 你能使用英文的, 法文的或者任何版本的Netscape 來瀏覽日本的網頁, 反之亦然,而實現這些的唯一條件只要有適當的字庫支持。
Linxu的國際中最主要的是X windows 的國際化,早期的X11R4版本中,僅僅含有支持單字節和雙字節字體的函數,所以它不能算是國際化的函數庫. 此后,一個叫做"mltalk"的X協會成立并著手研究X窗口系統的國際化問題. 眾多的X窗口系統供應商也 參與了該組織。
按國際化的級別來分,下列幾種情況都屬于國際化:
語言可以切換. 在系統啟動時可以設置某種語言
使用不同語言的軟件可以同時使用,在應用軟件啟動時可以設置某種語言
使用不同語言的軟件可以同時使用,而且應用軟件的語言可以動態切換
使用不同語言的軟件可以同時使用,而且在應用軟件中可以同時使用不同語言
最新的X11R6 解決了X11R4中存在的問題,主要的變化有,
定義了標準的輸入協議、Locale數據格式定義
只采用了一種國際化工具的樣本應用模塊 在輸出上,X11R6增加了從由到左的的書寫方式,以支持阿拉伯語和希伯來語等,增加了從上到下的書寫方式,以支持中文和日文等的書寫方向
支持國際化的高層庫 OSF/Motif Qt/kdelib gtk+/gnome-lib Perl Java
支持多語言的典型軟件 瀏覽器 Netscape 編輯器 XEmacs 編輯器 Mule 編輯器 vim 終端 rxvt 排版軟件 LaTeX/lyx PostScript/PDF: gs/acroread 圖像處理: gimp 幻燈片制作 mgp 即將完成: StarOffice, Koffice
支持Unicode的軟件 高級圖形庫函數 Qt 2.x Java 語言開發工具 JDK 編輯器 yudit 專用的支持Unicode的 X 終端 基于GTK+的文本處理器 Gscript
因為對國際化的研究開始不久,所以mltalk (X國際化協會)提出的了 一個基本問題: 什么是X窗口系統的國際化? 對它的解釋也各不相同。 實際上,即使是現在,人們對國際化的定義仍然存在分歧,分歧的焦點主要集中于對軟件或系統怎樣程度的國際化才算是真正的國際化。但不管怎樣,國際化的問題已經有了巨大的進展,這必將促進嵌入式Linux的不斷成長,成熟。
在Linux日益流行的同時,嵌入式Linux也漸漸得到許多程序員的關注。由于其用途之廣達到了前所未有的地步:從移動計算平臺、 信息家電(機頂盒,數字電視)、媒體手機、到工業、商業控制(智能工控設備,POS/ATM機)、 電子商務平臺、甚至軍事應用!由此可見,嵌入式Linux的吸引力是巨大的。 同時嵌入式板的生產商得來了越來越多的引起全世界注意的標準,許多廠商都注意到了嵌入式Linux的適用性之廣,有不少公司正在開發嵌入式Linux,想信不久,嵌入式Linux在嵌入式板的生產商中將大受歡迎。
在國外,發展成熟并且已經商品化的嵌入式操作系統可供選擇的有VxWorks, pSOS, Neculeus、QNX、LYNX和Windows CE。目前,國內只有博利思,網虎,Turbo這有數的幾家公司推出了嵌入式Linux操作系統,但相信不久,中國的嵌入式Linux產品將會如雨后春筍般出現!
本篇文章來源于 黑基網-中國最大的網絡安全站點 原文鏈接:http://www.hackbase.com/lib/2005-06-07/6928.html
對于UNIX等傳統的服務器操作系統而言,產品相對比較成熟和穩定,從硬件到系統軟件,到應用軟件也已經形成了完整的產業鏈條;而開放和自由是Linux技術發展的特點,同時也在某種程度上造成了Linux版本的混亂、標準的不統一、產品特性的不穩定,給Linux產業鏈的形成和推廣應用帶來一定的負面作用,因此亟需建立Linux的應用工程環境,研究Linux與上下游軟硬件的適配技術,形成經過兼容性測試并認證的應用解決方案軟件平臺環境。
目前,已經有社區和商業性的組織開始著手進行這方面的工作,初步形成了象LAMP或者LJMP這樣完全基于開源軟件的應用解決方案,或者Linux+某些商業軟件的應用解決方案,并推廣應用。
中標軟件承擔的國家項目“國產基礎軟件平臺關鍵技術與集成技術的研究”也是在這方面所進行的一個嘗試。該項目希望能夠通過對適配技術和集成技術的研究,形成國產基礎軟件平臺,并在政務、教育等領域示范應用,從而推動包括國產Linux操作系統在內的國產基礎軟件的發展。
集群技術
目前,越來越多的網站采用Linux操作系統,提供郵件、Web、文件存儲、數據庫等服務。也有非常多的公司在企業內部網中利用Linux服務器提供這些服務。隨著人們對Linux服務器依靠的加深,對其可靠性、負載能力和計算能力也倍加關注。因此,Linux集群技術成為當前研究的熱點。
按照側重點的不同,可以把Linux集群分為三類。一類是高可用性集群,運行于兩個或多個節點上,目的是在系統出現某些故障的情況下,仍能繼續對外提供服務。這類集群中比較聞名的有Heartbeat、Kimberlite等。第二類是負載均衡集群,目的是提供和節點個數成正比的負載能力,這種集群很適合提供大訪問量的Web服務。LinuxVirtualServer就屬于負載均衡集群。另一類是超級計算集群,按照計算關聯程度的不同,又可以分為兩種。一種是任務片方式,另一種是并行計算方式。有了超級計算集群軟件,企業利用若干臺PC機就可以完成通常只有超級計算機才能完成的計算任務。這類軟件有SCore等。安全技術安全是永恒的敏感話題,對安全技術的研究也是永恒的熱點。隨著Linux應用的廣泛和逐步走向高端,對Linux安全技術的研究也越來越深入,Linux安全性得到進一步的增強。
Selinux是目前Linux系統安全技術方面最重要的一個項目。通過采用selinux的技術,Linux系統在訪問控制、系統審計、特權治理等方面得到加強,可以達到B級安全等級,基本可以滿足高端用戶的安全需要。
另外,Linux系統在數據加密、數字證書以及網絡安全等方面也得到加強;而且,由于Linux的開發性,基于Linux系統的安全產品也越來越多,安全技術在未來幾年仍然是Linux發展的一個重要方向。
此外,對系統治理技術、系統監視分析技術以及集成開發環境、故障分析與調試技術等也是近期Linux服務器技術研究的熱點。中標普華Office功能及技術辦公軟件領域,微軟一支獨秀,占有壟斷地位。隨著軟件正版化的不斷推廣,促進了國產辦公軟件的實力提高,已經可以逐步替代微軟的產品。中標普華Office就是其中的一個代表。
中標普華Office基于OpenOffice,采用C++語言開發,可在多種操作系統下運行,包括Window9Window2000、WindowXP和國內各主要Linux操作系統。產品不但包含了OpenOffice的基本功能,還對兼容性、易用性做了大量的改進,并專門開發特色功能滿足國內用戶需求,比如公文模塊、教育模塊、印章、簽名、手寫筆等功能;中標普華Office的特點可以總結為以下幾個方面:功能強大,方便易用中標普華Office具有豐富的圖文編輯和排版功能,快捷靈活的表格計算和數據處理能力,強大的幻燈制作和播放功能,完全能夠滿足企事業單位和個人的日常辦公需要。
可在Linux和Windows下使用,功能和操作習慣完全一樣,文檔可跨平臺讀取,這有利于用戶由Windows系統向國產Linux系統的平滑過渡。良好的MSOffice兼容性文件格式兼容:中標普華Office是目前國內同類辦公軟件中與MSOffice兼容性做得最好的產品之一,其建立的文檔可直接保存為MSOffice對應文檔格式;可以直接打開MSOffice的DOC、XLS和PPT格式文件,并且能正確讀取文檔中的各種數據信息;可對打開的DOC、XLS和PPT文件直接進行修改,并可繼續保存為原有格式。便于系統擴展采用平臺無關的UNO組件技術,保證了系統的內核精簡和擴展方便。
數據存儲符合XML規范利于信息共享中標普華Office的數據存儲格式符合XML規范,方便數據交換和互通。它不僅使得文檔占用的磁盤空間大大減少,而且使得用戶可以完全按照實際需要編寫自己的應用來直接解析中標普華Office的文檔,提取所需信息,實現信息共享。增強的安全功能中標普華Office具有數字簽名和文檔加密功能。數字簽名使用加密技術和公鑰基礎設施,保證文檔的完整性和不可否認性。在文檔加密的過程中,用戶可以選擇系統默認的算法,也可以自定義加密算法。兼容同類產品中標普華Office支持即將出臺的國家標準--中文辦公軟件文檔格式規范,提供了UOF轉換工具,可以存儲和閱讀UOF文檔,轉換工作對用戶完全透明。簡單易用中標普華Office集成了手寫筆,可以隨意輸入簡體、繁體漢字,筆劃順序不限,連筆與否不限,方便了日常辦公。另外,基于證書機制,實現了手寫簽名。
網絡協同和二次開發功能,滿足電子政務和企業信息化的需求中標普華Office采用多種標準技術:跨平臺技術、XML技術、多語言技術以及ActiveX、UNO、Javabean和Plugin等組件技術,使得產品符合潮流趨勢,同時功能完善,能適用現在國內各種需求,適用面廣,有較強的生命力。
]]>本文對Windows和Linux的若干主要方面進行一些評述和比較。
安全性能
安全性能是Windows常常遭受Linux支持者批評嘲笑之處。除了層出不窮的計算機病毒外,號稱Windows95以來最重要的版本的WindowsXP問世不過數月就屢屢發現安全漏洞,而且導致聯邦調查局向用戶發布警告,這無疑加深了Windows不如Linux安全的看法。不過客觀的講,在以下兩方面Windows有些冤情可訴:
Windows的每一個漏洞的公開都會引起公眾和媒體的廣泛注意,這種樹大招風的現象大大增加了Windows技術漏洞的可見性(Visibility)。而且Linux作為公開源代碼的系統,它的漏洞的發現和修補往往被有意無意地視為是系統開發的一部分,好比是Microsoft在開發Windows期間由內部程序員發現并修補漏洞。由于在很多人眼里Linux永遠處于開發狀態中,而Windows有明確的推出日期(不然沒法賺錢),因此在這一點上Windows處于非常不利的位置。
人們在比較Windows和Linux的技術漏洞時常常實際上是在對Windows和Linux內核(Kernel)作比較,這是不公平的。Windows除內核外還包括用戶界面(UI)以及大量的應用軟件,大多數Windows技術漏洞其實并不是Windows內核的漏洞。以安全漏洞而言,大多數是屬于IIS和IE的,對應于Linux系統中的Apache和Netscape或Konqueror等。較為合理的做法應當是將Windows和LinuxDistribution或者LinuxDistribution中與Windows功能平行的部分進行比較。
盡管有以上這些辯護,盡管Microsoft抱怨說人們對攻擊Windows遠比對攻擊Linux感興趣(因為更容易成名)才使得Windows頻頻亮起安全紅燈,但我認為現階段Linux在安全性能上確實要優于Windows。起碼以病毒數量和危害性而言,Windows用戶所擔當的風險就要大得多。只是Windows的安全性也不象有些文章渲染的那樣糟糕。
說到了安全性,順便提一下對于除美國以外的其他國家來說,由于Windows的技術完全被Microsoft所壟斷,因此使用Linux還具有國家安全上的優勢。這也是近期中國,法國,韓國等國政府在采購操作系統時均作出了有利于Linux的決定的原因之一。
穩定性
穩定性也是Windows常常遭批評的地方,這里必須首先要把Windows的9x系列(包括95/98/Me)和NT系列(包括NT/2000/XP)區分開來。兩者在穩定性上有數量級之別。Windows穩定性差的惡名主要是由9x系列而來,自WindowsXP開始Microsoft已經終止了這一系列的開發。其次需要分清的是應用軟件的穩定性與操作系統的穩定性。如果一個軟件的崩潰不影響操作系統和其它軟件的運行,那么這筆帳通常就不應該記在操作系統的穩定性上。如果一個軟件的崩潰造成整個操作系統的崩潰(即通常所說的“死機”),那操作系統的穩定性就要受到質疑。
至于最新的WindowsXP與Linux究竟誰更穩定,說實在目前還缺乏足夠的數據和可比性,因為兩者所運行的軟件很不相同。網上雖有一些測試結果,不過這些測試的客觀性往往是值得懷疑的,這個有時間我將另文敘述。一般說來,由于Windows上運行的軟件通常比較復雜(比如游戲,大型商業軟件等),從而有較大的幾率暴露操作系統的缺陷。從這點上講,對WindowsXP和Linux的表觀穩定性進行比較并不足以說明兩者在運行同等復雜的軟件時誰更穩定。另一方面和系統安全性的情行相似,人們說到Linux的穩定性時常常只是指內核的穩定性,而Windows的穩定性卻涵蓋包括用戶界面在內的許多別的部分。出現這樣的狀況也情有可原,因為Windows和它的用戶界面是無法分開的,用戶界面死了,對用戶來說就相當于操作系統死了,而Linux則不同,用戶界面死了常常還可以用熱鍵退出,并重新啟動用戶界面。這些差別的存在使得穩定性對Windows來說是一個更為困難的目標。軟件支持
對軟件,尤其是大型商業軟件及多媒體軟件(包括游戲)的支持一直是Windows的強項,無論是MacOS還是Linux在近期內都很難憾動Windows在這一領域的霸主地位。Windows龐大的應用軟件支持是大多數用戶即使心懷不滿,也不得不繼續使用Windows的一個重要原因。Linux所擁有的軟件雖然為數也不少,而且有些軟件(比如GIMP,StarOffice等)的開發是以Windows下相應的商業軟件為競爭對象的,但是在功能上這些軟件要真正達到可以替代Windows軟件的程度還有相當一段路要走。免費和公開源代碼軟件是Linux的靈魂,也是很多人喜愛Linux的原因,但是缺乏足夠的高質量商業軟件的支持已經成為Linux與Windows競爭桌面操作系統市場時的重大障礙。在這方面Linux面臨一個兩難局面:一個操作系統要吸引商業軟件開發者就得要有足夠多的用戶(尤其是公司用戶)。原因很簡單,有用戶才有利潤。但另一方面,一個操作系統要想吸引足夠多的用戶(尤其是公司用戶),就得要有足夠多高質量的軟件(包括商業軟件)。這是一個典型的先有雞還是先有蛋的問題。從目前的形勢發展來看,打破局面的最可能途徑是軟件公司愿意做前瞻性的開發,從而產生一個良性的推動。
這里需要做一點補充說明:對于相對小型的軟件的支持Linux并不遜色,一個完整安裝的LinuxDistribution不僅比Windows帶有品種遠為齊全的軟件,而且各常用類型的軟件,諸如email,FTP,IRC,瀏覽器等均有四五種以上可供選擇(有時反而讓初用者手足無措)。
硬件支持
五年前Linux的安裝對于新手來說還是一件望而生畏的事,這其中很大一個原因就是Linux對硬件支持的欠缺,三年前我在筆記本電腦上安裝Redhat6.0還被迫到網上自行搜尋config文件。但近幾年來Linux在這方面取得了長足的進展,今天,各主要Distribution對硬件的支持度正在迅速接近甚至超過Windows的水平。盡管硬件生產商對Windows驅動文件(driver)的提供仍比對Linux的要普遍,但高手如云的Linux群體已經做到了能幾乎同步地提供所有最新硬件驅動文件的程度。另一方面,WindowsXP在硬件支持的普遍性上卻出現了較大的倒退(Microsoft或許把這叫做更新)。此消彼長,Linux在硬件支持上的欠缺已經成為歷史。
雖然沒有明說,但上面談論的硬件都是針對x86機器的,脫離了這個框架,Linux在硬件的支持上的廣泛程度是包括Windows在內的任何其它操作系統都無法比擬的。
說到硬件支持,還有一個需要考慮的方面就是系統配置。每一代的Windows都對系統配置提出了新的要求,WindowsXP苛刻的系統配置要求更是使得幾乎所有兩三年以上機齡的機器都必須經過相當程度的硬件改良才能安裝。而Linux雖然也同樣在逐步提高對硬件配置的要求,但由于其優越的模塊結構,使得用戶有極大的自由度根據自己機器的配置調整自己所需安裝的模塊,從而突破對硬件配置的要求。
規范性
這里所說的操作系統的規范性有兩層含義,一層含義是指操作系統對軟件界的各項技術規范的遵循程度。在這方面Linux基本上遵循了所有適用的規范,這和Linux的開發模式不無關系。除內核外Linux沒有一個中心仲裁者,因此開發人員大都以軟件界已有的技術規范為準則進行系統開發。Windows在這方面的名聲則毀譽參半,一方面Microsoft本身是軟件界許多規范的制定和倡導者,但另一方面,Microsoft又常常按自己的喜好“修改”規范。由于Windows在桌面操作系統領域擁有壓倒多數的用戶群體,軟件界在相當程度上被迫適應Windows的要求,因而使得Windows的許多非規范的東西成為事實上的規范。
規范性的另一層含義是指操作系統本身的規范性,一個簡單的衡量標準就是該操作系統的兩個用戶之間有多少共同語言。由于Windows是由單一公司開發的,因此在這方面不是由松散聯系的開發者為主力的Linux可以比擬的。以用戶界面而論,Windows自Windows95以來保持了相當的穩定性,用過其中任何一個版本的用戶基本上可以不用額外學習就直接使用另一個版本的Windows界面。而Linux的用戶界面不下十種之多,最流行的也有KDE和Gnome兩種,明顯缺乏規范性。Linux在自身規范性上的欠缺還表現在各主要的Distribution使用不同的目錄結構,用不同的格式傳播軟件,用不同的方式安裝軟件,等等。凡此種種不僅給新手帶來極大的困惑,就是對有經驗的用戶甚至系統開發人員都是極大的不便。
所幸的是,Linux的不規范性已經引起了越來越多人的重視,一個如同W3C(W3C是制定互聯網規范的組織)那樣的組織TheFreeStandardsGroup已經成立,它的使命就是制定Linux和其它開放源代碼系統的規范。隨著這些規范的逐步推廣,Linux將會縮小在自身規范性方面與Windows的差距。
這里也需要補充一點:Linux在用戶界面方面的不規范性有時候也不失為一個優點。常常聽人抱怨說自己花大價錢更新機器的努力很大一部分被操作系統本身所消耗掉了,這其中一個消耗資源的大戶就是用戶界面。Linux用戶在這種情況下就可以使用消耗系統資源較少的用戶界面。
總體上講,在對外部規范的遵循性上,Linux要優于Windows,而在自身的規范性上,Windows要顯著優于Linux,而且在近期內這種優勢不會喪失。
源代碼
Windows的源代碼是保密的,而Linux的源代碼是開放的。從字面上講這當然是意味著原則上任何人都可以改進Linux。但是需要指出的是,原則上可以做的事情并非實際上就一定能夠或者應當做。Linux源代碼的高度的開放性主要是針對系統開發人員的,源代碼的開放性使得Linux系統中的缺陷能夠很快地被來自世界各地的高手所發現和彌補,這是十余年來Linux發展的關鍵。但對于普通用戶來說,修改自己賴以工作的Linux機器的源代碼卻是非常不明智的行為。Linux內核多年來經過無數高手的錘煉,一個普通用戶能夠改進它的幾率是微乎其微的(破壞它的可能性倒是很大的)。因此在肯定源代碼開放性對操作系統本身乃至整個軟件業發展的深遠意義的同時也不應該夸大它對普通用戶的直接幫助,源代碼的開放性并不增加一個普通用戶對系統的掌控程度。
Linux源代碼的開發性使得各大學的操作系統課程和教材幾乎都是以Linux或其他類似的系統為藍本,因此使得受過正規計算機專業教育的幾乎所有學生以及幾乎所有對操作系統感興趣的人都對Linux有相當程度的了解和喜愛。這對于Linux未來的發展有著十分正面的影響。
應用程序界面(API)
一個操作系統的API(ApplicationProgramInterface)是操作系統提供的與應用軟件的接口,對于軟件開發人員來說十分重要。一般認為Linux的API要比Windows優美。不過由于Windows下有諸如VisualStudio這樣的直接支持WindowsAPI的大型工具軟件,從而大大降低了Windows編程對于擁有并熟悉這些工具的人員的困難程度。
系統可調節性
Linux具有比Windows大得多的可調節性。許多早期的Windows骨灰級用戶在系統可調節性上有一種懷舊感,覺得在DOS和早期Windows時代他們曾經是機器的主人,隨著Windows的演化,后來他們只擁有Windows,不再直接擁有機器了(現在他們連Windows也不擁有了)。而Linux卻始終如一地保持著系統的高度可調節性。
Linux的源代碼的開放性也可以被視為終極意義上的可調節性,但是,前面說了,對于普通用戶來說,這種可調節性實際上是幾乎不存在的。
另一方面,在各自可調節的范圍內,Windows要比Linux易于調節(這在很大程度上得益于Windows界面的規范性)。在早期,Linux的調節往往需要用戶直接修改參數文件,即使對于有一定經驗的用戶,這也是一件令人頭疼的事。近年來Linux在這方面做了很大的改進,開發了許多工具軟件,不過和Linux下的許多其它類別的軟件類似,Linux的工具軟件也呈現一種發散性,即有不止一種軟件可以做同一件事。這使得用戶在轉換機器和LinuxDistribution時往往因為不同環境下工具軟件的不同而需要學習新的工具或重新安裝舊的工具。
使用方便性
使用的方便性是桌面操作系統競爭中最重要的決勝因素之一。這里所說的使用的方便性是針對普通用戶的,這一點常常被Linux的支持者所忽視。現階段在桌面操作系統的用戶群體中,Linux用戶的平均計算機水平要大大高于Windows用戶,這種差異使得Linux群體常常低估了一個缺乏計算機系統知識的普通用戶適應Linux的難度。“Windows是傻瓜也能用的”非但不應該被用來嘲笑Windows,反而是Linux在競爭桌面操作系統市場中必須借鑒的經驗。計算機二十年來的發展早已超越了專業的界限而成為幾乎所有現代人都可能會用到的工具。使用方便性是任何工具所應該追求的品質之一,計算機及其操作系統當然也不例外。試問這世上聰明人的比例能有多少?偏偏把聰明用在計算機上的聰明人比例又能有多少?今天Linux用戶群體的平均計算機水平高的一個不可忽視的原因是因為只有水平較高的人才能得心應手地使用Linux,而這一事實,很不幸的卻是Linux與Windows競爭時的一大弱點。
版權限制和費用
這方面沒什么可說的,法庭上的勝負不論,無論對個人還是公司用戶來說Windows利用其壟斷地位迫使用戶接受日益苛刻的版權要求已是不爭的事實,可以蓋棺定論。使用WindowsXP的用戶相信對此尤有切身體會。每張WindowsXP光盤只能安裝在一臺電腦上,不僅如此,重裝操作系統或更換一定數量的硬件都會導致Windows反盜版機制的干預,使得用戶必須向Microsoft索要新的序列號(可能還免不了要解釋一下自己何以又要給Microsoft“添麻煩”)。花錢買了的軟件竟然還要間或地向Microsoft請示匯報,用戶心中的不平衡是不言而喻的。至于價格,WindowsXPHome和Pro的價格分別為$199和$299。相比較之下Linux不僅可以免費下載,而且可以安裝在任意數目的機器上。對用戶具有的親和力是不言而喻。
可惜的是,對于個人用戶來說Linux在價格上的優勢在很大程度上被市場上大部分品牌機廠家不提供預裝Linux的機器(服務器除外)這一事實所抵銷了。由于品牌機廠家在市場上占有很大的份額,因此大部分用戶不論用不用Windows,都一樣付了Windows的錢。既然錢也付了,操作系統也有了,絕大多數人就不會再去費心做調整。順便說一下,這也是目前Linux用戶群體的計算機水平普遍較高的另一個重要原因,因為對計算機或操作系統感興趣的人有較大的可能性在并不缺乏操作系統的情況下還去安裝一個新的操作系統。
不過對公司用戶來說,由于Linux不對用戶數量設置限制,與Windows的VolumnLicence相比其費用方面的優勢是十分明顯的。
說到費用,需要提到另外一個方面就是許多在Windows下要付費的軟件在Linux下有功能相近,相同或更好的免費軟件。雖然前面說到Windows在對軟件的總體支持上優于Linux,但是Windows占優勢的那部分軟件對大多數普通個人用戶來說并不是不可缺少的(也許游戲除外)。不過Linux在這方面的優勢也在很大程度上受到一個因素的削弱:那就是許多Linux下優秀的免費軟件也有Windows版本。
技術支持
這里所說的技術支持是一個比較含糊的概念,既包括由公司提供的技術服務,也包括用戶可以自行找尋的信息。在公司提供的技術服務方面,盡管不時可以聽到有人抱怨和Microsoft技術服務人員打交道時的不愉快經歷,但這顯然是和Windows的用戶數量有關的。總體上講Microsoft對用戶(尤其是公司用戶)提供的技術服務要優于各Linux公司(當然這種服務不是免費的)。在用戶可以自行找尋的信息方面,Microsoft有一個規模龐大的KnowledgeBase,Linux則有LinuxDocumentationProject,而且Linux在互聯網上的BBS,Forum和Newsgroup等網站中常常可以看到頂尖的Linux開發者的身影,與Windows不同的是,Linux的開放性使得許多Linux高手對Linux的發展具有一種使命感,他們光顧這些網站就是為了了解用戶的反映,發現bug并為Linux的發展積累經驗。我這么說倒不是暗示Microsoft的人就不會以同樣目的光顧Windows網站,不過就我個人的體會來說這方面Linux群體對用戶起到的幫助作用要好于Windows群體的相應幫助。
需要說明的是,對公司用戶來說,這后一種幫助在公司決策層面上起不到太大的作用。有一句半開玩笑的話很通俗地概括了許多公司(尤其是大公司)在選用軟件(包括操作系統)時的態度,那就是“只選擇自己可以將之告上法庭的供應商提供的軟件”。Linux群體以及許多Linux公司無法在足夠長的服務期限內提供規范的,有法律保障的服務是Linux在競爭桌面操作系統的半壁江山-公司用戶-時的一大障礙。
結語
寫到這里應該收筆了。通常這類文章都要預測一下Windows和Linux在桌面操作系統市場上的前景。前不久,RedhatLinux公司的總裁發表令人意外的評論說Linux無法在桌面操作系統市場上擊敗Windows。當然,Linux的熱心支持者們并不認同這種看法。兩方面的意見在網上爭論得非常激烈。講到預測,插上幾句離題的話。小時候聽說有外國專家預測在中國本土不會找到很多石油,也有外國專家預測唐山在多少年內將難以重建。這些預測都破產了。那時我就想何以外國專家都如此愚蠢,以至于我們做成的每件事情都可以拉上一兩個外國專家做反襯?后來看的預測多了漸漸明白了道理:不是外國專家太愚蠢,而是有太多的“專家”了,什么可能性都讓專家“預測”到了。我不是專家,不想也不敢貿然在這里作什么預測。Linux在桌面操作系統市場的前景取決于許多因素:比如各主要商業軟件公司會在何時,以何種方式參與Linux軟件的開發?比如有多少計算機廠家會提供預裝Linux的機器?比如全球性的經濟低迷會在多大程度上加速公司和個人為節省開支而使用Linux,比如Microsoft是否會在法庭上敗訴?如果敗訴受到的懲罰方案如何?等等。除此之外,還需要看到用戶群體的行為習慣具有極大的慣性。無論Linux如何改進,仍然有很多人說Linux不方便。為什么?除了Linux本身的部分原因外還因為Windows巨大的用戶群體已經形成,Windows的一切已經成為了事實上的標準,任何對Windows的偏離都必然要改變用戶群體的習慣,這是所有Windows的競爭者不得不背負的沉重包袱。
細致而盡可能準確地分析所有這些因素不是一篇短短(盡管現在已經不太短了)的文章所能勝任的。幸好計算機技術這二十年的發展始終沒有讓人們久等過,看到這場操作系統大戰的階段性結果相信也不會對我們的耐心形成太大的挑戰。
]]>
目前流行的桌面操作系統主要包括兩大類:一類是主流商業桌面系統,包括微軟的Windows系列、Apple的Macintosh等;第二類基于自由軟件的桌面操作系統,非凡是Linux桌面操作系統。從應用的廣泛程度來講,微軟的Windows系列占有絕對的優勢,Macintosh也有一定的市場,Linux桌面操作系統的發展趨勢也非常迅猛。
分析Linux桌面的未來發展,必須看到Windows、Macintosh等領先者的技術趨勢。從Windows、Macintosh的最新發展來看,未來幾年內桌面操作系統的發展呈現這樣一些特點:
首先,隨著普適計算、移動計算的發展,個人桌面、個人應用已經不僅僅局限于PC這樣的傳統計算機設備,如何滿足新的計算模式將成為下一代桌面系統成敗的關鍵;其次,針對不同的應用人群,桌面操作系統也在分化出不同的功能,滿足不同人群的需求。譬如,針對追求娛樂、時尚的人群,各桌面操作系統紛紛通過與硬件的配合,提供更強大的3D功能和顯示加速功能,推出更酷更炫的3D桌面,提供功能更強大的多媒體播放器,支持硬件要求越來越高的3D游戲等等;針對辦公人群,提供基于內容的桌面搜索工具,提供功能更強大的信息治理、日程治理等工具;第三,桌面系統安全性越來越受到重視。非凡是通過與TPM等硬件安全技術的結合,使得桌面安全性得到進一步增強;最后,對于桌面用戶最關心的易用性方面,仍然在持續發展。今后的桌面操作系統肯定會更加易學、易用,易于治理。對于Linux桌面而言,當前的技術熱點同樣集中在3D桌面、桌面搜索、桌面安全性、界面友好性等方面;當然,對于Linux這樣的開源軟件來說,針對不同應用環境,對系統進行定制是必不可少的。
3D桌面技術
時下,Linux社區對于桌面最熱門的話題之一莫過于對XGL和AIGLX的討論和實現。XGL出自于Novell,完全基于OpenGL繪圖引擎,通過利用nvidia/ATI顯卡優良的硬件加速通道實現可用的2D/3D桌面。顯卡通過Xgl可以加強圖像的非凡效果,例如透明物體、3D效果以及縮放等功能。同時該軟件還將提高一些用戶界面的顯示速度,例如文本文件等。Xgl對硬件要求并不高,NvidiaGeforce2級別的顯示芯片就可以運行良好,但目前某些OpenGL的驅動支持還不夠十分完善。圖形芯片巨擎ATI已經表示,將協助Novell讓Linux成為一個具有活力的桌面平臺。
AIGLX是RedHat/Fedora項目下的一個增強目前X服務器顯示效能的子項目,也是利用OpenGL的繪圖引擎,但主要是在現有的X架構下進行擴展和對Mesa增加patch,動作不如Novell大。不過由于強調了將盡量依靠opensource的driver,很多人也看好這個項目。
另外,Sun的JDS3D桌面也曾經讓人耳目一新。當然,目前這些技術都還處在開發階段,還是有可能造成系統不穩定。相信在2~3年以后,3D桌面也將成為Linux桌面的主要特性之一。
桌面搜索技術
提到Linux下的桌面搜索工具,大家最輕易想到的就是Beagle。Beagle可以為Linux桌面提供基于內容的文檔、音樂、信息及相片的搜索服務。
Kat是另一項專注于對您的個人文件進行有效治理和便捷搜索的自由軟件項目。桌面安全性增強
隨著桌面Linux的不斷普及和進一步發展,安全問題必將成為擺在我們面前的現實問題之一。Windows操作系統雖然軟件豐富、易用性好,用戶規模大,但是,其安全性一直為人們所詬病,如何避免Windows的尷尬,成為Linux桌面必須解決的問題之一。
作為桌面操作系統而言,Linux桌面的安全性研究主要體現在以下幾個方面:
細力度或者基于角色的安全訪問控制;文件級或文件系統級加密功能;與TPM等硬件安全技術的結合;桌面級個人防火墻;集成電子簽名、電子印章等功能。
界面友好性
Linux桌面操作系統的發展歷史比Windows、Macintosh等都要短,并且在Linux發展初期,對界面友好性的研究也沒有成為重點,因此Linux桌面的界面友好性一直是桌面用戶排斥Linux的主要原因,而某些Linux桌面發行版本解決友好性的問題,直接模擬Windows系統的界面風格,雖然可以比較快地提高友好性,但是由于Linux體系結構與Windows根本不同,因此造成技術上的很大難度,降低了系統穩定性和性能,還有可能引起某些知識產權方面的問題。現在,對于界面友好性的研究也得到了開源組織的重視。freedesktop就是一個致力于桌面友好性以及統一桌面標準和其他技術發展的項目。系統定制解決方案對于Linux桌面而言,假如直接與Windows等進行競爭,由于用戶使用習慣和傳統的影響,在未來的幾年內都很難取得優勢。而根據用戶群體的需求細分市場,推出針對性的Linux桌面定制版本則是切實可行的推廣Linux桌面的重要途徑。Linux本身的開源性也使得這種定制變得更加方便。正是在“以需求為牽引、以解決方案為路線”的方針引導下,中標軟件與合作伙伴在系統定制解決方面進行了嘗試,并取得了可喜的進步,相繼推出了面向農村市場的“家家樂”電腦解決方案、面向酒店商務用戶的酒店PC解決方案,以及面向老齡人群的老人PC解決方案等,為國產桌面操作系統的推廣探索出了一條切實可行的發展道路。
服務器技術熱點和發展趨勢服務器操作系統主要為用戶提供穩定、可靠的各種應用服務,已廣泛應用于政務、金融、電信及科研等多個領域。目前主要的國外服務器操作系統包括SUN的Solaris、IBM的AIX、HP的HP-UX等UNIX系統,Microsoft的WindowsNT系列以及RedHat、Suse等各種版本的Linux,國產服務器操作系統則主要包括中標普華、紅旗等Linux版本以及銀河麒麟等。在整個服務器操作系統中,UNIX系列的產品幾乎占據了大部分服務器高端市場和部分服務器中低端市場,WINDOWS系列占據了較大部分服務器中低端市場,Linux由于其成本優勢在中低端市場也有良好的表現,市場份額上升幅度很大。
UNIX等服務器操作系統經歷了幾十年的發展,目前已經相當成熟,形成了包括上下游廠商、用戶在內的完整的產業鏈;而Linux作為類UNIX的操作系統,在服務器應用方面的發展也十分迅速,服務器應用也是當今Linux應用的最主要方面。從整個服務器操作系統來看,隨著網絡信息化時代的到來,高性能、高可用性、高可擴展性、安全、開放是未來服務器操作系統的主要研究內容,內核多線程、多處理器支持、分布式計算環境支持、面向對象設計等成為現代操作系統的主要特征。Linux服務器操作系統要想進一步擴展應用領域和市場份額,努力進入高端市場,一方面需要在高性能、高可用性、高安全性等方面向傳統的UNIX系統看齊,滿足高端市場用戶的需要;另一方面,還要加大對Linux應用工程環境的研究,盡快構建基于Linux系統的、包括各種軟硬件在內的、完整的應用解決方案平臺環境。因此,我們認為未來幾年Linux服務器操作系統的技術熱點將集中在Linux應用工程環境、集群技術、安全技術等方面。Linux應用工程環境
現代的服務器應用環境,非凡是高端應用環境,沒有哪一個是僅靠操作系統一個產品就可以搭建成功的,都是需要硬件設備、操作系統、數據庫、中間件、治理軟件、服務器軟件、各種行業應用軟件等緊密配合,在開發、維護過程中還需要各種開發工具、調試工具、故障分析工具的參與。
對于UNIX等傳統的服務器操作系統而言,產品相對比較成熟和穩定,從硬件到系統軟件,到應用軟件也已經形成了完整的產業鏈條;而開放和自由是Linux技術發展的特點,同時也在某種程度上造成了Linux版本的混亂、標準的不統一、產品特性的不穩定,給Linux產業鏈的形成和推廣應用帶來一定的負面作用,因此亟需建立Linux的應用工程環境,研究Linux與上下游軟硬件的適配技術,形成經過兼容性測試并認證的應用解決方案軟件平臺環境。
目前,已經有社區和商業性的組織開始著手進行這方面的工作,初步形成了象LAMP或者LJMP這樣完全基于開源軟件的應用解決方案,或者Linux+某些商業軟件的應用解決方案,并推廣應用。
中標軟件承擔的國家項目“國產基礎軟件平臺關鍵技術與集成技術的研究”也是在這方面所進行的一個嘗試。該項目希望能夠通過對適配技術和集成技術的研究,形成國產基礎軟件平臺,并在政務、教育等領域示范應用,從而推動包括國產Linux操作系統在內的國產基礎軟件的發展。
集群技術
目前,越來越多的網站采用Linux操作系統,提供郵件、Web、文件存儲、數據庫等服務。也有非常多的公司在企業內部網中利用Linux服務器提供這些服務。隨著人們對Linux服務器依靠的加深,對其可靠性、負載能力和計算能力也倍加關注。因此,Linux集群技術成為當前研究的熱點。
按照側重點的不同,可以把Linux集群分為三類。一類是高可用性集群,運行于兩個或多個節點上,目的是在系統出現某些故障的情況下,仍能繼續對外提供服務。這類集群中比較聞名的有Heartbeat、Kimberlite等。第二類是負載均衡集群,目的是提供和節點個數成正比的負載能力,這種集群很適合提供大訪問量的Web服務。LinuxVirtualServer就屬于負載均衡集群。另一類是超級計算集群,按照計算關聯程度的不同,又可以分為兩種。一種是任務片方式,另一種是并行計算方式。有了超級計算集群軟件,企業利用若干臺PC機就可以完成通常只有超級計算機才能完成的計算任務。這類軟件有SCore等。安全技術安全是永恒的敏感話題,對安全技術的研究也是永恒的熱點。隨著Linux應用的廣泛和逐步走向高端,對Linux安全技術的研究也越來越深入,Linux安全性得到進一步的增強。
Selinux是目前Linux系統安全技術方面最重要的一個項目。通過采用selinux的技術,Linux系統在訪問控制、系統審計、特權治理等方面得到加強,可以達到B級安全等級,基本可以滿足高端用戶的安全需要。
另外,Linux系統在數據加密、數字證書以及網絡安全等方面也得到加強;而且,由于Linux的開發性,基于Linux系統的安全產品也越來越多,安全技術在未來幾年仍然是Linux發展的一個重要方向。
此外,對系統治理技術、系統監視分析技術以及集成開發環境、故障分析與調試技術等也是近期Linux服務器技術研究的熱點。中標普華Office功能及技術辦公軟件領域,微軟一支獨秀,占有壟斷地位。隨著軟件正版化的不斷推廣,促進了國產辦公軟件的實力提高,已經可以逐步替代微軟的產品。中標普華Office就是其中的一個代表。
中標普華Office基于OpenOffice,采用C++語言開發,可在多種操作系統下運行,包括Window9Window2000、WindowXP和國內各主要Linux操作系統。產品不但包含了OpenOffice的基本功能,還對兼容性、易用性做了大量的改進,并專門開發特色功能滿足國內用戶需求,比如公文模塊、教育模塊、印章、簽名、手寫筆等功能;中標普華Office的特點可以總結為以下幾個方面:功能強大,方便易用中標普華Office具有豐富的圖文編輯和排版功能,快捷靈活的表格計算和數據處理能力,強大的幻燈制作和播放功能,完全能夠滿足企事業單位和個人的日常辦公需要。
可在Linux和Windows下使用,功能和操作習慣完全一樣,文檔可跨平臺讀取,這有利于用戶由Windows系統向國產Linux系統的平滑過渡。良好的MSOffice兼容性文件格式兼容:中標普華Office是目前國內同類辦公軟件中與MSOffice兼容性做得最好的產品之一,其建立的文檔可直接保存為MSOffice對應文檔格式;可以直接打開MSOffice的DOC、XLS和PPT格式文件,并且能正確讀取文檔中的各種數據信息;可對打開的DOC、XLS和PPT文件直接進行修改,并可繼續保存為原有格式。便于系統擴展采用平臺無關的UNO組件技術,保證了系統的內核精簡和擴展方便。
數據存儲符合XML規范利于信息共享中標普華Office的數據存儲格式符合XML規范,方便數據交換和互通。它不僅使得文檔占用的磁盤空間大大減少,而且使得用戶可以完全按照實際需要編寫自己的應用來直接解析中標普華Office的文檔,提取所需信息,實現信息共享。增強的安全功能中標普華Office具有數字簽名和文檔加密功能。數字簽名使用加密技術和公鑰基礎設施,保證文檔的完整性和不可否認性。在文檔加密的過程中,用戶可以選擇系統默認的算法,也可以自定義加密算法。兼容同類產品中標普華Office支持即將出臺的國家標準--中文辦公軟件文檔格式規范,提供了UOF轉換工具,可以存儲和閱讀UOF文檔,轉換工作對用戶完全透明。簡單易用中標普華Office集成了手寫筆,可以隨意輸入簡體、繁體漢字,筆劃順序不限,連筆與否不限,方便了日常辦公。另外,基于證書機制,實現了手寫簽名。
網絡協同和二次開發功能,滿足電子政務和企業信息化的需求中標普華Office采用多種標準技術:跨平臺技術、XML技術、多語言技術以及ActiveX、UNO、Javabean和Plugin等組件技術,使得產品符合潮流趨勢,同時功能完善,能適用現在國內各種需求,適用面廣,有較強的生命力。
]]>安裝Ext2fsd 并且重啟電腦。
再次運行wm5storage,將手機連接電腦,用Mke2fs格式化前面未格式化的分區
命令是Mke2fs.exe -b 4096 xx是對應的盤符)
格式完成后,重啟你的手機,并且再一次運行wm5storage,將手機連接電腦
下載
http://linuxtogo.org/%7Elaw/htct ... nado-20070502071325
重命名為zImage
http://linuxtogo.org/%7Elaw/htct ... 0070802/default.txt
http://rapidshare.com/files/57929506/haret-20070816b.exe
重命名為haret.exe
將這三個文件zImage,default.txt,haret.exe拷貝到那個格式為FAT的分區
下載
http://linuxtogo.org/~florian/gp ... nado.rootfs.tar.bz2
使用解壓縮工具(WinRAR)解壓縮到格式為ext2的分區
解壓縮期間的錯誤全部忽略,提示覆蓋時選擇 是
完成后,斷開連接,重啟手機
然后運行haret.exe,按確定就進入Linux了
進入Linux后,只要重啟就會進入Windows,再次運行haret.exe又可進入Linux
以下內容含腳本,或可能導致頁面不正常的代碼 |
---|
說明:上面顯示的是代碼內容。您可以先檢查過代碼沒問題,或修改之后再運行. |