當前位置:首頁 » 操作系統 » qnx源碼

qnx源碼

發布時間: 2022-03-31 00:23:15

❶ 在C++ Test中如何做基於QNX的單元測試

VectorCAST/C++™--C/C++的單元/集成測試

<什麼是VectorCAST/C++>

VectorCAST/C++是一套集成的軟體測試解決方案,能顯著降低C/C++測試過程中為達到安全性檢測和嵌入式系統關鍵任務檢測所必需的時間、工作量及成本。

自動化包括:

>為單元測試和集成測試構建完整的測試環境

>基於腳本命令或GUI圖形界面執行測試

>集成最好的需求管理系統和靜態分析工具

>根據基本路徑來自動生成測試用例

>根據測試需求自定義測試用例

>回歸測試

>在調試階段進行測試的回放

>代碼覆蓋分析

>支持敏捷開發和測試驅動開發(TDD)

❷ QNX是開源的嗎,為什麼現在下載不到源代碼

目前在QNX官網只有試用版的QNX和開發工具下載,沒有源代碼下載的。做開發的話可以在IDE裡面深度定製QNX。

❸ 如何由bsp生成qnx內核鏡像

如何由bsp生成qnx內核鏡像
bootm命令是用來引導經過u-boot的工具mkimage打包後的kernel image的,什麼叫做經過u-boot的工具mkimage打包後的kernel image,這個就要看mkimage的代碼,看看它做了些什麼,雖然我很希望大家不要偷懶,認真地去看看,但是我知道還是有很多人懶得去做這件,那麼我就j將分析mkimage代碼後得到的總結告訴大家,mkimage做了些什麼,怎麼用這個工具。

mkimage的用法
uboot源代碼的tools/目錄下有mkimage工具,這個工具可以用來製作不壓縮或者壓縮的多種可啟動映象文件。

mkimage在製作映象文件的時候,是在原來的可執行映象文件的前面加上一個0x40位元組的頭,記錄參數所指定的信息,這樣uboot才能識別這個映象是針對哪個CPU體系結構的,哪個OS的,哪種類型,載入內存中的哪個位置, 入口點在內存的那個位置以及映象名是什麼

❹ UNIX 1.0 源代碼誰有啊,不勝感激,有的話發[email protected]

你好,嵌入式linux系統的設計與應用

摘要:隨著嵌入式Linux系統的迅速發展,嵌入式Linux已發展成為嵌入式操作系統的一個重要分支。本文介紹了嵌入式Linux的設計和幾種流行的嵌入式Linux系統。

關鍵詞:嵌入式Linux

一、引言

嵌入式系統(Embedded Systems)是根據應用的要求,將操作系統和功能軟體集成於計算機硬體系統之中,從而實現軟體與硬體一體化的計算機系統。嵌入式系統出現於60年代晚期,它最初被用於控制機電電話交換機,如今已被廣泛的應用於工業製造、過程式控制制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費類產品等眾多領域。嵌入式系統在數量上遠遠超過了各種通用計算機系統:計算機系統核心CPU,每年在全球范圍內的產量大概在二十億顆左右,其中超過80%應用於各類專用性很強的嵌入式系統。

一般的說,凡是帶有微處理器的專用軟硬體系統都可以稱為嵌入式系統。和通用的計算平台相比,嵌入式系統往往具有功能單一、體積小、功耗低、可靠性高、剪裁性好、軟硬體集成度高、計算能力相對較低等特點。多年來,嵌入式設備中沒有操作系統,其主要原因有二:首先,諸如洗衣機、微波爐、電冰箱這樣的設備僅僅需要一道簡單的控製程序,以管理數量有限的按鈕和指示燈,沒有使用操作系統的必要;其次,它往往只具有有限的硬體資源,不足以支持一個操作系統。

然而,隨著硬體的發展,嵌入式系統變得越來越復雜,最初的控製程序中逐步的加入了許多功能,而這些功能中有很多可以由操作系統提供。於是,在70年代末期出現了嵌入式操作系統(Embedded Operating Systems),它的出現大大簡化了應用程序設計,並可以有效的保障軟體質量和縮短開發周期。簡單的ES一般並不使用操作系統,只包含一些控制流程,但是隨著嵌入式操作系統在復雜性上的增長,簡單的流程式控制制就不能滿足系統的要求,這是就必須考慮使用操作系統做系統軟體。因此,嵌入式操作系統就應運而生。

隨著EOS的廣泛應用,業界已推出一些應用比較成功的EOS產品。歸納起來EOS應該具有以下幾個特點:小巧、實時性、可裝卸、固化代碼、弱交互性、強穩定性和統一的介面。目前使用最多的EOS產品包括有:Vxwork、QNX、PalmOS、WindowsCE、pSOS、Hopen OS(國內凱思集團公司自主研製開發)等。其中,Vxwork使用最為廣泛、市場佔有率最高,其突出特點是實時性強(採用優先順序搶占和輪轉調度等機制),除此之外,其可靠性和可剪裁性也相當不錯。QNX是一種伸縮性極佳的系統,其核心加上實時POSIX環境和一個完整的窗口系統還不到一兆。相比之下,Microsoft WinCE的核心體積龐大,實時性能也差強人意,但由於Windows系列友好的用戶界面和為程序員所熟悉的API,並捆綁IE、Office等應用程序,正逐漸獲得更大的市場份額。而與這些商業化的操作系統相比,Linux已經越來越受到人們的注意。

二、嵌入式Linux概述

Linux是一個成熟而穩定的網路操作系統。將Linux植入嵌入式設備具有眾多的優點。首先,Linux的源代碼是開放的,任何人都可以獲取並修改,用之開發自己的產品。其次,Lirmx是可以定製的,其系統內核最小隻有約134kB。一個帶有中文系統和圖形用戶界面的核心程序也可以做到不足1MB,並且同樣穩定。另外,它和多數Unix系統兼容,應用程序的開發和移植相當容易。同時,由於具有良好的可移植性,人們已成功使Linux運行於數百種硬體平台之上。

然而,Linux並非專門為實時性應用而設計,因此如果想在對實時性要求較高的嵌入式系統中運行Linux,就必須為之添加實時軟體模塊。這些模塊運行的內核空間正是操作系統實現進程調度、中斷處理和程序執行的部分,因此錯誤的代碼可能會破壞操作系統,進而影響整個系統的可靠性和穩定性。Linux的眾多優點還是使它在嵌入式領域獲得了廣泛的應用,並出現了數量可觀的嵌入式Linux系統。其中有代表性的包括:uClinux、ETLinux、ThinLinux、LOAF等。ETLinux通常用於在小型工業計算機,尤其是PC/104模塊。ThinLinux面向專用的照相機伺服器、X-10控制器、MP3播放器和其它類似的嵌入式應用。LOAF是Linux On A Floppy的縮略語,它運行在386平台上。

三、Linux作為嵌入式操作系統的優勢

Linux作為嵌入式操作系統的優勢主要有以下幾點:

1、 可應用於多種硬體平台。Linux已經被移植到多種硬體平台,這對於經費,時間受限制的研究與開發項目是很有吸引力的。原型可以在標准平台上開發後移植到具體的硬體上,加快了軟體與硬體的開發過程。Linux採用一個統一的框架對硬體進行管理,從一個硬體平台到另一個硬體平台的改動與上層應用無關。Linux可以隨意地配置,不需要任何的許可證或商家的合作關系,源代碼可以免費得到。這使得採用Linux作為操作系統不會遇到任何關於版權的糾紛。毫無疑問,這會節省大量的開發費用。本身內置網路支持,而目前嵌入式系統對網路支持要求越來越高。Linux的高度模塊化使添加部件非常容易。

2、 Linux是一個和Unix相似、以內核為基礎的、具有完全的內存訪問控制,支持大量硬體(包括X86,Alpha、ARM和Motorola等現有的大部分晶元)等特性的一種通用操作系統。其程序源碼全部公開,任何人可以修改並在GUN通用公共許可證(GNU General Public License)下發行。這樣,開發人員可以對操作系統進行定製,適應其特殊需要。

3、 Linux帶有Unix用戶熟悉的完善的開發工具,幾乎所有的Unix系統的應用軟體都已移植到了Linux上。Linux還提供了強大的網路功能,有多種可選擇窗口管理器(X Windows)。其強大的語言編譯器GCC,C++等也可以很容易得到,不但成熟完善,而且使用方便。

四、嵌入式Linux的建立

完整的嵌入式Linux解決方案應包括嵌入式Linux操作系統內核、運行環境、圖形化界面和應用軟體等。由於嵌入式設備的特殊要求,嵌入式Linux解決方案中的內核、環境、GUI等都與標准Linux有很大不同,其主要挑戰是如何在狹小的FLASH、ROM和內存中實現高質量的任務實時調度、圖形化顯示、網路通信等功能。

1、 精簡內核

Linux內核有自己的結構體系,其中進程管理、內存管理和文件系統是其最基本的3個子系統。圖1簡單表示了它的框架。用戶進程可直接通過系統調用或者函數庫來訪問內核資源。正因為Linux內核具有這樣的結構,因此修改內核時必須注意各個子系統之間的協調。

嵌入式Linux內核一般由標准Linux內核裁剪而來。用戶可根據需求配置系統,剔除不需的服務功能、文件系統和設備驅動。經過裁剪、壓縮後的系統內核一般只有300k左右,十分適合嵌入式設備。同標准Linux不同的是嵌入式Linux必須要實現從FLASH或ROM的啟動。標准Linux啟動代碼實現了系統初始化和從軟盤、硬碟O盤區引導內核。嵌入式Linux一般保存在FLASH或ROM中,標准LILO無法引導。在支持直接從FLASH設備引導的系統中,如華恆公司的uClinux,引導程序主要完成對硬體系統的初始化工作和操作系統的解壓、移位工作。在不支持直接從FLASH引導的系統中,FLASH設備只能作為非引導磁碟使用。此時,可採用先從硬碟或軟盤載入一個小操作系統,如嵌入式DOS,然後再執行"Loadlin"載入程序從FLASH引導嵌入式Linux。

對標准Linux的修改主要是虛擬內存和調度程序部分的改動。因為標准Linux系統使用虛擬內存管理的目的是為了能同時運行多個進程,但是這樣每個待運行的進程所能分配的CPU時間片就受限制,資源的使用效率就低。這樣對於實時性要求較高的嵌入式系統來說,實時任務往往要求CPU具有很高的突發處理能力,即在有些時候需要極高的處理效率,因此需要屏蔽內核的虛擬內存管理機制。對於無硬碟設備的嵌入式系統,不必採用虛存管理。強實時需求的嵌入式應用可以通過修改任務調度模塊實現,主要是在內核和設備驅動程序中加入了許多切換點。在該點處,系統檢測是否存在未處理的緊急中斷,有則剝奪內核的運行,及時處理中斷。實現實時性服務的一個較好的方法是在標準的Linux內核上增加一個實時內核,標准Linux內核作為一個任務運行於實時內核上,強實時性任務也直接運行在實時內核上,如RT-Linux等。

文件系統是嵌入式Linux操作系統必不可少的。但標准Linux支持大量的文件系統,因此除了滿足系統的正常運行需要而保留一種外,其它的全部可以刪除,利用原有的設置選項可以移除。一般嵌入式設備文件系統主要使用RamDisk技術和網路文件系統技術。RamDisk可駐留於Flash,運行時載入到內存中。

2、 精簡運行環境

Linux通常的運行環境指用戶運行任何應用的基礎設施,主要包括函數庫和基本命令集等。標准Linux系統同時向用戶提供了靜態和動態函數庫。靜態函數庫在生成應用時直接鏈接到用戶應用中。動態庫在應用運行時才鏈接。由於嵌入式系統應用一般都是在開發平台上預先生成的,因此嵌入式系統只需向應用提供動態函數庫。Linux應用運行所需的函數庫主要有C庫、數學庫、線程庫、加密庫、網路通信庫等。其中最基本的是C語言的運行庫glib。這個庫主要完成基本的輸入輸出,內存訪問,文件處理。一個標準的glib庫大約要1200kB存儲空間,考慮到嵌入式Linux內核往往很小,這種運行庫實在太大,我們做了一些精簡的工作,方法有兩種:(1)、使用靜態連接的方法,完全不使用運行庫動態連接;(2)、對這個庫的函數進行精簡。

在一個桌面系統上,使用動態連接可以帶來許多好處。使用動態連接庫,可以讓應用程序跟函數庫的更新、升級分離,便於維護,可以讓同時運行的多個程序共享一段代碼。但是,在嵌入式系統中,很少有多個程序並行的可能,程序的維護,尤其是庫函數的維護更新是不常見的。這時,使用靜態連接的優勢就極為明顯。因為靜態連接可以只將庫中用到的部分連接進程序。在應用程序較少(小於5)的情況下,靜態連接可以達到較好的結果。為了便於將來擴充的需要,我們也採用第二種方法,針對我們的需要,對庫函數的內容進行精簡,只保留一些基本功能,還有一種方法是採用其它的C語言運行庫。但是這些庫對兼容性影響很大。

基本命令集同樣是運行用戶應用的基礎,主要包括初始化進程init,終端獲取getty、Shell和基本命令等。嵌入式系統的啟動過程可能與標准Linux不同,例如跳過登錄過程直接啟動GUI等。這就要求修改init,getty等。標准Linux命令集同樣由於體積問題無法直接應用於嵌入式環境。目前,小命令集的解決方法主要有集成方法和匯編方法兩種。集成方法採用集成公共部分減少命令集整體體積,用C實現,有較好的平台移植性;匯編方法則採用匯編編程減少每個命令的體積.這樣可使體積很小但其平台移植性較差。

3、 嵌入式Linux下的GUI

GUI在嵌入式系統或者實時系統中的地位越來越重要,比如PDA、DVD播放機、WAP手機等,都需要一個完整.漂亮的圖形用戶界面。這些系統對GUI的基本要求包括:(1)、輕型、佔用資源少;(2)、高性能;(3)、高可靠性;(4)、可配置。這些也成為評價嵌入式系統的重要指標。目前,嵌入式Linux上的GUI主要有winCE、Micro Window、緊縮的X Window、MiniGUI(國內做得較好的自由軟體之一)。標准Linux的Xfree86由於體積龐大,運行環境要求高,無法運行於嵌入式環境。嵌入式GUI主要通過削減功能,降低性能來實現體積小和佔用資源少。目前嵌入式Linux上的GUI環境主要有兩類:X類和win32類。X類GUI分為服務方和客戶方兩方。伺服器方提供滑鼠、鍵盤處理和顯示功能,客戶方是用戶應用,服務方和客戶方通過socket介面和X協議通信。採用該方式十分有利於遠程網路圖形化服務,客戶方和服務方可通過網路實現X協議和圖形顯示。典型的X類GUI有Micro Window、緊縮的X Window等。win32類的GUI不存在客戶方和服務方,每個任務都自成一體,任何任務間的切換、事件分發由專門的管理任務負責。如wiCE、MiniGUI就是類似於win32類的GUI。

五、當前流行的幾種嵌入式Linux系統

除了智能數字終端領域以外,Linux在移動計算平台、智能工業控制、金融業終端系統,甚至軍事領域都有著廣泛的應用前景。這些Linux被統稱為"嵌入式Linux"。

1、RT-Linux

這是由美國墨西哥理工學院開發的嵌入式Linux操作系統。到目前為止,RT-Linux已經成功地應用於太空梭的空間數據採集、科學儀器測控和電影特技圖像處理等廣泛領域。RT-Linux開發者並沒有針對實時操作系統的特性而重寫Linux的內核,因為這樣做的工作量非常大,而且要保證兼容性也非常困難。為此,RT-Linux提出了精巧的內核,並把標準的Linux核心作為實時核心的一個進程,同用戶的實時進程一起調度。這樣對Linux內核的改動非常小,並且充分利用了Linux下現有的豐富的軟體資源。

2、uClinux

uCLinux是Lineo公司的主打產品,同時也是開放源碼的嵌入式Linux的典範之作。uCLinux主要是針對目標處理器沒有存儲管理單元MMU(Memory Management Unit) 的嵌入式系統而設計的。它已經被成功地移植到了很多平台上。由於沒有MMU,其多任務的實現需要一定技巧。uCLinux是一種優秀的嵌入式Linux版本,是micro-Conrol-Linux的縮寫。它秉承了標准Linux的優良特性,經過各方面的小型化改造,形成了一個高度優化的、代碼緊湊的嵌入式Linux。雖然它的體積很小,卻仍然保留了Linux的大多數的優點:穩定、良好的移植性、優秀的網路功能、對各種文件系統完備的支持和標准豐富的API。它專為嵌入式系統做了許多小型化的工作,目前已支持多款CPU。其編譯後目標文件可控制在幾百KB數量級,並已經被成功地移植到很多平台上。

3、Embedix

Embedix是由嵌入式Linux行業主要廠商之一Luneo推出的,是根據嵌入式應用系統的特點重新設計的Linux發行版本。Embedix提供了超過25種的Linux系統服務,包括Web伺服器等。系統需要最小8MB內存,3MB ROM或快速快閃記憶體。Embedix基於Linux 2.2內核,並已經成功地移植到了Intel x86和PowerPC處理器系列上。像其它的Linux版本一樣,Embedix可以免費獲得。Luneo還發布了另一個重要的軟體產品,它可以讓在Windows CE上運行的程序能夠在Embedix上運行。Luneo還將計劃推出Embedix的開發調試工具包、基於圖形界面的瀏覽器等。可以說,Embedix是一種完整的嵌入式Linux解決方案。

4、Xlinux

XLinux是由美國網虎公司推出,主要開發者是陳盈豪。他在加盟網虎幾個月後便開發出了基於XLinux的、號稱是世界上最小的嵌入式Linux系統,內核只有143KB,而且還在不斷減小。XLinux核心採用了"超字元集"專利技術,讓Linux核心不僅可能與標准字元集相容,還含蓋了1 2個國家和地區的字元集。因此,XLinux在推廣Linux的國際應用方面有獨特的優勢。

5、PoketLinux

由Agenda公司採用、作為其新產品"VR3PDA"的嵌入式Linux操作系統。它可以提供跨操作系統構造統一的、標准化的和開放的信息通信基礎結構,在此結構上實現端到端方案的完整平台。PoketLinux資源框架開放,使普通的軟體結構可以為所有用戶提供一致的服務。PoketLinux平台使用戶的視線從設備、平台和網路上移開,由此引發了信息技術新時代的產生。在PoketLinux中,稱之為用戶化信息交換(CIE),也就是提供和訪問為每個用戶需求而定製的"主題"信息的能力,而不管正在使用的設備是什麼。

6、MidoriLinux

由Transmeta公司推出的MidoriLinux操作系統代碼開放,在GUN普通公共許可(GPL)下發布,可以在http://midori.transmeta.com上立即獲得。該公司有個名為"MidoriLinux計劃"。"MidoriLinux"這個名字來源於日本的"綠色"---Midori,用來反映其Linux操作系統的環保外觀。

7、紅旗嵌入式Linux

由北京中科院紅旗軟體公司推出的嵌入式Linux是國內做得較好的一款嵌入式操作系統。目前,中科院計算所自行開發的開放源碼的嵌入式操作系統---Easy Embedded OS(EEOS)也已經開始進入實用階段了。該款嵌入式操作系統重點支持p-Java。系統目標一方面是小型化,另一方面能重用Linux的驅動和其它模塊。由於有中科院計算所的強大科研力量做後盾,EEOS有望發展成為功能完善、穩定、可靠的國產嵌入式操作系統平台。

六、結束語

由於Linux是一個內核源代碼開放、具備一整套工具鏈、有強大的網路支持及成本低廉的操作系統,因此嵌入式Linux自誕生起就秉承了這眾多獨特優勢,這使它正在並越來越多地受到人們的關注。據Even Data數據顯示,期望使用嵌入式Linux的用戶從2001年的11%增到2002年27%,而同期Vxwork只是從16%到18%,Win CE從9%到14%。另外,在嵌入式Linux的各種應用市場中,通信(語音和數據)名列第一,2000年的銷售額是1300萬美元,而2005年預計將達到1.26億美元,可以預見,嵌入式Linux將在未來的通信用嵌入式操作系統中占據強有力的地位

Linux是目前十分火爆的操作系統。它是由芬蘭赫爾辛基大學的一個大學生Linus B. Torvolds在1991年首次編寫的。標志性圖標是一個可愛的小企鵝。

Linux是一種類Unix系統,Linus當時編寫它的目的是為了替代一種名叫Minix的操作系統。Minix是由一個名叫Andrew Tannebaum的計算機教授編寫的,當時由於Unix是一個商業軟體,其源代碼是不能拿來進行教學的,Andrew教授就自己編寫了一個系統用於教學。最

初的Minix用一張軟盤就能裝下,麻雀雖小、五臟俱全,Minix具有一般操作系統的特徵,它同時兼容Unix系統。

Linux是一個免費的操作系統,用戶可以免費獲得其源代碼,並能夠隨意修改。它是在共用許可證GPL(General Public License)保護下的自由軟體,也有好幾種版本,如Red Hat Linux、Slackware,以及國內的Xteam Linux等。

Linux具有許多Unix系統的功能和特點,能夠兼容Unix,但無需支付Unix高額的費用。比如一個Unix程序員在單位可以在Unix系統上進行工作,回到家裡在Linux系統上也能完成同樣的工作,而不必重新購買Unix。要知道Unix的價格比常見的Windows要高出若干倍,和Linux的低廉更是相距甚遠。

Linux的應用也十分廣泛。Sony最新的PS2游戲機就採用了Linux作為系統軟體,使PS2搖身一變,成為了一台Linux工作站。著名的電影《泰坦尼克號》的數字技術合成工作就是利用100多台Linux伺服器來完成的。

2001年8月17日,Linux發布了最新的Linux 2.4.9版,它也已經十歲了。

Linux的優點

Linux的流行是因為它具有許多誘人之處。

1、完全免費

Linux是一款免費的操作系統,用戶可以通過網路或其他途徑免費獲得,並可以任意修改其源代碼。這是其他的操作系統所做不到的。正是由於這一點,來自全世界的無數程序員參與了Linux的修改、編寫工作,程序員可以根據自己的興趣和靈感對其進行改變。這讓Linux吸收了無數程序員的精華,不斷壯大。

2、完全兼容POSIX 1.0標准

這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。

3、多用戶、多任務

Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。

4、良好的界面

Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Windows系統,用戶可以使用滑鼠對其進行操作。在X-Windows環境中就和在Windows中相似,可以說是一個Linux版的Windows。

5、豐富的網路功能

互聯網是在Unix的基礎上繁榮起來的,Linux的網路功能當然不會遜色。它的網路功能和其內核緊密相連,在這方面Linux要優於其他操作系統。在Linux中,用戶可以輕松實現網頁瀏覽、文件傳輸、遠程登陸等網路工作。並且可以作為伺服器提供WWW、FTP、E-Mail等服務。

6、可靠的安全、穩定性能

Linux採取了許多安全技術措施,其中有對讀、寫進行許可權控制、審計跟蹤、核心授權等技術,這些都為安全提供了保障。Linux由於需要應用到網路伺服器,這對穩定性也有比較高的要求,實際上Linux在這方面也十分出色。

7、支持多種平台

Linux可以運行在多種硬體平台上,如具有x86、680x0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel 64位晶元架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。

Linux的不足

由於在現在的個人電腦操作系統行業中,微軟的Windows系統仍然佔有大部分的份額,絕大多數的軟體公司都支持Windows。這使得Windows上的應用軟體應有盡有,而其他的操作系統就要少一些。許多用戶在換操作系統的時候都會考慮以前的軟體能否繼續使用,換了操作系統後是否會不方便。雖然Linux具有DOS、Windows模擬器,可以運行一些Windows程序,但Windows系統極其復雜,模擬器所模擬的運行環境不可能完全與真實的Windows環境一模一樣,這就使得一些軟體無法正常運行。

許多硬體設備面對Linux的驅動程序也不足,不少硬體廠商是在推出Windows版本的驅動程序後才編寫Linux版的。但一些大硬體廠商在這方面做得還不錯,他們的Linux版驅動程序一般都推出得比較及時。

軟體支持的不足是Linux最大的缺憾,但隨著Linux的發展,越來越多的軟體廠商會支持Linux,它應用的范圍也越來越廣。這只小企鵝的前景是十分光明的。

回答者: 280258962 - 助理 三級 12-15 09:44

Linux系統介紹

--------------------------------------------------------------------------------

簡單地說,Linux是一套免費使用和自由傳播的類Unix**作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的**作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路**作系統。它主要用於基於Intel x86系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的Unix兼容產品 !

Linux以它的高效性和靈活性著稱。Linux模塊化的設計結構,使得它既能在價格昂貴的工作站上運行,也能夠在廉價的PC機上實現全部的Unix特性,具有多任務、多用戶的能力。Linux是在GNU公共許可許可權下免費獲得的,是一個符合POSIX標準的**作系統。Linux**作系統軟體包不僅包括完整的Linux**作系統,而且還包括了文本編輯器、高級語言編譯器等應用軟體。它還包括帶有多個窗口管理器的X-Windows圖形用戶界面,如同我們使用Windows NT一樣,允許我們使用窗口、圖標和菜單對系統進行**作。

Linux具有Unix的優點:穩定、可靠、安全,有強大的網路功能。在相關軟體的支持下,可實現WWW、FTP、DNS、DHCP、E-mail等服務,還可作為路由器使用,利用ipchains/iptables可構建NAT及功能全面的防火牆。

Linux有很多發行版本,較流行的有:RedHat Linux、Debian Linux、RedFlag Linux等。

RedHat Linux,支持Intel,Alpha和SPARC平台,具有豐富的軟體包。可以說,RedHat Linux是Linux世界中非常容易使用的版本,它**作簡單,配置快捷,獨有的RPM模塊功能使得軟體的安裝非常方便。

Debian Linux基於標准LINUX內核,包含了數百軟體包,如GNU軟體,TeX,X Windows系統等。每一個軟體包均為獨立的模塊單元,不依賴於任何特定的系統版本,每個人都能創建自己的軟體包。Debian Linux是一套非商業化的由眾多志願者共同努力而成的LINUX.

RedFlag Linux(紅旗Linux)是Linux的一個發展產品,由中科紅旗軟體技術有限公司開發研製的以 Intel和Alpha晶元為CPU構成的伺服器平台上第一個國產的**作系統版本。它標志著我國在發展國產**作系統的道路上邁出了堅實的一步。 相對於Windows**作系統及Unix**作系統來講,Linux憑借其開放性及低成本,已 經在伺服器**作系統市場獲得了巨大發展。但由於其**作界面復雜,一時難以讓普通 PC用戶接受。GNOME是GNU組織中專門開發桌面環境的項目。GNOME作為開放源代碼的 軟體開發成果,基於兼容性良好的CORBA技術,與Linux系統相輔相成,帶給用戶更加 友好的界面,更多的使用、檢查、修改及分發自由。與同是開放源代碼圖形用戶界面 的KDE相比較,GNOME表現得更能減輕其他公司創建Linux桌面應用的勞動。GNOME已經 成為業內人士普遍看好的一個趨勢性軟體。繼伺服器版1.0、桌面版2.0、嵌入式Linux之後,紅旗最近又推出了新產品--紅 旗伺服器2.0和紅旗網路商務通等多種發行版本和相 21765希望對你有幫助!

❺ 如何在QNX下編譯源碼

1.<BUILD_ROOT>是指正確的目錄,如E:\community.qnx.com\svn\repos\coreos_pub,裡面有trunk,源碼在裡面。

2.如果不是在Neutrino
self-hosted下運行( then you will need to tell the build process to ignore
the content of the GNU configure style source moles.) 運行此命令,大概運行幾分鍾。(hide-gnu.sh可下載)

% ksh hide-gnu.sh <BUILD_ROOT>

3.創建目錄(Create a staging directory for installed binaries and headers to go )
% cd <BUILD_ROOT>
% mkdir stage

4.按文檔中方法建立qconf-override.mk文件,也是在<BUILD_ROOT>目錄下。內容如下:
USE_INSTALL_ROOT=1
INSTALL_ROOT_nto=<BUILD_ROOT>/stage
VERSION_REL=6.3.0
注意一定要使用「/」換掉Windows的「\」

5.% export QCONF_OVERRIDE=<BUILD_ROOT>/qconf-override.mk
Windows下用set替代export.也可直接在我的電腦->環境變數里增加。還是要注意"/"問題。

6.基本沒問題了,

內核:
% cd <BUILD_ROOT>/trunk
% make OSLIST=nto CPULIST=x86 hinstall
% make OSLIST=nto CPULIST=x86 install

網路:
% cd <BUILD_ROOT>/tags/6.4.0/GA
% make CPULIST=x86 install

or:
% cd <BUILD_ROOT>/trunk
% make CPULIST=ppc install

等等

❻ 如何在windows環境下搭建qnx編譯環境

1.<BUILD_ROOT>是指正確的目錄,如E:\community.qnx.com\svn\repos\coreos_pub,裡面有trunk,源碼在裡面。

2.如果不是在Neutrino self-hosted下運行( then you will need to tell the build process to ignore the content of the GNU configure style source moles.) 運行此命令,大概運行幾分鍾。(hide-gnu.sh可下載)
% ksh hide-gnu.sh <BUILD_ROOT>

3.創建目錄(Create a staging directory for installed binaries and headers to go )
% cd <BUILD_ROOT>
% mkdir stage

4.按文檔中方法建立qconf-override.mk文件,也是在<BUILD_ROOT>目錄下。內容如下:
USE_INSTALL_ROOT=1
INSTALL_ROOT_nto=<BUILD_ROOT>/stage
VERSION_REL=6.3.0
注意一定要使用「/」換掉Windows的「\」

5.% export QCONF_OVERRIDE=<BUILD_ROOT>/qconf-override.mk
Windows下用set替代export.也可直接在我的電腦->環境變數里增加。還是要注意"/"問題。

6.基本沒問題了,
內核:
% cd <BUILD_ROOT>/trunk
% make OSLIST=nto CPULIST=x86 hinstall
% make OSLIST=nto CPULIST=x86 install
網路:
% cd <BUILD_ROOT>/tags/6.4.0/GA
% make CPULIST=x86 install

or:
% cd <BUILD_ROOT>/trunk
% make CPULIST=ppc install
等等

---------------------------------------------------------------------
問題:E:\Delores\QNX_SRC\coreos_pub\trunk\utils\r\rtc編譯出錯
無法找到頭文件:
#include <hw/i2c.h>
看了一下common.mk,發現有下面的路徑,聯想fondry27上說的,hardware裡面都是硬體相關的頭文件,公開的源碼里沒有這個目錄。看來是沒辦法編譯rtc了,不過也沒啥用。把rtc目錄剪切掉繼續編譯。
EXTRA_INCVPATH = $(PROJECT_ROOT)/../../../lib/util/public
EXTRA_INCVPATH += $(PROJECT_ROOT)/../../../hardware/startup/lib/public
(可惜我不懂這是什麼意思,於是我從BSP里隨便找了個i2c.h放到D:\QNX640\target\qnx6\usr\include\hw目錄下)
-----------------------------------------------------------------------------------
(這個我沒遇到,因為我照著先做了,哈)
問題:編譯textmode出錯
找不到頭文件。發現qnx640下根本沒有這些東東。只有從632里復制了。
#include <graphics/display.h>
#include <graphics/disputil.h>
#include <graphics/vbios.h>
從E:\QNX632\target\qnx6\usr\include復制graphics目錄到E:\QNX640\target\qnx6\usr\include下。
編譯textmode通過。

❼ 什麼是UNIX和L inux平台有什麼特點謝謝啦 !!

UNIX ,是一個強大的多用戶、多任務操作系統,支持多種處理器架構,最早由Ken Thompson、Dennis Ritchie和Douglas McIlroy於1969年在AT&T的貝爾實驗室開發。經過長期的發展和完善,目前已成長為一種主流的操作系統技術和基於這種技術的產品大家族。由於UNIX具有技術成熟、可靠性高、網路和資料庫功能強、伸縮性突出和開放性好等特色,可滿足各行各業的實際需要,特別能滿足企業重要業務的需要,已經成為主要的工作站平台和重要的企業操作平台。

曾經是伺服器操作系統的首選,占據最大市場份額,但最近在跟WINDOWS SERVER以及Linux的競爭中有所失利。

詳細介紹:

Ken和Dennis最早是在貝爾實驗室開發Unix的,此後的10年,Unix在學術機構和大型企業中得到了廣泛的應用,當時的UNIX擁有者AT&T公司以低廉甚至免費的許可將Unix源碼授權給學術機構做研究或教學之用,許多機構在此源碼基礎上加以擴充和改進,形成了所謂的Unix「變種 (Variations)」,這些變種反過來也促進了Unix的發展,其中最著名的變種之一是由加州大學Berkeley分校開發的BSD產品。

後來AT&T意識到了Unix的商業價值,不再將Unix源碼授權給學術機構,並對之前的Unix及其變種聲明了版權權利。變種BSD Unix在Unix的歷史發展中具有相當大的影響力,被很多商業廠家採用,成為很多商用Unix的基礎。BSD使用主版本加次版本的方法標識,如 4.2BSD,4.3BSD,在原始版本的基礎上還有派生版本,這些版本通常有自己的名字,如4.3BSD-Net/1,4.3BSD-Net/2等。其不斷增大的影響力終於引起了AT&T的關注,於是開始了一場曠日持久的版權官司,這場官司一直打到 AT&T將自己的Unix系統實驗室賣掉,新接手的Novell公司採取了一種比較開明的做法,允許伯克利自由發布自己的BSD,但是前提是必須將來自於AT&T的代碼完全刪除,於是誕生了4.4 BSD Lite版,由於這個版本不存在法律問題,4.4BSD Lite成為了現代BSD系統的基礎版本。盡管後來,非商業版的UNIX系統又經過了很多演變,但其最終,都是建立在BSD版本上(Linux除外)。所以從這個角度上,4.4 BSD又是所有自由版(Free版)Unix的基礎,它們和Unix V及Linux等共同構成Unix操作系統這片璀璨的星空。

BSD在發展中也逐漸衍生出3個主要的分支:FreeBSD,OpenBSD和NetBSD。

此後的幾十年中,Unix仍在不斷變化,其版權所有者不斷變更,授權者的數量也在增加。Unix的版權曾經為AT&T所有,之後Novell擁有了Unix,再之後Novell又將版權出售給了SCO(這一事實雙方尚存在爭議)。有很多大公司在取得了Unix的授權之後,開發了自己的Unix產品,比如IBM的AIX,HP的HPUX,SUN的Solaris和SGI的IRIX。

Unix因為其安全可靠,高效強大的特點在伺服器領域得到了廣泛的應用。直到GNU/Linux流行開始前,Unix也是科學計算、大型機、超級計算機等所用操作系統的主流。

歷史

初創期

Unix的誕生和Multics(Multiplexed Information and Computing System)是有一定淵源的。Multics是由麻省理工學院,AT&T貝爾實驗室和通用電氣合作進行的操作系統項目,被設計運行在GE-645大型主機上,但是由於整個目標過於龐大,糅合了太多的特性,Multics雖然發布了一些產品,但是性能都很低,最終以失敗而告終。

AT&T最終撤出了投入Multics項目的資源,其中一個開發者,Ken Thompson則繼續為GE-645開發軟體,並最終編寫了一個太空旅行游戲。經過實際運行後,他發現游戲速度很慢而且耗費昂貴——每次運行會花費75美元。

在Dennis Ritchie的幫助下,Thompson用PDP-7的匯編語言重寫了這個游戲,並使其在DEC PDP-7上運行起來。這次經歷加上Multics項目的經驗,促使Thompson開始了一個DEC PDP-7上的新操作系統項目。Thompson和Ritchie領導一組開發者,開發了一個新的多任務操作系統。這個系統包括命令解釋器和一些實用程序,這個項目被稱為UNICS(Uniplexed Information and Computing System),因為它可以支持同時的多用戶操作。後來這個名字被改為UNIX。

發展期

最初的Unix是用匯編語言編寫的,一些應用是由叫做B語言的解釋型語言和匯編語言混合編寫的。B語言在進行系統編程時不夠強大,所以Thompson和Ritchie對其進行了改造,並與1971年共同發明了C語言。1973 年Thompson和Ritchie用C語言重寫了Unix。在當時,為了實現最高效率,系統程序都是由匯編語言編寫,所以Thompson和 Ritchie此舉是極具大膽創新和革命意義的。用C語言編寫的Unix代碼簡潔緊湊、易移植、易讀、易修改,為此後Unix的發展奠定了堅實基礎。

1974年,Thompson和Ritchie合作在ACM通信上發表了一片關於UNIX的文章,這是UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1975年,UNIX發布了4、5、6三個版本。1978年,已經有大約600台計算機在運行UNIX。1979年,版本7發布,這是最後一個廣泛發布的研究型UNIX版本。20世紀80年代相繼發布的8、9、10版本只授權給了少數大學。此後這個方向上的研究導致了Plan 9的出現,這是一個新的分布式操作系統。

1982年,AT&T基於版本7開發了UNIX System Ⅲ的第一個版本,這是一個商業版本僅供出售。為了解決混亂的UNIX版本情況,AT&T綜合了其他大學和公司開發的各種UNIX,開發了UNIX System V Release 1。

這個新的UNIX商業發布版本不再包含源代碼,所以加州大學Berkeley分校繼續開發BSD UNIX,作為UNIX System III和V的替代選擇。BSD對UNIX最重要的貢獻之一是TCP/IP。BSD 有8個主要的發行版中包含了TCP/IP:4.1c、4.2、4.3、4.3-Tahoe、4.3-Reno、Net2、4.4以及 4.4-lite。這些發布版中的TCP/IP代碼幾乎是現在所有系統中TCP/IP實現的前輩,包括AT&T System V UNIX 和Microsoft Windows。

其他一些公司也開始為其自己的小型機或工作站提供商業版本的UNIX系統,有些選擇System V作為基礎版本,有些則選擇了BSD。BSD的一名主要開發者,Bill Joy,在BSD基礎上開發了SunOS,並最終創辦了Sun Microsystems。

1991年,一群BSD開發者(Donn Seeley、Mike Karels、Bill Jolitz 和 Trent Hein)離開了加州大學,創辦了Berkeley Software Design, Inc (BSDI)。BSDI是第一家在便宜常見的Intel平台上提供全功能商業BSD UNIX的廠商。後來Bill Jolitz 離開了BSDI,開始了386BSD的工作。386BSD被認為是FreeBSD、OpenBSD 和 NetBSD的先輩。

AT&T繼續為UNIX System V增加了文件鎖定,系統管理,作業控制,流和遠程文件系統。1987到1989年,AT&T決定將Xenix(微軟開發的一個x86-pc上的UNIX版本),BSD,SunOS和System V融合為System V Release 4(SVR4)。這個新發布版將多種特性融為一體,結束了混亂的競爭局面。

1993年以後,大多數商業UNIX發行商都基於SVR4開發自己的UNIX變體了。

現況

UNIX System V Release 4發布後不久,AT&T就將其所有UNIX權利出售給了Novell。Novell期望以此來對抗微軟的Windows NT,但其核心市場受到了嚴重傷害,最終Novell將SVR4的權利出售給了X/OPEN Consortium,後者是定義UNIX標準的產業團體。最後X/OPEN和OSF/1合並,創建了Open Group。Open Group定義的多個標準定義著什麼是以及什麼不是UNIX。

實際的UNIX代碼則輾轉到了Santa Cruz Operation,這家公司後來出售給了Caldera Systems。Caldera原來也出售Linux系統,交易完成後,新公司又被重命名為SCO Group。

1127部門的解散

根據一項報導指出,當年負責研發UNIX與後續維護工作的貝爾實驗室1127部門已於2005年8月正式宣告解散。Ken Thompson已退休,現居加州;Dennis Ritchie調到別的部門;Douglas McIlroy在達特茅斯學院擔任教授等等。

標准

從1980年代開始,POSIX,一個開放的操作系統標准就在制定中,IEEE制定的POSIX標准現在是UNIX系統的基礎部分。

自由的類Unix系統

Richard Stallman建立了GNU項目,要創建一個能夠自由發布的類UNIX系統。20年來,這個項目不斷發展壯大,包含了越來越多的內容。現在,GNU項目開發的產品,比如Emacs,GCC等已經成為各種其他自由發布的類UNIX產品中的核心角色。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus' Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發布,並逐漸引起人們的注意。當GNU軟體與Linux內核結合後,GNU軟體構成了這個POSIX兼容操作系統GNU/Linux的基礎。今天GNU/Linux已經成為發展最為活躍的自由/開放源碼的類Unix操作系統。

1994年,BSD Unix走上了復興的道路。BSD的開發也走向了幾個不同的方向,並最終導致了FreeBSD、OpenBSD和NetBSD的出現。

類Unix操作系統

A/UX | AIX | BSD | DragonFly BSD | FreeBSD | GNU | HP-UX | IRIX | Linux | LynxOS | Mac OS X | Minix | NetBSD | NEXTSTEP | OpenBSD | QNX | SCO OpenServer | Solaris | System V | Tru64 | Xenix | 更多... |

Linux操作系統(Linux),是一種計算機操作系統。Linux操作系統的內核的名字也是「Linux」。Linux操作系統也是自由軟體和開放源代碼發展中最著名的例子。

嚴格來講,Linux這個詞本身只表示Linux內核,但在實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和資料庫的操作系統(也被稱為GNU/Linux)。基於這些組件的Linux軟體被稱為Linux發行版。一般來講,一個Linux發行套件包含大量的軟體,比如軟體開發工具,資料庫,Web伺服器(例如Apache),X Window,桌面環境(比如GNOME和KDE),辦公套件(比如OpenOffice.org),等等。
Linux內核最初是為英特爾386微處理器設計的。現在Linux內核支持從個人電腦到大型主機甚至包括嵌入式系統在內的各種硬體設備。
在開始的時候,Linux只是個人狂熱愛好的一種產物。但是現在,Linux已經成為了一種受到廣泛關注和支持的一種操作系統。包括IBM和惠普在內的一些計算機業巨頭也開始支持Linux。很多人認為,和其他的商用Unix系統以及微軟Windows相比,作為自由軟體的Linux具有低成本,安全性高,更加可信賴的優勢。

概述

絕大多數基於Linux內核的的操作系統使用了大量的GNU軟體,包括了一個shell程序、工具、程序庫、編譯器及工具,還有許多其他程序,例如Emacs。正因為如此,GNU計劃的開創者理查德·馬修·斯托曼博士提議將Linux操作系統改名為GNU/Linux。但有些人只把操作系統叫做"Linux"。
大多數系統還包括了像提供GUI界面的XFree86之類的曾經運行於BSD的程序。
除了一部分專家之外,大多數人都不自己選擇每一樣組件或自行設置,而是直接使用Linux套件。

1983年,理察·馬修·斯托曼(Richard Stallman)創立了GNU計劃(GNU Project)。這個計劃有一個目標是為了發展一個完全免費自由的 Unix-like 操作系統。自1990年代發起這個計劃以來,GNU 開始大量的產生或收集各種系統所必備的元件,像是——函式庫(libraries)、編譯器(compilers)、偵錯工具(debuggers)、文字編輯器(text editors)、網頁伺服器(web server),以及一個Unix的使用者介面(Unix shell)——除了執行核心(kernel)仍然付闕外。1990年,GNU計劃開始在馬赫微核(Mach microkernel)的架構之上開發系統核心,也就是所謂的GNU Hurd,但是這個基於Mach的設計異常復雜,發展進度則相對緩慢。

Linux內核最初只是由芬蘭人林納斯·托瓦茲(Linus Torvalds)在赫爾辛基大學上學時出於個人愛好而編寫的,當時他並不滿意Minix這個教學用的操作系統。最初的設想中,Linux 是一種類似Minix這樣的一種操作系統。Linux的第一個版本在1991年9月被大學FTP server管理員Ari Lemmke發布在Internet上,最初Torvalds 稱這個核心的名稱為 "Freax" ,意思是自由( "free") 和奇異( "freak") 的結合字,並且附上了"X"這個常用的字母,以配合所謂的 Unix-like 的系統。但是FTP server管理員嫌原來的命名「Freax」的名稱不好聽,把核心的稱呼改成「Linux」,當時僅有10000行代碼,仍必須執行於Minix操作系統之上,並且必須使用硬碟開機;隨後在10月份第二個版本(0.02版)就發布了,同時這位芬蘭赫爾辛基的大學生在comp.os.minix上發布一則信息:

Hello everybody out there using minix-
I'm doing a (free) operation system (just a hobby,
won't be big and professional like gnu) for 386(486) AT clones.

歷史

Linux 的歷史是和GNU緊密聯系在一起的。從1983年開始的GNU計劃致力於開發一個自由並且完整的類Unix操作系統,包括軟體開發工具和各種應用程序。到1991年 Linux 內核發布的時候,GNU已經幾乎完成了除了系統內核之外的各種必備軟體的開發。在Linus Torvalds和其他開發人員的努力下,GNU組件可以運行於Linux內核之上。整個內核是基於 GNU 通用公共許可,也就是GPL(GNU General Public License,GNU通用公共許可證)的,但是Linux內核並不是GNU 計劃的一部分。1994年3月,Linux1.0版正式發布,Marc Ewing成立了 Red Hat 軟體公司,成為最著名的 Linux 分銷商之一。

Unix & Linux歷史源流早期Linux的開機管理程序(boot loader)是使用LILO(Linux Loader),存在著一些難以容忍的缺陷,例如無法識別8G以外的硬碟,後來新增GRUB(GRand Unified Bootloader)克服了這些缺點,具有『動態搜尋核心檔案』的功能,可以讓您在開機的時候,可以自行編輯您的開機設定系統檔案,透過 ext2 或 ext3 檔案系統中載入 Linux Kernel。
Linux 的標志和吉祥物是一隻名字叫做 Tux 的 企鵝,標志的由來是因為Linus在澳洲時曾被一隻動物園里的企鵝咬了一口,便選擇了企鵝作為Linux的標志。Linux的注冊商標是Linus Torvalds所有的。這是由於在1996年,一個名字叫做William R. Della Croce的律師開始向各個 Linux 發布商發信,聲明他擁有Linux商標的所有權,並且要求各個發布商支付版稅,這些發行商集體進行上訴,要求將該注冊商標重新分配給 Linus Torvalds。Linus Torvalds 一再聲明 Linux 是免費的,他本人可以賣掉,但 Linux 絕不能賣。
Linux 的某些版本是不需要安裝就能使用的版本,他們稱為 LiveCD。
用戶群

GNU/Linux愛好者設計的宣傳圖,並使用GPL授權
GNU/Linux社群設計的立體圖,並使用GPL授權傳統的Linux用戶一般都安裝並設置自己的操作系統,他們往往比其他操作系統,例如微軟Windows和Mac OS的用戶更有經驗。這些用戶有時被稱作「黑客」或是「極客」(geek)。然而隨著Linux越來越流行,越來越多的原廠委託製造(OEM)開始在其銷售的電腦上預裝上Linux,Linux的用戶中也有了普通電腦用戶,Linux系統也開始慢慢搶占桌面電腦操作系統市場。同時Linux也是最受歡迎的伺服器操作系統之一。Linux也在嵌入式電腦市場上擁有優勢,低成本的特性使Linux深受用戶歡迎。使用Linux主要的成本為移植、培訓和學習的費用,早期由於會使用Linux的人較少,這方面費用較高,但這方面的費用已經隨著Linux的日益普及和Linux上的軟體越來越多、越來越方便而降低。
KDE和GNOME等桌面系統使Linux更像是一個Mac或Windows之類的操作系統,提供完善的圖形用戶界面,而不同於其他使用命令行界面(Command Line Interface,CLI)的類Unix操作系統。

未來軟體界的方向

Linux 作為較早的源代碼開放操作系統,將引領未來軟體發展的方向。
基於 Linux 開放源碼的特性,越來越多大中型企業及政府投入更多的資源來開發 Linux。現今世界上,很多國家逐漸的把政府機構內部門的電腦轉移到 Linux 上,這個情況還會一直持續。Linux 的廣泛使用為政府機構節省了不少經費,也降低了對封閉源碼軟體潛在的安全性的憂慮。

Linux的英文發音

根據Torvalds的說法,Linux的發音和「Minix」是押韻的。
「Li」中「i」的發音類似於「Minix」中「i」的發音,而「nux」中「u」的發音類似於英文單詞「profess」中「o」的發音。依照國際音標應該是['linэks]。
有一份Torvalds本人說話的音頻,音頻內容為「Hello, this is Linus Torvalds, and I pronounce Linux as Linux」。

應用

運行在SUSE上的KDE桌面環境。過去,Linux主要被用作伺服器的操作系統,但因它的廉價、靈活性及Unix背景使得它很合適作更廣泛的應用。傳統上,以Linux為基礎的「LAMP(Linux, Apache, MySQL, Perl/PHP/python的組合)」技術,除了已在開發者群體中廣泛流行,它亦是現時提供網站務供應商最常使用的平台。

基於其低廉成本與高度可設定性,Linux常常被應用於嵌入式系統,例如機頂盒、行動電話及行動裝置等。在行動電話上,Linux已經成為Symbian OS的主要競爭者;而在行動裝置上,則成為Windows CE與Palm OS外之另一個選擇。目前流行的TiVo數位攝影機使用了經過客制化後的Linux。此外,有不少硬體式的網路防火牆及路由器,例如部份LinkSys的產品,其內部都是使用Linux來驅動、並採用了操作系統提供的防火牆及路由功能。

採用Linux的超級電腦亦愈來愈多,根據2005年11月號的TOP500超級電腦列表,現時世上最快速的兩組超級電腦都是使用Linux作為其操作系統。而在表列的500套系統里,採用Linux為操作系統的,佔了371組(即74.2%),其中的前十位者,有7組是使用Linux的。

2006年開始發售的SONY PlayStation 3亦使用Linux的操作系統。之前,Sony亦曾為他們的PlayStation 2推出過一套名為PS2 Linux的DIY組件。至於游戲開發商雅達利及id Software,都有為其旗下的游戲推出過Linux桌面版本。此外,Linux Game Publishing亦有專門為Linux平台撰寫游戲,並致力於把其他在Windows平台編撰的游戲程序碼轉攜至Linux平台,及為轉攜游戲提供使用授權。
而一個打算對所有生活在發展中國家孩子提供手提電腦的名為每孩子皆有一部手提電腦(OLPC)的項目,正是使用Linux作為預設的操作系統。

發行版

Linux 主要作為Linux 發行版(通常被稱為"distro")的一部分而使用。這些發行版由個人,鬆散組織的團隊,以及商業機構和志願者組織編寫。它們通常包括了其他的系統軟體和應用軟體,以及一個用來簡化系統初始安裝的安裝工具,和讓軟體安裝升級的集成管理器。發行版為許多不同的目的而製作, 包括對不同計算機結構的支持, 對一個具體區域或語言的本地化,實時應用,和嵌入式系統,甚至許多版本故意地只加入免費軟體。目前,超過三百個發行版被積極的開發,最普遍被使用的發行版有大約十二個.

一個典型的Linux發行版包括:Linux內核,一些GNU程序庫和工具,命令行shell,圖形界面的X Window系統和相應的桌面環境,如KDE或GNOME,並包含數千種從辦公套件,編譯器,文本編輯器到科學工具的應用軟體。

Linux與其他操作系統區別

Linux可以與MS-DOS、OS/2、Windows等其他操作系統共存於同一台機器上。它們均為操作系統,具有一些共性,但是互相之間各有特色,有所區別。

目前運行在PC機上的操作系統主要有Microsoft的MS-DOS、Windows、Windows NT、IBM的OS/2等。早期的PC機用戶普遍使用MS-DOS,因為這種操作系統對機器的硬體配置要求不高,而隨著計算機硬體技術的飛速發展,硬體設備價格越來越低,人們可以相對容易地提高計算機的硬體配置,於是開始使用Windows、Windows NT等具有圖形界面的操作系統。Linux是新近被人們所關注的操作系統,它正在逐漸為PC機的用戶所接受。那麼,Linux與其他操作系統的主要區別是什麼呢?下面從兩個方面加以論述。

Linux與MS-DOS之間的區別

在同一系統上運行Linux和MS-DOS已很普遍,就發揮處理器功能來說,MS-DOS沒有完全實現x86處理器的功能,而Linux完全在處理器保護模式下運行,並且開發了處理器的所有特性。Linux可以直接訪問計算機內的所有可用內存,提供完整的Unix介面。而MS-DOS只支持部分Unix的介面。

就使用費用而言,Linux和MS-DOS是兩種完全不同的實體。與其他商業操作系統相比,MS-DOS價格比較便宜,而且在PC機用戶中有很大的佔有率,任何其他PC機操作系統都很難達到MS-DOS的普及程度,因為其他操作系統的費用對大多數PC機用戶來說都是一個不小的負擔。Linux是免費的,用戶可以從internet上或者其他途徑獲得它的版本,而且可以任意使用,不用考慮費用問題。

就操作系統的功能來說,MS-DOS是單任務的操作系統,一旦用戶運行了一個MS-DOS的應用程序,它就獨佔了系統的資源,用戶不可能再同時運行其他應用程序。而Linux是多任務的操作系統,用戶可以同時運行多個應用程序。

Linux與OS/2、Windows、Windows NT之間的區別

從發展的背景看,Linux與其他操作系統的區別是,Linux是從一個比較成熟的操作系統發展而來的,而其他操作系統,如Windows NT等,都是自成體系,無對應的相依託的操作系統。這一區別使得Linux的用戶能大大地從Unix團體貢獻中獲利。因為Unix是世界上使用最普遍、發展最成熟的操作系統之一,它是七十年代中期發展起來的微機和巨型機的多任務系統,雖然有時介面比較混亂,並缺少相對集中的標准,但還是發展壯大成為了最廣泛使用的操作系統之一。無論是Unix的作者還是Unix的用戶,都認為只有Unix才是一個真正的操作系統,許多計算機系統(從個人計算機到超級計算機)都存在Unix版本,Unix的用戶可以從很多方面得到支持和幫助。因此,Linux做為Unix的一個克隆,同樣會得到相應的支持和幫助,直接擁有Unix在用戶中建立的牢固的地位。

從使用費用上看,Linux與其他操作系統的區別在於Linux是一種開放、免費的操作系統,而其他操作系統都是封閉的系統,需要有償使用。這一區別使得我們能夠不用花錢就能得到很多Linux的版本以及為其開發的應用軟體。當我們訪問Internet時,會發現幾乎所有可用的自由軟體都能夠運行在Linux系統上。有來自很多軟體商的多種Unix實現,Unix的開發、發展商以開放系統的方式推動其標准化,但卻沒有一個公司來控制這種設計。因此,任何一個軟體商(或開拓者)都能在某種Unix實現中實現這些標准。OS/2和Windows NT等操作系統是具有版權的產品,其介面和設計均由某一公司控制,而且只有這些公司才有權實現其設計,它們是在封閉的環境下發展的。

展望

一個打算對所有生活在發展中國家孩子提供手提電腦的名為每孩子皆有一部手提電腦(OLPC)的項目,正是使用Linux作為預設的操作系統。
什麼是Linux簡單地說,Linux是一套免費使用和自由傳播的類Unix操作系統,它主要用於基於Intel x86系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的Unix兼容產品。
Linux的出現,最早開始於一位名叫Linus Torvalds的計算機業余愛好者,當時他是芬蘭赫爾辛基大學的學生。他的目的是想設計一個代替Minix(是由一位名叫Andrew Tannebaum的計算機教授編寫的一個操作系統示教程序)的操作系統,這個操作系統可用於386、486或奔騰處理器的個人計算機上,並且具有 Unix操作系統的全部功能,因而開始了Linux雛形的設計。
Linux以它的高效性和靈活性著稱。它能夠在PC計算機上實現全部的Unix特性,具有多任務、多用戶的能力。Linux是在GNU公共許可許可權下免費獲得的,是一個符合POSIX標準的操作系統。Linux操作系統軟體包不僅包括完整的Linux操作系統,而且還包括了文本編輯器、高級語言編譯器等應用軟體。它還包括帶有多個窗口管理器的X-Windows圖形用戶界面,如同我們使用Windows NT一樣,允許我們使用窗口、圖標和菜單對系統進行操作。
Linux之所以受到廣大計算機愛好者的喜愛,主要原因有兩個,一是它屬於自由軟體,用戶不用支付任何費用就可以獲得它和它的源代碼,並且可以根據自己的需要對它進行必要的修改,無償對它使用,無約束地繼續傳播。另一個原因是,它具有Unix的全部功能,任何使用Unix操作系統或想要學習 Unix操作系統的人都可以從Linux中獲益。

❽ 什麼是qt,QT Creator,QT SDK,QT Designer

Qt是一個跨平台的C++圖形用戶界面應用程序框架。它提供給應用程序開發者建立藝術級的圖形用戶界面所需的所用功能。Qt是完全面向對象的,很容易擴展,並且允許真正地組件編程。
自從1996年早些時候,Qt進入商業領域,它已經成為全世界范圍內數千種成功的應用程序的基礎。Qt也是流行的Linux桌面環境KDE 的基礎,KDE是所有主要的Linux發行版的一個標准組件。
Qt支持下述平台:
MS/Windows - 95、98、NT 4.0、ME、2000、XP 和 Vista
Unix/X11 - Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX和其它很多X11平台
Macintosh - Mac OS X
Embedded - 有幀緩沖(framebuffer)支持的Linux平台,Windows CE。
Symbian/S60 - 目前已經可以提供技術預覽版本
Qt是諾基亞公司的一個產品。
Qt被按不同的版本發行:
Q商業版 提供給商業軟體開發。它們提供傳統商業軟體發行版並且提供在協議有效期內的免費升級和技術支持服務。如果要獲得最新信息,請瀏覽諾基亞公司Qt Software網站頁面,或者與[email protected]聯系。商業版多一些擴展模塊。
Qt開源版是Qt僅僅為了開發自由和開放源碼軟體, 提供了和商業版本同樣的功能。GNU通用公共許可證下,它是免費的。最新的版本可以在這里下載。
從2009年3月發布的Qt 4.5 起,諾基亞將為Qt增添新的開源LGPL授權選擇。
關於如何正確的選擇這三種授權協議,可以閱讀[1]。
從2009年5月11日起,諾基亞Qt Software 宣布 Qt源代碼庫面向公眾開放,Qt 開發人員可通過為 Qt 以及與 Qt 相關的項目貢獻代碼、翻譯、示例以及其他內容,協助引導和塑造 Qt未來的發展。為了便於這些內容的管理,Qt Software 啟用了基於 Git 和 Gitorious 開源項目的Web 源代碼管理系統[2] 。
在推出開放式 Qt 代碼庫的同時,Qt Software 在其官方網站發布了其產品規劃(Roadmap)。其中概述了研發項目中的最新功能,展現了現階段對 Qt 未來發展方向的觀點,以期鼓勵社區提供反饋和貢獻代碼,共同引導和塑造 Qt 的未來。

Qt 4.5版本

Qt 4.5涵蓋了一些新的特色,它的最大改進是通過協同作用提升了整個框架的性能。圖形系統、數據處理和網路引擎性能顯著增強,實現了基於Qt的應用程序性能的明顯提升。
Qt 4.5版本還提升了與WebKit頁面渲染引擎的集成度,將Web和本地內容融合進豐富的用戶體驗當中。包括:
Netscape瀏覽器插件API支持,使Qt應用程序可以載入Flash(例如YouTube播放器) 更先進的Web 用戶界面效果,包括動畫、轉換和縮放 新的JavaScript腳本語言引擎可提供更強的性能
Qt4.5還被移植進了蘋果的Cocoa框架。之前的Qt只支持Carbon框架,現在的Qt 4.5兩者都支持。這意味著開發人員能夠以單一源代碼創建出支持32位或64位位元組的Intel或PowerPC Mac二進制文件。

Qt Creator

開發人員目前已經可以下載Qt Creator的1.1版本,這是一個用於Qt開發的輕量級跨平台集成開發環境。Qt Creator可帶來兩大關鍵益處:提供首個專為支持跨平台開發而設計的集成開發環境 (IDE),並確保首次接觸Qt框架的開發人員能迅速上手和操作。
Qt Creator包含了一套用於創建和測試基於Qt應用程序的高效工具,包括:
一個高級的C++代碼編輯器 上下文感知幫助系統 可視化調試器 源代碼管理 項目和構建管理工具
Qt Creator在LGPL 2.1版本授權下有效,並且接受代碼貢獻。目前的Qt Creator只支持桌面平台(Windows、Linux、Mac操作系統)的Qt開發,但隨後數月就能支持嵌入式平台的開發。

2. 為什麼選擇 QT
2.1 QT 是基於 C++ 的一種語言
相信 C/C++ 目前還是一種很多人都在學習的語言. QT 的好處就在於 QT 本身可以被稱作是一種 C++ 的延伸. QT 中有數百個 class 都是用 C++ 寫出來的. 這也就是說, QT 本身就具備了 C++ 的快速、簡易、Object-Oriented Programming (OOP)等等無數的優點.
2.2 QT 具有非常好的可移植性(Portable)
QT 不只是可以在 Linux 中運作.也同樣可以運行在 Microsoft Windows 中.這也就意味者,利用 QT 編寫出來的程式,在幾乎不用修改的情況下,就可以同時在 Linux 中和 Microsoft Windows 中運行. QT 的應用非常之廣泛,從 Linux 到 Windows 從 x86 到 Embedded 都有 QT 的影子.
3. 什麼是 QT Designer
簡單的來說 QT Designer 是一個 GUI 的工具. 這個工具可以幫助我們來加快寫 QT 程式的速度. 利用 QT Designer 可以用一種所見既所得的方式,來產生 QT 程式的 GUI 介面的程式碼. 通過增加一些功能,就可以完成一個程式了.利用 QT Designer 可以非常快速的學會 QT, 而我們這里說利用 QT Designer 來學習 QT 而不是利用 QT Designer 來寫 QT, 這里的區別就在於, QT Designer 所產生的程式碼有些繁瑣. 跑起來也比較的慢些.我們這里只是利用 QT Designer 來幫助我們學習.而不是直接 去跑 QT Designer 生成的程式碼.
Qt軟體開發工具包 (Qt SDK)

全新的Qt軟體開發工具包,可從www.qtsoftware.com下載。這個綜合套裝的設計主旨,是為開發人員提供從一個易於安裝的二進制文件包入手,開始跨平台Qt開發這一過程中所需的一切。
Qt SDK包括了Qt庫、Qt Creator IDE和Qt工具,這些都集成在一個易於安裝的文件包里。
Qt SDK也同樣也支持Linux/X11, Windows, Mac三種主流桌面操作系統。
Qt的優勢
Qt 同 X Window 上的 Motif,Openwin,GTK 等圖形界 面庫和 Windows 平台上的 MFC,OWL,VCL,ATL 是同類型的東西,但是 Qt 具有下列優點:
優良的跨平台特性:
Qt支持下列操作系統: Microsoft Windows 95/98, Microsoft Windows NT, Linux,Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD,BSD/OS, SCO, AIX, OS390,QNX 等等。
面向對象
Qt 的良好封裝機制使得 Qt 的模塊化程度非常高,可重用性較好,對於用戶開發來說是非常 方便的。 Qt 提供了一種稱為 signals/slots 的安全類型來替代 callback,這使得各個元件 之間的協同工作變得十分簡單。
豐富的 API
Qt包括多達 250 個以上的 C++ 類,還替供基於模板的 collections, serialization, file, I/Odevice, directory management, date/time 類。甚至還包括正則表達式的處理 功能。
支持 2D/3D 圖形渲染,支持 OpenGL
大量的開發文檔
XML 支持
Webkit 引擎的集成,可以實現本地界面與Web內容的無縫集成
但是真正使得 Qt 在自由軟體界的眾多 Widgets (如 Lesstif,Gtk,EZWGL,Xforms,fltk 等等)中脫穎而出的還是基於 Qt 的重量級軟體 KDE 。

❾ python代碼解釋

Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠專注於解決問題而不是去搞明白語言本身。易學
Python極其容易上手,因為Python有極其簡單的語法。免費、開源
Python是FLOSS(自由/開放源碼軟體)之一。使用者可以自由地發布這個軟體的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟體中。FLOSS是基於一個團體分享知識的概念。高層語言
用Python語言編寫程序的時候無需考慮諸如如何管理你的程序使用的內存一類的底層細節。可移植性
由於它的開源本質,Python已經被移植在許多平台上(經過改動使它能夠工作在不同平台上)。這些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基於linux開發的android平台。解釋性
一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。運行程序的時候,連接/轉載器軟體把你的程序從硬碟復制到內存中並且運行。而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼運行程序。在計算機內部,Python解釋器把源代碼轉換成稱為位元組碼的中間形式,然後再把它翻譯成計算機使用的機器語言並運行。這使得使用Python更加簡單。也使得Python程序更加易於移植。面向對象
Python既支持面向過程的編程也支持面向對象的編程。在「面向過程」的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在「面向對象」的語言中,程序是由數據和功能組合而成的對象構建起來的。可擴展性
如果需要一段關鍵代碼運行得更快或者希望某些演算法不公開,可以部分程序用C或C++編寫,然後在Python程序中使用它們。可嵌入性
可以把Python嵌入C/C++程序,從而向程序用戶提供腳本功能。豐富的庫
Python標准庫確實很龐大。它可以幫助處理各種工作,包括正則表達式、文檔生成、單元測試、線程、資料庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其他與系統有關的操作。這被稱作Python的「功能齊全」理念。除了標准庫以外,還有許多其他高質量的庫,如wxPython、Twisted和Python圖像庫等等。規范的代碼
Python採用強制縮進的方式使得代碼具有較好可讀性。而Python語言寫的程序不需要編譯成二進制代碼。

熱點內容
我的世界好玩地鐵伺服器 發布:2024-11-15 17:48:54 瀏覽:359
1710小游戲伺服器ip 發布:2024-11-15 17:48:01 瀏覽:663
狂三腳本 發布:2024-11-15 17:31:38 瀏覽:872
附近存儲櫃 發布:2024-11-15 17:15:17 瀏覽:452
王選解決漢字存儲問題 發布:2024-11-15 17:15:11 瀏覽:660
球球大作戰安卓為什麼不能玩哪些模式 發布:2024-11-15 17:14:26 瀏覽:996
存儲器講課 發布:2024-11-15 17:14:12 瀏覽:196
安卓充電頭怎麼稱呼 發布:2024-11-15 17:11:17 瀏覽:446
獵人手游源碼 發布:2024-11-15 17:09:28 瀏覽:433
qt資源圖片編譯 發布:2024-11-15 16:59:26 瀏覽:666