Linux,全稱GNU/Linux,是一套免費使用和自由傳播的類UNIX操作系統,其內核由林納斯·本納第克特·托瓦茲于1991年第一次釋出,它主要受到Minix和Unix思想的啟發,是一個基于POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的Unix工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。Linux有上百種不同的發行版,如基于社區開發的debian、archlinux,和基于商業開發的Red Hat Enterprise Linux、SUSE、oracle linux等。
Linux,全稱GNU/Linux,是一套免費使用和自由傳播的類Unix操作系統,是一個基于POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。伴隨著互聯網的發展,Linux得到了來自全世界軟件愛好者、組織、公司的支持。它除了在服務器方面保持著強勁的發展勢頭以外,在個人電腦、嵌入式系統上都有著長足的進步。使用者不僅可以直觀地獲取該操作系統的實現機制,而且可以根據自身的需要來修改完善Linux,使其最大化地適應用戶的需要。
Linux不僅系統性能穩定,而且是開源軟件。其核心防火墻組件性能高效、配置簡單,保證了系統的安全。在很多企業網絡中,為了追求速度和安全,Linux不僅僅是被網絡運維人員當作服務器使用,Linux既可以當作服務器,又可以當作網絡防火墻是Linux的 一大亮點。
Linux 具有開放源碼、沒有版權、技術社區用戶多等特點 ,開放源碼使得用戶可以自由裁剪,靈活性高,功能強大,成本低。尤其系統中內嵌網絡協議棧 ,經過適當的配置就可實現路由器的功能。這些特點使得Linux成為開發路由交換設備的理想開發平臺。
Linux操作系統的誕生、發展和成長過程始終依賴著五個重要支柱:Unix操作系統、MINIX操作系統、GNU計劃、POSIX標準和Internet網絡。
20世紀80年代,計算機硬件的性能不斷提高,PC的市場不斷擴大,當時可供計算機選用的操作系統主要有Unix、DOS和MacOS這幾種。Unix價格昂貴,不能運行于PC;DOS顯得簡陋,且源代碼被軟件廠商嚴格保密;MacOS是一種專門用于蘋果計算機的操作系統。此時,計算機科學領域迫切需要一個更加完善、強大、廉價和完全開放的操作系統。由于供教學使用的典型操作系統很少,因此當時在荷蘭當教授的美國人AndrewS.Tanenbaum編寫了一個操作系統,名為MINIX,為了向學生講述操作系統內部工作原理。MINIX雖然很好,但只是一個用于教學目的的簡單操作系統,而不是一個強有力的實用操作系統,然而最大的好處就是公開源代碼。全世界學計算機的學生都通過鉆研MINIX源代碼來了解電腦里運行的MINIX操作系統,芬蘭赫爾辛基大學大學二年級的學生Linus Torvalds就是其中一個,在吸收了MINIX精華的基礎上,Linus于1991年寫出了屬于自己的Linux操作系統,版本為Linux0.01,是Linux時代開始的標志。他利用Unix的核心,去除繁雜的核心程序,改寫成適用于一般計算機的x86系統,并放在網絡上供大家下載,1994年推出完整的核心Version1.0,至此,Linux逐漸成為功能完善、穩定的操作系統,并被廣泛使用。
• 基本思想
Linux的基本思想有兩點:第一,一切都是文件;第二,每個文件都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬件和軟件設備、操作系統、進程等等對于操作系統內核而言,都被視為擁有各自特性或類型的文件。至于說Linux是基于Unix的,很大程度上也是因為這兩者的基本思想十分相近。
• 完全免費
Linux是一款免費的操作系統,用戶可以通過網絡或其他途徑免費獲得,并可以任意修改其源代碼。這是其他的操作系統所做不到的。正是由于這一點,來自全世界的無數程序員參與了Linux的修改、編寫工作,程序員可以根據自己的興趣和靈感對其進行改變,這讓Linux吸收了無數程序員的精華,不斷壯大。
• 完全兼容POSIX1.0標準
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
• 多用戶、多任務
Linux支持多用戶,各個用戶對于自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現代電腦最主要的一個特點,Linux可以使多個程序同時并獨立地運行。
• 良好的界面
Linux同時具有字符界面和圖形界面。在字符界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,用戶可以使用鼠標對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。
• 支持多種平臺
Linux可以運行在多種硬件平臺上,如具有x86、680x0、SPARC、Alpha等處理器的平臺。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel64位芯片架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。
Linux由眾多微內核組成,其源代碼完全開源;
Linux繼承了Unix的特性,具有非常強大的網絡功能,其支持所有的因特網協議,包括TCP/IPv4、 TCP/IPv6和鏈路層拓撲程序等,且可以利用Unix的網絡特性開發出新的協議棧;
Linux系統工具鏈完整,簡單操作就可以配置出合適的開發環境,可以簡化開發過程,減少開發中仿真工具的障礙,使系統具有較強的移植性;
Linux服務器是設計出來進行業務處理應用的,在網絡和計算機系統當中有廣泛的應用,可以提供數據庫管理和網絡服務等內容,是一種性能非常高的和開源的服務器,在我國的計算機系統的客戶端當中,有很多采用的就是Linux系統,其使用的范圍非常廣泛,用戶體驗反應較好。但是對于一些希望計算機應用性能比較高的單位而言,windows系統需要經常進行資源整合和碎片化管理,系統在配置的時候經常需要重新啟動,這就無法避免產生停機的問題。同時,由于Linux系統的處理能力非常強悍,具備不可比擬的穩定性特征,因而Linux系統就不用經常進行重啟,Linux系統的變化可以在配置的過程中實現,所以Linux服務器出現故障的概率比較小,所以很多企業組織在計算機配置的過程中經常使用Linux系統,從而降低服務器發生崩潰的可能性,很多企業在配置Linux系統的時候,都是通過減少服務器的故障發生率,實現企業業務的高效運轉。
Linux已經成為工作、娛樂和個人生活等多個領域的支柱,人們已經越來越離不開它。在Linux的幫助下,技術的變革速度超出了人們的想象,Linux開發的速度也以指數規模增長。因此,越來越多的開發者也不斷地加入開源和學習Linux開發地潮流當中。在這個過程之中,合適的工具是必不可少的,可喜的是,隨著Linux的發展,大量適用于Linux的開發工具也不斷成熟。
• 容器
放眼現實,現在已經是容器的時代了。容器既極其容易部署,又可以方便地構建開發環境。如果針對的是特定的平臺的開發,將開發流程所需要的各種工具都創建到容器映像中是一種很好的方法,只要使用這一個容器映像,就能夠快速啟動大量運行所需服務的實例。
• 版本控制工具
如果正在開發一個大型項目,又或者參與團隊開發,版本控制工具是必不可少的,它可以用于記錄代碼變更、提交代碼以及合并代碼。如果沒有這樣的工具,項目幾乎無法妥善管理。
• 文本編輯器
如果沒有文本編輯器,在Linux上開發將會變得異常艱難。當然,文本編輯器之間孰優孰劣,具體還是要取決于開發者的需求。
• 集成開發環境
集成開發環境(Integrated Developmemt Envimnment,IDE) 是包含一整套全面的工具、可以實現一站式功能的開發環境。
對Linux進行適當的修改和刪減,并且能夠在嵌入式系統上使用的系統,就是嵌入式Linux操作系統。具有如下的特點:
Linux系統是完全開放、免費的。正是開放性,它才能和其他系統互相兼容,進而實現信息的互聯。而且它可以任意修改源代碼,這是其他系統所不具備的。
Linux操作系統的顯著優勢是多用戶和多任務。保證了多個用戶使用互不影響;多任務獨立開后,互不干擾,使得效率方面大大提高,可以充分把性能發揮出來。
設備是獨立的。只要安裝驅動程序,在驅動程序的支持和幫助下,任何用戶都可以像使用文件一樣,對任意設備進行使用和操作,這使得人們完全不用考慮設備存在的具體形式。