,,http://www.bjzhda.cnzh-cn曙海教育集團論壇http://www.bjzhda.cnRss Generator By Dvbbs.Netofficeoffice@126.comimages/logo.gif曙海教育集團論壇Sun將Ray技術到Linux環境 展示整條Linux產品線http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1359&Page=1wangxinxin2010-11-15 14:19:11 

200483日,在舊金山舉辦的LinuxWorld大會及展示會上,Sun Microsystems公司宣布了將其獲獎的Sun Ray瘦客戶機技術擴展到Linux平臺的計劃,并揭示了編碼名稱為Project Janus的新技術,實現SolarisLinux的互操作性。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版軟件進行了預展,顯示了SunLinux不斷增長的支持力度。

    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系列專欄http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1358&Page=1wangxinxin2010-11-15 14:14:31現在,新聞媒體對HP Linux的各種報道層出不窮,主題更多關注:越來越多的用戶從HP Linux方案上輕松獲得了Linux真實體驗,越來越多的用戶采用HP Linux硬件和管理平臺運行他們的關鍵業務系統。

成功案例連續報道--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動能服務器上。

]]>
嵌入式實時Linux的技術http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1357&Page=1wangxinxin2010-11-15 14:10:46PC硬件使用的增加是近年來高端嵌入式系統的一個最重要的發展。由于這個趨勢,嵌入式系統的硬件成本大大地下降了,然而應用于嵌入式PC平臺的軟件系統卻沒有太多的選擇。
目前嵌入式操作系統主要有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)進程搶先調度

在許多控制系統中,實時控制軟件是非常簡單的,可以直接寫入中斷處理程序中與一個特定的中斷聯系起來。還有一些就不那么簡單了,必須開啟專門的用戶進程為它服務。

這時當這個高優先級的進程提交時,如有其它進程正在運行,它就必須打斷正在運行的進程。若正在運行的進程運行在用戶態,系統一般允許它被打斷且執行其它優先權高的進程,若正在運行的進程運行在系統態,則此時是否允許被打斷決定了系統是搶先式的還是非搶先式的。

Linux就是一個非搶先式的操作系統,在用戶執行系統調用時,不允許其它進程的調度,這樣就影響了系統的響應度。一個真正的搶先式的操作系統允許正在系統狀態下的當前進程被打斷,然后進程切換回來時還能繼續從剛才的執行點繼續下去。但某些關鍵部分的代碼段。系統必須保證其原子性,并防止重入。通常有如下幾種方法:
在關鍵代碼斷前關閉中斷,等其執行完畢之后再將中斷打開; 設計一個信號量.在關鍵代碼段之前加鎖,在其后解鎖;
在系統代碼中保證安全的地方加入切換進程的代碼switch(),防止該進程長久占用CPU,允許調度其它進程; 在關鍵代碼段加入一個switchaccept標志,開始該代碼段時。將此標志置為否.離開時再置回原來的值.這樣在執行該段代碼時,即使進程調度器被激活,它也會先檢查此標志。若為否,則返回,并不進行進程切換。

(3)進程調度策略

第三個影響系統響應速度的關鍵部分就是進程調度的策略。對于一個實時性能強的操作系統來說,系統必須規定不同進程的優先級,并把優先級作為唯一的進程選擇的標準。Linux的后期版本參照Posixl.b標準,在某些方面已經具備了一些實時操作系統的特性。Linux有兩種類型的進程:一般進程和實時進程,它可以通過sched_setscheduler系統調用設置實時進程。實時進程比所有一般進程的優先級高,Linux設置實對進程的權重為它的counter值加1000;設置一般進程的權重為counter。因此,實時進程總會被認為是最值得運行的進程。

然而,Linux核心的設計主要集中在應用程序的吞吐量上。追求吞吐量的必然結果,就是Linux調度器運用一種"公平共享"的策略保證所有的進程得到平均的CPU資源。而且,Linux的進程調度器只是簡單地將標有實時標志的進程的權重加1000,至于實時進程間的輕重緩急還沒有周密的完整的設計。因此,Linux的進程調度器還遠不能稱作是一個真正的實時進程凋度器。
4 擬采用的策略

根據以上分析的特點,我們決定主要從以下4個方面來修改Linux的核心代碼。

(1)在內核中插入搶先點 由于Linux是一個非搶先式的操作系統。因此當一個實時進程提交時,很可能因為當前的進程正處于核心態不能被打斷而不能得到及時的處理。因此有必要在Linux內核中插入搶先點,使實時進程得到處理。根據上一節分析的特點,太體有4種方法可供選擇。權衡這4種方法的利弊,我們決定采用第4種方法,即在關鍵代碼段加入一個switchaccept標志,開始該代碼段時,將此標志置為否.離開時再置回原來的值。這種方法比采甩semaphore的好處是,如果采用許多種semaphore的話.要考慮是否會產生死鎖的問題。比采用鎖中斷的好處是.將中斷鎖住將丟失中斷,而這樣不會。而以固定的周期加switch語句顯然有失靈活性。這樣.采用這種方法,需要我們分析Linux所有系統調用的代碼,畫出其結構流程圖。分析出哪些部分是關鍵部分,也即不允許置入的部分。在關鍵代碼前后更改switchaccept標志。這項工作比較艱巨。同時修改進程調度器,使其判斷switchaccept標志來決定是否執行進程切換。
(2)修改進程調度器Linux的進程調度器雖然已經具有一定的實時性能,但還遠遠達不到真正實時調度器的標準,因此需要修改其進程調度器,必要的話可讓Linux運行在兩種模式下,實時模式和分時模式。可設計一些相關的系統調用,并在實時進程提交時,將系統轉化為實時模式,當實時進程結束時,再轉化為分時模式。
(3)Linux的中斷管理根據前面分析過的,Linux的中斷管理及時地將緊要的任務完成后,將其余不重要的緩慢的任務放置在任務隊列中,等到系統空閑(cpu idle())或系統調用等返回時再完成這些任務,這樣就提高了系統的響應速度,同時,Linux還支持中斷嵌套。因此,不再對其作太大改動。
(4)鎖定內存 在本項目的規劃中本打算實現Linux鎖內存的功能,使優先權高的進程在內存中的數據不被換出,從而提高實時進程的運行速度。然而,在分析了Linux代碼后,發現后來版本的Linux已通過系統調用sys mlock實現了此項功能]]>
嵌入式實時Linux的技術研究http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1356&Page=1wangxinxin2010-11-15 13:46:29嵌入式系統的一個最重要的發展。由于這個趨勢,嵌入式系統的硬件成本大大地下降了,然而應用于嵌入式PC平臺的軟件系統卻沒有太多的選擇。

  目前嵌入式操作系統主要有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的中斷管理部分具有高效的特點,已經可以滿足許多軟實時任務的要求

]]>
Linux NTP客戶端的使用http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1355&Page=1wangxinxin2010-11-15 13:24:02ntpdate 192.168.0.1 #192.168.0.1是NTP服務器的IP
不要忘了使用hwclock命令,把時間寫入bios
hwclock -w
如果想定時進行時間校準,可以使用crond服務來定時執行。
編輯 /etc/crontab 文件
加入下面一行:
30 8 * * * root /usr/sbin/ntpdate 192.168.0.1; /sbin/hwclock -w #192.168.0.1是NTP服務器的IP地址
然后重啟crond服務
service crond restart
這樣,每天 8:30 Linux 系統就會自動的進行網絡時間校準。

2. 桌面環境下配置方法

可以使用圖形化的時鐘設置工具,如RHEL 4.0中的日期與時間設置工具,也可以在虛擬終端中鍵“redhat-config-time”命令,或者選擇“K選單/系統設置/日期與時間”來啟動日期時間設置工具。使用該工具不必考慮系統時間和硬件時間,只需從該對話框中設置日期時間,可同時設置、修改系統時鐘和硬件時鐘。如圖3 。
圖片點擊可在新窗口打開查看
圖3 使用圖形化的時鐘設置工具

四.Windows XP、2003、2000系統使用NTP進行時間校準:

利用操作系統提供的校時服務(Windows XP、Windows 2003適用):

1、 雙擊任務欄右下角“時間”,打開 [ 時間和日期 屬性 ] 設置對話框,如圖4。

圖片點擊可在新窗口打開查看
圖4打開 [ 時間和日期 屬性 ] 設置對話框


2、 選擇 [ Internet時間 ] 標簽, 選中 [ 自動與Internet時間服務器同步 ] 選項,在 [ 服務器 ] 中填入時間服務器的ip地址或者域名。點擊 [ 應用 ] 并按 [ 立即更新 ] 可直接同步。如圖5 。
圖片點擊可在新窗口打開查看
圖5 進行時間同步

利用操作系統提供的校時服務(Windows 2000適用):

1、 在 [ 控制面板 ] 中打開 [ 管理工具 ],再打開 [ 服務 ] ,在服務中找到 [ Windows Time ]

2、 雙擊服務名稱,在打開的“Windows Time的屬性”中設置“啟動類型”為“自動”,再按下啟動按鈕。如圖6 。
圖片點擊可在新窗口打開查看
圖6 選擇Windows Time的屬性為自動啟動

3、 然后切換到命令行下在DOS命令行下讓Windows使用時間服務器:

net time /setsntp:xxx.xxx.xxx.xxx (時間服務器域名或者ip地址)
要想立刻與時間服務器同步需要重啟時間服務,相應的命令是:
net stop w32time
net start w32time
圖片點擊可在新窗口打開查看
圖7 通過命令行實現時間同步

以后你的機器就會有一個準確的時間。說明:W32tm.exe 是用來同步本地計算機與遠程計算機或域的時間的類似命令。由于其靈活性,W32tm.exe 是時間同步的首選方法。默認情況下Windows 2000的時間服務w32time是關閉的。Windows 包含 W32Time,它是 Kerberos 身份驗證協議所需的時間服務工具。Windows 時間服務的目的是確保組織中運行 Microsoft Windows 2000 或更高版本的所有計算機都使用同一個時間。

五、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實現時間同步

]]>
Slackware Linux技術內幕之--包管理機制http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1354&Page=1wangxinxin2010-11-15 13:20:37

  我們的軟件包創建到此成功結束。

  第三部分 其他

一、漢化pkgtool(包括installpkg、removepkg等)工具

  如何使用一個完全中文的pkgtool?很簡單!你只要將那些工具里的非命令翻譯成中文就行了。如果你的系統已經設置好了中文環境,那么現在就可用在虛擬終端下運行那些你翻譯過的工具了,怎么樣,中文出來了吧?!如果你的系統還沒有中文環境,那么請到網上搜索一下,漢化Slackware的文章滿天都是。

  注意:現在你只能在虛擬終端下看到中文,在實際的控制臺下還是一片亂碼。要能在實際的控制臺下也可使用中文的pkgtool,你又必須漢化終端,或者裝上某些軟件(例如cce、zhocn等)來使之支持中文。我們一般采用后者.而對于安裝盤上的漢化,難度稍大。所以漢化,其實很不徹底,似乎也不叫漢化了。

二、Slackware標準包管理機制的移植

  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...了。

  提示:

  

  1. /var/log/下的那些目錄(比如packages)可以不建立,在運行以上工具時,會自動建立!
  2. 必須將tar-1.13復制過去,否則運行以上工具會出現警告信息,原因前文已述。
  3. dialog 用于生成文本圖形界面,也需要復制。

  2.移植到BSD:

  當然!我們也可以將之移植到BSD上,但這樣似乎完全沒有必要,畢竟BSD的包管理已經十分強大了。作為測試,我簡單說明一下。

  具體操作同上,但有些問題需要注意!

  注意點:

  1. 一些程序運行時可能會出現庫文件找不到的問題,我們可以結合ldd,ldconfig等工具將Linux下的相應庫文件復制到BSD下。如果僅僅是版本的問題,那么可以簡單的做個符號鏈接。
  2. 有些Linux軟件,要依賴于/proc文件系統才能運行,我們可以在BSD下運行ln -s /proc /usr/compat/linux/proc.
  3. 涉及到運行平臺問題,請安裝linux_base進行Linux 模擬。

三、附錄

  1.參考資料:

  1. man 8 installpkg|removepkg|explodepkg|upgradepkg|pkgtool
  2. installpkg|removepkg|explodepkg|upgradepkg|pkgtool的源代碼
  3. man 8 swaret
  4. man 8 swaret.conf
  5. checkinstall FAQ

  2.更新日記

  1. 2004-07-04 Freebird發布版本v1.0
  2. 2004-07-04 hupeng923關于包制作中符號鏈接及臨時目錄的問題。v1.0.1
]]>
嵌入式Linux技術在工業控制網絡中的應用http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1353&Page=1wangxinxin2010-11-15 13:18:08這就要求工控系統必須具備兩方面的功能:

一是要在現場完成復雜的測控任務,因為通常一些任務都具有一定的實時性要求;

二是要求測控系統能夠與某一類型的控制網相連,以實現遠程監控。在目前應用的大多數測控系統中,嵌入式系統的硬件采用的是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內核和虛擬內存機制進行改造,即可保證測控任務完成的實時性和可靠性。可以預見,這種方案在工業控制領域具有很好的應用前景,而且具有開發周期短、系統性能穩定可靠、適應性強等特點。

]]>
Linux下的主要VPN技術http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1352&Page=1wangxinxin2010-11-15 13:14:35  1、 IPSec(Internet Protocol Security)

  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.

  圖片點擊可在新窗口打開查看root@192.168.0.3's

  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已經清除。

]]>
淺談如何學習linuxhttp://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1350&Page=1wangxinxin2010-11-15 11:30:41你應該為自己創造一個學習linux的環境--在電腦上裝一個linux或unix
"\1d
z3P&s%BW;ij2ee,免費,教程,培訓,學習,資料,視頻,課件,下載問題1:版本的選擇 j2ee,免費,教程,培訓,學習,資料,視頻,課件,下載Wm9nk6uw$HD
2k
R~E1DK`j2ee,免費,教程,培訓,學習,資料,視頻,課件,下載北美用redhat,歐洲用SuSE,桌面mandrake較多,而debian是技術最先進的linux開發人員中用debian的最多,其次是redhat,從全球linux各應用計算機|外語|培訓|資料|視頻|課件|下載W[0F6HG-CB
        r0n{)lBGE美河學習在線(主站)
eimhe.com領域市場份額來看無疑redhat是最多的,此外還有很多出名的發行版本,不再列舉。
'X
O~v3I
@bj2ee,免費,教程,培訓,學習,資料,視頻,課件,下載對于初學linux的人來說,我建議是使用redhat,原因如下:
@pm}%n5Jp8d        
b(l.{9R計算機|外語|培訓|資料|視頻|課件|下載1)現在很多書都是以redhat為例講的,為了與書本協調一致 "t4e2{:X.F.g
2)周圍的人都用redhat,交流比較方便
Z%}lU,l)u&r3)redhat應用范圍廣,有典型性和代表性
9c hId5P;PG
F計算機|外語|培訓|資料|視頻|課件|下載4)它易于使用和安裝,我們沒有必要把時間浪費在“裝系統”上而應集中精力學習最有用的東西。 eimhe.come2fkn3N,bX
/qZmFgm]5q'@Y:}4W
//注:現在覺得RH很死板,AS,ES等用在服務器上或許不錯,Personal
desktop用mandrake,debian,suse都不錯,筆者現在用Mandrake,因為她長得漂亮 .
kL@Mx
J1L
Y
AZT.I如果你并不打算深入學習linux,而是有諸如適應北京市政府辦公平臺遷移到linux上這種需要,那么中軟,紅旗等中文linux是不錯的選擇
:K8ci l,Y
Qh6bnj2ee,免費,教程,培訓,學習,資料,視頻,課件,下載Y-K
}&F[#P
我強烈建議:自己親自動手把linux裝到你的硬盤上,你必須學會獨立安裝linux系統的技能,對于現在的版本來說,其實跟裝WinXP一樣簡單
7KLMu-Y x]5Z        
n.K)k'QZ;Y'v
從此現在開始,請不要以windows的工作方式來考慮問題,應該嘗試挖掘linux身上的“天才unix”的氣質。
美河學習在線(主站) eimhe.com
c
A
UQ-?z5KE
;O`;J:oht|
二.進階
`s6?.?&v
o'Cj2ee,免費,教程,培訓,學習,資料,視頻,課件,下載掌握至少50個以上的常用命令
8]nq n
|Jk*}'cG1ph#[eimhe.com理解shell管道"|",文件流重定向">"及追加">>"等
D+{#T8UB3q},[0r熟悉Gnome/KDE等X-windows桌面環境操作
!^CjN:N計算機|外語|培訓|資料|視頻|課件|下載掌握.tgz.rpm.biz等軟件包的常用安裝方法
6s8G?        K_美河學習在線(主站)
eimhe.com學習添加外設,安裝設備驅動程序(比如modem) eimhe.com7FZt
nl)G:M
熟悉Grub/Lilo引導器及簡單的修復操作
pD'g/W:L6}&VE
[熟悉系統固有目錄的名稱及公用學會用mount命令訪問其他文件系統了解vi,gcc,gdb等常用編輯器,編譯器,調試器學習linux環境下的簡單組網
美河學習在線(主站)
eimhe.com3?L,okT2q;s
la@(kq1d)i美河學習在線(主站)
eimhe.com建議:買一本不需要太厚的linux教材,大致可以滿足要求//現在的書越來越多了,還帶很多圖,我當時可沒這么多書:)
5j]C.H&Oy|-c)[j2ee,免費,教程,培訓,學習,資料,視頻,課件,下載{wlP%j
三.高級應用
F/csHG9^2mk3e美河學習在線(主站)
eimhe.com澄清一些概念: R8iXO+x#m.KV
linux的普通操作與真正的系統管理不能相提并論,后者需要很多知識
2@5mWfHZ3eH(u
"\m0Gqc
_美河學習在線(主站)
eimhe.com我個人認為比較重要幾種linux語言
Ubyp/Regb1.英語 美河學習在線(主站)
eimhe.com#G"u}|-nr8e
即使你不學linux,我也強烈建議你學好英文[U.S.english]因為實質上計算機語言就是英文和字符,所謂的多國語言只是外部包裝你必須能無障礙的閱讀大量的英文技術文檔在搜索引擎找到的英文網站和網頁中熟練的檢索最好能有用英文直接交流的能力,擺脫了這個障礙,你的學習和理解速度就能快很多,你就有機會拉開和別人的差距
?0Y}3@l
2.shell[sed/awk]
K4f B$H:H:do~        ]-U
Cshell是命令解釋器,是內核與用戶界面交流通道,shell寫的小腳本有點類似于win下的.bat但shell比.bat強大的多,shell不只是解釋命令,
T{Pe/T7F*y]eimhe.comeimhe.comt
d}6Gl/\!F$lq.k7h
更是一種編程語言,有時候幾百行的c用shell幾十行就能代替完成工作,因為shell的工作方式建立在系統已有的眾多應用程序之上這也是CS中的一個重要思想。
0U+]Wx;Y6xYv美河學習在線(主站)
eimhe.com此外,shell可以實現工作自動化,這個概念也比較重要sed,awk用來處理文本,歷來很常用
        OR5jB&@
l4?(g計算機|外語|培訓|資料|視頻|課件|下載
ik,LF+J計算機|外語|培訓|資料|視頻|課件|下載3.Perl/PHP
yb`P%U Beimhe.com漂亮的腳本, CGI的首選,比ASP好,應用面很廣
j2ee,免費,教程,培訓,學習,資料,視頻,課件,下載4p6J.fTB;L
j2ee,免費,教程,培訓,學習,資料,視頻,課件,下載G
t'T;i$_)@0g5pY
4.C\C++ 計算機|外語|培訓|資料|視頻|課件|下載/lb
@Hn~
C、C++是linux/unix的核心語言,系統代碼都是C寫的
eimhe.comD%T-mix'V0c_E$u
9Q]n'j&A;l計算機|外語|培訓|資料|視頻|課件|下載5.ASM 8f        c3t
TE2R)H,R0E'n
系統底層及內核,硬件,設備驅動程序,嵌入式開發都需要//走核心路線的話,才c\c++,asm最重要 eimhe.comME8d%E`s g
美河學習在線(主站) eimhe.com:^:qYQ`"i:H"e      
  t[O
6.Java,Python,Tcl,XML
W"S+viy美河學習在線(主站)
eimhe.com4H%VY4FR.ZN
*系統管理篇 j2ee,免費,教程,培訓,學習,資料,視頻,課件,下載9@c,f,zLX
在熟悉linux的基礎上還需要掌握至少一種unix我首推Solaris,其次是FreeBSD比如運營級系統一般是Solaris+Oracle/DB2之類的學習apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind等各種應用服務器的構架及電子商務的應用
b _(z7q$`&`t        
m2G'M2c
熟悉TCP/IP協議族,學習諸如apache+php+proftp+mysql+quota的實現以及大型局域網,分布式集群等各種企業級應用解決方案熟悉多用戶管理,數據庫管理,文件系統,邏輯存儲管理,日志分析,備份與災難數據修復系統補丁,內核升級,以及在此基礎上的防火墻構架等以保障系統安全在內的各種系統管理技能我覺得,如果在此基礎上再掌握路由/交換設備便是一個不錯的系統管理員 美河學習在線(主站) eimhe.coml D)N6f
R
}4V
l$o#B5rW各種基于linux的解決方案可參考相關書籍和文獻,必要時用google或各大linux站點站內搜索引擎尋找最新文檔,以避免錯誤和漏洞有幾本技術大全和技術內幕我認為都是這方面不錯的書
R:YIM!rm計算機|外語|培訓|資料|視頻|課件|下載
G0SK6vD        D深入學習linux
x6@!gM5@Pe$Z Neimhe.comq
I"C2RIh,d
我個人理解的讀linux內核需要的基礎:在此之前,希望先把應用層的東西學一下,那樣會比較好理解
6zW%Fq/O0L;r&j3\
1.C
M*|/`%H*S
d;k
P:Gmj2ee,免費,教程,培訓,學習,資料,視頻,課件,下載如果學過潭浩強的大學教科書(除了編幾個數學模型好像什么也做不了的那種),
建議再看一下 美河學習在線(主站)
eimhe.com;@5f@0{J$D9Hq
《The C Programming Language》Second
Edition這本圣經/*如果想學緩沖區溢出,這點C的功力可能是不夠的*/還有,,,反正經典書看多了是沒有壞處的
j2ee,免費,教程,培訓,學習,資料,視頻,課件,下載!j:kL/W*e4H%J$u*A;Z
hl%J~ f6A2Z.X美河學習在線(主站) eimhe.com2.asm
(AT&T語法,保護模式) j2ee,免費,教程,培訓,學習,資料,視頻,課件,下載l7sgFP;Q`
保護模式下的比較復雜,基本上每本講內核的書都會有介紹有80x86
Intel語法的基礎就行,有興趣可以看看Intel的官方白皮書 美河學習在線(主站)
eimhe.com4b
o+Cz$W4`fJu
zv
1z(O)W$U        
kC\e.D計算機|外語|培訓|資料|視頻|課件|下載3.數據結構(離散數學) eimhe.comkD4Z w#M(E
L
計算機專業的核心課程,重要性我就不說了 計算機|外語|培訓|資料|視頻|課件|下載4S.b.X"`Yy{'y
計算機|外語|培訓|資料|視頻|課件|下載
z8y:razR5?D
4.操作系統原理 美河學習在線(主站)
eimhe.comf|zn0M.A,df
看懂這個再去讀linux吧 eimhe.comw"R#y(c^        
mC5^iT
["u&v'sC-a
~6d'Xj2ee,免費,教程,培訓,學習,資料,視頻,課件,下載5.微機原理/組成原理(數字電路) 計算機|外語|培訓|資料|視頻|課件|下載M7BV#I5R
底層直接和硬件打交道,所以這個也要
#V3z/A$?;cC
a4UU,C-l7vc
6.了解linux/unix
J2O%R Pj
lX+Q(]美河學習在線(主站)
eimhe.com我想至少你要會操作吧,了解unix的API eimhe.comu(pf T.c3nTf
IA
prh0Ko&NV
7.軟件工程/編譯原理 計算機|外語|培訓|資料|視頻|課件|下載l)C3i1CiF.I,_
計算機|外語|培訓|資料|視頻|課件|下載*f(T,x1?U|/f
這方面的經典書去
www.china-pub.com
可以搜到很多我覺得APUE這種書不適合初學者,還是先看看UPE之類的吧
1BPuxHmx!a
NO(@by"}%[美河學習在線(主站) eimhe.comAPUE: eimhe.com!@6~w4Zt.w)P6Z7mF
《advanced programming in the unix environment》
Aa
V!zAFh
《unix環境高級編程》
}#s k]
D1p{計算機|外語|培訓|資料|視頻|課件|下載作者:W.Richard.Stevens共有6本經典書,尊為“圣經”他的書為全世界黑客所拜讀!
i0nw,[+Ej2ee,免費,教程,培訓,學習,資料,視頻,課件,下載美河學習在線(主站)
eimhe.comvD8K8qM*x'\c
UPE:《unix programming environment》
N2bH        
ul*sl《unix編程環境》比較適合初學者的,深入淺出,其中有一些比較重要的思想
;uf2y?\
U|AEj2ee,免費,教程,培訓,學習,資料,視頻,課件,下載另外,介紹linux下應用層編程的書也有很多,比如
7U
[ vt4g,z*S美河學習在線(主站)
eimhe.com,redhat,redflag出的書...........
經典書還有很多很多...... 操作系統:設計與實現 //交大的考研參考書目,講Minix的unix操作系統設計
4j4c,J?/}        
nj2ee,免費,教程,培訓,學習,資料,視頻,課件,下載4.4BSD操作系統設計與實現 美河學習在線(主站)
eimhe.comP+DVV2o-N^
cIW
昂萊氏unix源代碼分析
X.K#Oc6CpSR,QAq"]美河學習在線(主站)
eimhe.comulk:understanding the linux kernel (2nd)深入理解linux內核 j2ee,免費,教程,培訓,學習,資料,視頻,課件,下載,J
e$Tn!_O4sHM
linux設備驅動程序
(2nd) j2ee,免費,教程,培訓,學習,資料,視頻,課件,下載{,Q8ua6c1{z.W
linux內核源代碼情景分析
EX5s
Q"U!V/@0C7X保護方式下的80386及其編程
]]>
Linux常用的60個命令[http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1349&Page=1wangxinxin2010-11-15 11:24:36五、網絡安全
雖然Linux和Windows NT/2000系統一樣是一個多用戶的系統,但是它們之間有不少重要的差別。對于很多習慣了Windows系統的管理員來講,如何保證Linux操作系統安全、可靠將會面臨許多新的挑戰。本文將重點介紹Linux系統安全的命令。
passwd
1.作用
passwd命令原來修改賬戶的登陸密碼,使用權限是所有用戶。
2.格式
passwd [選項] 賬戶名稱
3.主要參數
-l:鎖定已經命名的賬戶名稱,只有具備超級用戶權限的使用者方可使用。
-u:解開賬戶鎖定狀態,只有具備超級用戶權限的使用者方可使用。
-x, --maximum=DAYS:最大密碼使用時間(天),只有具備超級用戶權限的使用者方可使用。
-n, --minimum=DAYS:最小密碼使用時間(天),只有具備超級用戶權限的使用者方可使用。
-d:刪除使用者的密碼, 只有具備超級用戶權限的使用者方可使用。
-S:檢查指定使用者的密碼認證種類, 只有具備超級用戶權限的使用者方可使用。
4.應用實例
$ passwd
Changing password for user cao.
Changing password for cao
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

從上面可以看到,使用passwd命令需要輸入舊的密碼,然后再輸入兩次新密碼。
su
1.作用
su的作用是變更為其它使用者的身份,超級用戶除外,需要鍵入該使用者的密碼。
2.格式
su [選項]... [-] [USER [ARG]...]
3.主要參數
-f , --fast:不必讀啟動文件(如 csh.cshrc 等),僅用于csh或tcsh兩種Shell。
-l , --login:加了這個參數之后,就好像是重新登陸為該使用者一樣,大部分環境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,并且工作目錄也會改變。如果沒有指定USER,缺省情況是root。
-m, -p ,--preserve-environment:執行su時不改變環境變數。
-c command:變更賬號為USER的使用者,并執行指令(command)后再變回原來使用者。
USER:欲變更的使用者賬號,ARG傳入新的Shell參數。
4.應用實例
變更賬號為超級用戶,并在執行df命令后還原使用者。 su -c df root
umask
1.作用
umask設置用戶文件和目錄的文件創建缺省屏蔽值,若將此命令放入profile文件,就可控制該用戶后續所建文件的存取許可。它告訴系統在創建文件時不給誰存取許可。使用權限是所有用戶。
2.格式
umask [-p] [-S] [mode]
3.參數
-S:確定當前的umask設置。
-p:修改umask 設置。
[mode]:修改數值。
4.說明
傳統Unix的umask值是022,這樣就可以防止同屬于該組的其它用戶及別的組的用戶修改該用戶的文件。既然每個用戶都擁有并屬于一個自己的私有組,那么這種“組保護模式”就不在需要了。嚴密的權限設定構成了Linux安全的基礎,在權限上犯錯誤是致命的。需要注意的是,umask命令用來設置進程所創建的文件的讀寫權限,最保險的值是0077,即關閉創建文件的進程以外的所有進程的讀寫權限,表示為-rw-------。在~/.bash_profile中,加上一行命令umask 0077可以保證每次啟動Shell后, 進程的umask權限都可以被正確設定。
5.應用實例
umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=

上述5行命令,首先顯示當前狀態,然后把umask值改為177,結果只有文件所有者具有讀寫文件的權限,其它用戶不能訪問該文件。這顯然是一種非常安全的設置。
chgrp
1.作用
chgrp表示修改一個或多個文件或目錄所屬的組。使用權限是超級用戶。
2.格式
chgrp [選項]... 組 文件...

chgrp [選項]... --reference=參考文件 文件...
將每個文件>的所屬組設定為組>。
3.參數
-c, --changes :像 --verbose,但只在有更改時才顯示結果。
--dereference:會影響符號鏈接所指示的對象,而非符號鏈接本身。
-h, --no-dereference:會影響符號鏈接本身,而非符號鏈接所指示的目的地(當系統支持更改符號鏈接的所有者,此選項才有效)。
-f, --silent, --quiet:去除大部分的錯誤信息。
--reference=參考文件:使用參考文件>的所屬組,而非指定的組>。
-R, --recursive:遞歸處理所有的文件及子目錄。
-v, --verbose:處理任何文件都會顯示信息。
4.應用說明
該命令改變指定指定文件所屬的用戶組。其中group可以是用戶組ID,也可以是/etc/group文件中用戶組的組名。文件名是以空格分開的要改變屬組的文件列表,支持通配符。如果用戶不是該文件的屬主或超級用戶,則不能改變該文件的組。
5.應用實例
改變/opt/local /book/及其子目錄下的所有文件的屬組為book,命令如下:
$ chgrp - R book /opt/local /book
chmod
1.作用
chmod命令是非常重要的,用于改變文件或目錄的訪問權限,用戶可以用它控制文件或目錄的訪問權限,使用權限是超級用戶。
2.格式
chmod命令有兩種用法。一種是包含字母和操作符表達式的字符設定法(相對權限設定);另一種是包含數字的數字設定法(絕對權限設定)。
(1)字符設定法
chmod [who] [+ | - | =] [mode] 文件名
◆操作對象who可以是下述字母中的任一個或它們的組合
u:表示用戶,即文件或目錄的所有者。
g:表示同組用戶,即與文件屬主有相同組ID的所有用戶。
o:表示其它用戶。
a:表示所有用戶,它是系統默認值。
◆操作符號
+:添加某個權限。
-:取消某個權限。
=:賦予給定權限,并取消其它所有權限(如果有的話)。
◆設置mode的權限可用下述字母的任意組合
r:可讀。
w:可寫。
x:可執行。
X:只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x屬性。
s:文件執行時把進程的屬主或組ID置為該文件的文件屬主。方式“u+s”設置文件的用戶ID位,“g+s”設置組ID位。
t:保存程序的文本到交換設備上。
u:與文件屬主擁有一樣的權限。
g:與和文件屬主同組的用戶擁有一樣的權限。
o:與其它用戶擁有一樣的權限。
文件名:以空格分開的要改變權限的文件列表,支持通配符。
一個命令行中可以給出多個權限方式,其間用逗號隔開。
(2) 數字設定法
數字設定法的一般形式為: chmod [mode] 文件名
數字屬性的格式應為3個0到7的八進制數,其順序是(u)(g)(o)文件名,以空格分開的要改變權限的文件列表,支持通配符。
數字表示的權限的含義如下:0001為所有者的執行權限;0002為所有者的寫權限;0004為所有者的讀權限;0010為組的執行權限;0020為組的寫權限;0040為組的讀權限;0100為其他人的執行權限;0200為其他人的寫權限;0400為其他人的讀權限;1000為粘貼位置位;2000表示假如這個文件是可執行文件,則為組ID為位置位,否則其中文件鎖定位置位;4000表示假如這個文件是可執行文件,則為用戶ID為位置位。
3.實例
如果一個系統管理員寫了一個表格(tem)讓所有用戶填寫,那么必須授權用戶對這個文件有讀寫權限,可以使用命令:#chmod 666 tem
上面代碼中,這個666數字是如何計算出來的呢?0002為所有者的寫權限,0004為所有者的讀權限,0020為組的寫權限,0040為組的讀權限, 0200為其他人的寫權限,0400為其他人的讀權限,這6個數字相加就是666(注以上數字都是八進制數),結果見圖1所示。
圖1 用chmod數字方法設定文件權限
從圖1可以看出,tem文件的權限是-rw-rw-rw-,即用戶對這個文件有讀寫權限。
如果用字符權限設定使用下面命令:
#chmod a =wx tem
chown
1.作用
更改一個或多個文件或目錄的屬主和屬組。使用權限是超級用戶。
2.格式
chown [選項] 用戶或組 文件
3.主要參數
--dereference:受影響的是符號鏈接所指示的對象,而非符號鏈接本身。
-h, --no-dereference:會影響符號鏈接本身,而非符號鏈接所指示的目的地(當系統支持更改符號鏈接的所有者,此選項才有效)。
--from=目前所有者:目前組只當每個文件的所有者和組符合選項所指定的,才會更改所有者和組。其中一個可以省略,這已省略的屬性就不需要符合原有的屬性。
-f, --silent, --quiet:去除大部分的錯誤信息。
-R, --recursive:遞歸處理所有的文件及子目錄。
-v, --verbose:處理任何文件都會顯示信息。
4.說明
chown 將指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或用戶ID;組可以是組名或組ID;文件是以空格分開的要改變權限的文件列表,支持通配符。系統管理員經常使用chown命令,在將文件拷貝到另一個用戶的目錄下以后,讓用戶擁有使用該文件的權限。
5.應用實例
1.把文件shiyan.c的所有者改為wan
$ chown wan shiyan.c

 

]]>
嵌入式Linux技術的現狀與發展動向http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1348&Page=1wangxinxin2010-11-15 11:18:32 嵌入式Linux的網上資源

    4.1 標準的Linux版本

  (1)Calderahttp://www.calderasystems.com/

  (2)Corelhttp://linux.corel.com/

  (3)Debianhttp://www.debian.org.com/

  (4)Mandrakehttp://www.linux-mandrake.comlen/

  (5)Red Hathttp://www.reahat.com/

  (6)Slackwarehttp://www.slackware.com/

  (7)SuSEhttp://www.suse.com

  (8)Turbo Linuxhttp://www.turbolinux.com/

    4.2 小型化的嵌入式版本

    (1)ETLinuxhttp://www.prosa.it/embedded/etlinux/

    (2)LEMhttp://www.linux-embedded.com/lem.php3

    (3)Linux Router Projecthttp://www.linuxrouter.org/

    (4)LOAFhttp://loaf.ecks.org/

    (5)ucLinuxhttp://www.uclinux.org/

    (6)uLinuxhttp://sunsite.auc.dk/mulinux/

    (7)ThinLinuxhttp://www.thinlinux.org

    4.3 具有實時擴展功能的Linux版本

    (1)RTLinuxhttp://www.rtlinux.com

    (2)RTLinuxhttp://www.FSMLabs.com

    (3)RTAIhttp://www.rtai.org/

    (4)EL/IXhttp://www.sourceware.cygus.com/elix/

    (5)SRT-Linuxhttp://www.cl.cam.ac.uk/~dmi1000/linux-srt/index.html

    4.4  Linux特殊應用版本

    (1)FirePlugLinuxhttp://www.fireplug.net/

    (2)KOSIXhttp://www.touchdynamics.com/KOSIX.html

    (3)Linux Router Projecthttp://www.linuxrouter.org/

    (4)Pizzabox Linuxhttp://www.jrcs.co.wk

5 結束語

    盡管絕大部分的嵌入式系統的硬件平臺仍掌握在外國大公司的手中,國產的嵌入式操作系統在技術含量、兼容性、市場運作模式等方面還有相當長的一段距離。但由于Linux自由操作系統的出現,特別是將嵌入式系統和Linux有機結合起來的嵌入式Linux,給我們提供跟蹤國外嵌入式操作系統最新應用技術難得的機遇。嵌入式Linux將在機頂盒、掌上電腦或PDA、手機和尋呼機上網、車載盒、工業控制等方面有著廣泛地應用。

]]>
嵌入式Linux技術的現狀與發展動向http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1347&Page=1wangxinxin2010-11-15 11:10:131 引言

    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大類Linuxwpe9.jpg (7927 bytes)版本的各自用戶所占的百分數統計餅圖如圖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平臺,繼承性好、穩定性好、
開發時間短

產品升級以及對
新網絡協議的支持

廠家反映慢,支持慢,不一定能支持新特性

利用全世界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技術http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1346&Page=1wangxinxin2010-11-15 11:06:16操作系統是管理計算機上的資源,為用戶使用計算機及其外部設備提供最基本接口的程序。

自從計算機誕生以來,隨著計算機、網絡技術的快速發展,操作系統一直處于不斷發展和改進之中,人們將越來越多的功能加入到操作系統中,導致操作系統越來越大。但是,隨著應用領域的擴大,為了適應不同的應用場合,考慮到系統的靈活性、可伸縮性以及可裁減性,一種以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗要求嚴格的專用計算機系統---嵌入式操作系統便隨之延生。

嵌入式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

]]>
漫談嵌入式Linux技術http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1345&Page=1wangxinxin2010-11-15 11:00:46
     Linux在移動設備中也獲得了青睞。In-Stat的報告顯示,移動Linux將牢牢抓住中國巨大的市場占有率。該機構認為,到2012年,中國基于移動Linux的智能手機總發貨量將達到中國智能手機總出貨量的25.4%。

     不斷改進的Linux內核

     Linux當面對特定的嵌入式應用時仍存在很多挑戰,包括那些內存空間小或實時確定性以及安全性能要求高的應用。工具鏈的改進、新的調試工具和性能、不斷為標準化演變的努力等,都將繼續提升Linux對于所有嵌入式應用的價值。在這其中,Linux內核的不斷改進異常重要。

     Linux內核是應用軟件采用的標準Linux API和處理器系統(應用軟件運行其上)底層硬件結構之間的接口。該內核是內部元件和外部可加載模塊的復雜組合。在開機啟動期間,內核必須及時發現,并正確布置核心系統處理器、系統存儲器、硬盤、視頻卡、USB端口、網卡和音頻處理器,而且要在開機啟動期間提供足夠的顯示表明成功與否。

     維持如此復雜的代碼收集很明顯是一個嚴峻的挑戰。內核源代碼被劃分為標準“樹”結構,這樣子系統就能夠更好地彼此隔離,有助于實現幾個關鍵內核維護工作的分布。這種分工可以最大限度地減少內核某一部分發生重大變化對其他部分產生的影響。每個后續子系統的改變傳達給主要管理員,最終到達Linux內核最上游的管理員。這些變化被稱為“修補(patch)”,在標準格式下創建和應用。

     供應商和開發人員將他們的知識反饋到開源社群以改進內核。Linux開放、分散的本質,再加上背后強大的社群支持,使基于Linux的OS成為培養創新的良好選擇。

圖片點擊可在新窗口打開查看

為下一個項目計劃的Linux操作系統

     “免費”使用,但并非“零”成本

     除了決定使用商用還是免費發行版Linux,開發人員還必須認識到其調試/開發工具的能力和局限。

     充分發揮嵌入式Linux免費發行版的優勢,已經成為消費產品領域被廣泛接收的現實。在這些市場上,產品運行率非常高,對代碼的改善更新非常頻繁,而且產品的銷售成本至關重要,所有這些都使得開源模式極具吸引力。但是,能集成開源/免費軟件,還可為處理器內核提供無縫調試環境的工具要求對內核和SoC元件互動有深刻的了解。

     現在有若干種“免費軟件”調試解決方案,設計人員需要全面了解其局限性。比如,針對Linux內核最常用免費軟件調試器是KGDB。KGDB的主要缺點是要求重新編譯內核。這對那些已經在市場上通用的產品應用來說產并不總是可行的。修補內核還可能引入影響系統性能的代碼變化。

     GDBServer是另一個面向應用調試的頗受歡迎的免費軟件調試器,但它主要問題是缺乏對同時調試大量線程/進程的支持。隨著調試的線程/進程數不斷增加,GDBServer性能迅速惡化,導致反應時間太慢,進而使目標系統出現故障。其他問題還涉及到:不能在相同的目標連接上調試驅動程序和應用;調試設備驅動程序和調試共享庫。

     Linux內核的維]]>
Linux技術熱點與發展趨勢分http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1344&Page=1wangxinxin2010-11-15 10:53:37現代的服務器應用環境,非凡是高端應用環境,沒有哪一個是僅靠操作系統一個產品就可以搭建成功的,都是需要硬件設備、操作系統、數據庫、中間件、治理軟件、服務器軟件、各種行業應用軟件等緊密配合,在開發、維護過程中還需要各種開發工具、調試工具、故障分析工具的參與。

對于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等組件技術,使得產品符合潮流趨勢,同時功能完善,能適用現在國內各種需求,適用面廣,有較強的生命力。

]]>
Linux技術網站推薦http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1343&Page=1wangxinxin2010-11-15 10:51:40本文對Windows和Linux的安全性、穩定性、硬件支持、規范性、源代碼、應用程序界面(API)、系統可調節性、使用方便性、版權限制和費用、技術支持若干主要方面進行一些評述和比較。

  本文對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的競爭者不得不背負的沉重包袱。

  細致而盡可能準確地分析所有這些因素不是一篇短短(盡管現在已經不太短了)的文章所能勝任的。幸好計算機技術這二十年的發展始終沒有讓人們久等過,看到這場操作系統大戰的階段性結果相信也不會對我們的耐心形成太大的挑戰。

  

]]>
Linux技術熱點與發展趨勢分析http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1342&Page=1wangxinxin2010-11-15 10:50:27  目前,Linux技術已經成為IT技術發展的熱點,投身于Linux技術研究的社區、研究機構和軟件企業越來越多,支持Linux的軟件、硬件制造商和解決方案提供商也迅速增加,Linux在信息化建設中的應用范圍也越來越廣,Linux產業鏈已初步形成,并正在得到持續的完善。隨著整個Linux產業的發展,Linux技術也處在快速的發展過程中,形成了若干了技術熱點。下面,分別就Linux桌面技術和Linux服務器技術介紹最新的Linux發展動態和未來的發展趨勢。桌面的技術熱點和發展趨勢桌面操作系統和辦公套件為家庭、企業、政府及其它領域提供了基礎使用環境,必須適應、滿足實際使用模式的多樣性與硬件平臺的差異性,諸如移動終端、個人工作站、商業辦公、政府協同處理以及國內外硬件平臺的差異性,所以桌面操作系統和辦公套件是“體驗式”信息時代最具代表性的基礎信息化工具軟件,同時也是軟件、應用、服務的是使用基礎平臺。

  目前流行的桌面操作系統主要包括兩大類:一類是主流商業桌面系統,包括微軟的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等組件技術,使得產品符合潮流趨勢,同時功能完善,能適用現在國內各種需求,適用面廣,有較強的生命力。

]]>
你的手機也可以裝雙系統 Linux 安裝教程http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1341&Page=1wangxinxin2010-11-15 10:32:39此教程適合577W,586W,C600

注意:在安裝過程中需要將Mini-SD重新分區,請務必備份卡上的東西。


一,先確定你的手機已經刷成SuperCID
怎么刷看這里→http://bbs.koxo.cn/viewthread.php?tid=499
怎么檢查是否是SuperCID→http://www.ioicn.com.cn/forum/viewthread.php?tid=233784

二,解鎖

用 sda application unlock

三,安裝 wm5storage,并運行

去掉 只讀可移動磁盤 前面的 ,激活并連接電腦

打開計算機管理,磁盤管理。將卡原有的分區刪除,然后創建一個256兆的主分區,并

且格式化為FAT格式,再將剩余的空間創建一個主分區,但不要格式化,分配盤符就好

了。

下載Windows EXT2 Driver(Ext2fsd V0.31a)(現在好像找不到這個版本了,已經更

新到Ext2Fsd-0.45.exe)和格式化工具Mke2fs

安裝Ext2fsd 并且重啟電腦。

再次運行

安裝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

]]>
教你一步步裝紅旗linuxhttp://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1340&Page=1wangxinxin2010-11-15 10:28:59
以下內容含腳本,或可能導致頁面不正常的代碼
說明:上面顯示的是代碼內容。您可以先檢查過代碼沒問題,或修改之后再運行.
]]>
如果LINUX的ROOT用戶密碼忘記如何更改?http://www.rfoamep.cn/bbs/dispbbs.asp?BoardID=7&ID=1339&Page=1wangxinxin2010-11-15 10:06:19(綜合各種)
1.freebsd
FreeBSD 4.7
當顯示 boot ... 9 seconds按任意健
輸入:boot -s
登錄以后
#/sbin/mount -a
#passwd
輸入新密碼.
FreeBSD 5.*
當要求選擇啟動模式時按4進入單用戶模式登錄以后

#/sbin/mount -a
#passwd
輸入新密碼.

2.solaris
ROOT密碼遺忘的處理方法
1,如果還能用普通用戶登陸的話,%df /etc,確定包含/etc目錄分區的設備名
%df /etc
/ /dev/dsk/c0t0d0s0...
此例中是c0t0d0s0,如果你的根目錄分區設備不一樣的話,替換一下就可以啦
2,把系統盤插入cdrom中
3,出現提示符后,使用sync命令刷新文件系統
4,按下stop+A
5,ok狀態下鍵入boot cdrom -s
6,在#提示符下鍵入mkdir /temp ,然后鍵入mount /dev/dsk/c0t0d0s0 /temp
如果出現掛接不上的情況時,那么就運行fsck先 fsck /dev/rdsk/c0t0d0s0,然后在mount
7,cd /temp/etc
8,cp shadow shadowbak
9,cat shadow
得到root的口令字符串
root:djglcj0J:6453:::圖片點擊可在新窗口打開查看其中djglcj0J就是root的加密后的口令字符串)
10,sed s/djglcj0J// shadow>shadownew
11,cat shadownew查看是否已經變為
root::6453::::
12,cp shadownew shadow
13,cd /
unmount /temp
sync
shutdown -i0 -g0 -y
14,取出CD后,重起系統,這時root就不需要密碼啦!
這樣也可以!
OK boot cdrom -s
#TERM=sun
#export TERM
#mount /dev/dsk/c0t0d0s0 /a
#vi /a/etc/shadow(刪除root的加密后的密碼)
#reboot

3.SCO UNIX
一旦運行SCO UNIX 機器的超級用戶口令忘了,可以用這個方法解決。
  在另一臺安裝了SCO UNIX的機器上,以Root用戶注冊,進入系統,用 mkdev fd命令或命令scoadmin中的Filesystem之Floppy
Filesystem Manager來制作應急啟動盤,包括Boottable 盤和Root filesystem盤。
  將上述制作的Root filesystem盤安裝到硬盤上。
  # mount /dev/fd0135ds18 /mnt
  再將硬盤上的/etc/passwd 和/tcb/files/auth/r/root兩個文件拷貝到Root filesystem盤上。
  # cp /etc/passwd /mnt
  # cp /tcb/files/auth/r/root /mnt
  卸載機器1硬盤上的軟盤。
  # umount /dev/rfd0135ds18
  用Boot軟盤去啟動遺忘口令的機器,根據提示插入Root filesystem軟盤,待出現“#”時,進行下面操作,將硬盤掛到軟盤上:
  # mount /dev/hd0root /mnt
  備份硬盤上的/etc/passwd和/tcb/files/auth/r/root兩個文件。因為這兩個文件中還包含其他用戶的注冊信息。
  用Root filesystem軟盤上的兩個文件,覆蓋硬盤上的兩個文件/etc/passwd 和/tcb/files/auth/r/root。
  # mkdir /cyh
  # mount /dev/fd0135ds18 /cyh
  # cd /cyh
  # cp passwd /mnt/etc
  # cp root /mnt/tcb/files/auth
  卸載安裝上的兩個文件系統。
  # umount /dev/hd0root
  # umount /dev/fd0135ds18
  取出軟盤,重新啟動機器,待出現Login時,以Root用戶注冊,鍵入第二臺機器的超級用戶口令,這樣便可進入的超級用戶了。
  進入超級用戶后,用Passwd和Root這兩個文件的備份覆蓋原來的文件,接著用passwd命令修改超級用戶的口令。
  用戶可以用Alt+F2換一個窗口,以Root注冊,現在用修改后的口令就能用了。

4.aix4.3.3(ibm) rs/6000
將第一張安裝盤放入光驅,重起機器,按f5鍵,終端按5,進入maintance頁面,選擇mount rootvg的功能選項,調用password修改口令,退出即可

5.linux(三種辦法)
5.1.在系統進入單用戶狀態,直接用passwd root去更改

5.2.用安裝光盤引導系統,進行linux rescue狀態,將原來/分區掛接上來,作法如下:
cd /mnt
mkdir hd
mount -t auto /dev/hdaX(原來/分區所在的分區號) hd
cd hd
chroot ./
passwd root
這樣可以搞定

5.3.將本機的硬盤拿下來,掛到其他的linux系統上,采用的辦法與第二種相同

6.Redhat linux(redhat 8/9/ES/...)
一. lilo法
a. 在出現 lil 提示時鍵入 linux single
畫面顯示 lil linux single
b. 回車可直接進入linux命令行
c. #vi /etc/shadow
將第一行,即以root開頭的一行中root:后和下一個:前的內容刪除,
第一行將類似于
root::......
保存
d. #reboot重啟,root密碼為空

二. grub法 (推薦)
a. 在出現grub畫面時,用上下鍵選中你平時啟動linux的那一項(別選dos喲),然后按e鍵
b. 再次用上下鍵選中你平時啟動linux的那一項(類似于kernel /boot/vmlinuz-2.4.18-14 ro
root=LABEL=/),然后按e鍵
c. 修改你現在見到的命令行,加入single,結果如下:
kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/
d. 回車返回,然后按b鍵啟動,即可直接進入linux命令行
e. #vi /etc/shadow
將第一行,即以root開頭的一行中root:后和下一個:前的內容刪除,
第一行將類似于
root::......
保存
f. #reboot重啟,root密碼為空
(或用命令#passwd root, 重置root密碼)

7.HP-UX
啟動時按esc 進入isl
進入ISL后:
isl>bo pri
(yes/no)y
ipl>hpux -is
ipl>vi /etc/passwd
去掉root 的密碼即可
]]>
主站蜘蛛池模板: 亚洲色精品vr一区区三区 | 亚洲男女天堂 | 免费人成无码大片在线观看 | 国产精品久久久久9999吃药 | 中文字幕 亚洲一区 | 国产大片黄在线观看私人影院 | 九九热中文字幕 | 欧美伦理网| 男女男精品免费视频网站 | 久久这里只精品国产99热8 | 中文字幕91| 亚洲男人的天堂一区二区 | 精品国产区一区二区三区在线观看 | 欧美性猛交xxxxx按摩欧美 | 免看一级a一片成人123 | 日日摸夜夜添夜夜添特色大片 | 日韩中文字幕在线看 | 无码人妻一区二区三区兔费 | 中文字幕第15页 | 国产成人无码精品久久二区三区 | 草免费视频 | 亚洲专区在线播放 | 对白脏话肉麻粗话av | 特级做a爰片毛片免费看一区 | 一本精品中文字幕在线 | 欧美色欧美亚洲高清在线观看 | 国产成人精品日本亚洲专 | 国产人成无码视频在线观看 | 亚洲av国产精品色午夜洪2 | 在线免费看黄视频 | 影音资源在线观看 | 无码任你躁久久久久久老妇 | s级爆乳玩具酱国产vip皮裤 | 久久人人爽人人人人片 | 青青草原网站在线观看 | 夜夜骑夜夜操 | 99re66在线观看精品免费 | 国产成人激情视频 | 亚洲一区色 | 三级免费网站 | 亚洲av无码精品国产成人 |