操作系統基礎解析:Windows和Linux 到底有何不同?

操作系統基礎解析:Windows和Linux 到底有何不同?

計算機操作系統是基礎軟件,分為閉源和開源兩類。

廣義的操作系統包括:計算機(PC、工作站、服務器)系統、移動端系統(例如鴻蒙)、嵌入式系統 等。本文只涉及計算機操作系統。

計算機操作系統的功能角色:作為用戶和計算機硬件資源之間的交互,管理調度硬件資源,為應用 軟件提供運行環境。操作系統屬於基礎軟件,是系統級程序的彙集,為用戶屏蔽底層硬件複雜度, 並提供編程接口和操作入口。操作系統控制處理器(CPU)調度系統資源,控制應用程序執行的時機, 決定各個程序分配的處理器時間(CPU time)。操作系統需要兼容底層硬件和應用軟件,才能實現計算機的功能。

操作系统基础解析:Windows和Linux 到底有何不同?

根據核心代碼是否向開放,操作系統可劃分為兩類:開源系統、閉源系統。

1. 閉源操作系統:代碼不開放,以微軟 Windows 系統為代表

微軟公司內部的研發團隊開發 Windows 操作系統,並開發配套的應用軟件,比如 Office。在生態 建設方面,Intel 和 Windows 長期合作形成 Wintel 體系,在 PC 端市佔率全球領先

操作系统基础解析:Windows和Linux 到底有何不同?

Windows 系統的訪問分為 User mode(用戶模式)和 Kernel mode(內核模式)。用戶級的應用程序在 用戶模式中運行,而系統級的程序在內核模式中運行。內核模式允許訪問所有的系統內存和 CPU 指令。Windows 系統從最早期的 16 位、32 位到現在流行的 64 位,系統版本從最初的 Windows 1.0 到 Windows 95、Windows 98、Windows 2000、Windows 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10 和 Windows Server 服務器企業級 操作系統,不斷持續更新。

Windows 系統最大的優勢在於圖形界面,使得普通用戶操作起來非常便利。相比大部分 Linux 系 統,windows 的常用軟件安裝和系統設置不需要以命令行的方式去輸入系統指令,只需要點擊“按 鈕”即可完成。如今,絕大多數常見軟件、專用軟件和底層硬件都支持 Windows 操作系統,形成 了 Window 強大的生態整體。

2. 開源操作系統:代碼免費開放,以 Linux 操作系統為代表

Linux kernel(內核)由 Linus Torvalds 在 1991 年發佈,代碼免費公開,由全球開發者共同貢獻, 已成為影響最廣泛的開源軟件項目。以 Linux 內核為基礎,不同的開發團體(開源社區、企業、個 人等)對內核代碼進行一定的修改和補充,加入 GUI(圖形界面)、應用等部分,形成了相應的 Linux 操作系統發行版。

Linux 系統版本之間存在衍生關係,由此形成 RedHat、Slackware、Debian 等幾大家族,各家族 內部又衍生出一些著名版本,如 Ubuntu、SUSE、CentOS、Red Hat Enterprise Linux、Fedora 等。

操作系统基础解析:Windows和Linux 到底有何不同?

Linux kernel 是開源項目,由全球範圍的開發者(企業、團體、獨立開發者)共同貢獻源代碼。Linux 的官方組織是 Linux 基金會,作為非盈利的聯盟,協調和推動 Linux 系統的發展,以及宣傳、保護 和規範 Linux。Linux 基金會由開源碼發展實驗室(Open Source Development Labs,OSDL)與自 由標準組織(Free Standards Group ,FSG) 於 2007 年聯合成立。

操作系统基础解析:Windows和Linux 到底有何不同?

開源社區是 Linux 系統的創新源泉和主要的開發場所。Linux 操作系統發行版分為社區版本和商 業版本。社區版本數量較多,其開發和維護的主體是開源社區。少數的商業版本(比如紅帽企業版) 則是在社區版本的基礎上,進一步優化而來。整體來看,無論是否涉及商業活動,開源社區是 Linux 發行版的創新來源和主要的開發場所。而成熟的開源社區通常由相應的開源基金會(或者項目委員 會)進行管理。開源基金會為開發社區制定了規則,進行資源管理,負責可能的商務對接,以及保 護社區的健康運轉。社區的開源基金會(委員會)一般由開源貢獻方進行贊助和決策支持。

操作系统基础解析:Windows和Linux 到底有何不同?

許多開源社區背後都有一個主導企業,為社區提供資金和研究支撐,甚至直接委派員工參與開源 項目。例如,Fedora 社區的核心開發者中 1/3 是紅帽的正式僱員。通過資助和維護開源社區的方 式,企業可以發揮研究力量的“槓桿”作用,通過向社區輸入自有的研究資源,吸引更多的外部貢 獻者參與進來,擴大創意來源;另一方面,開源社區版本也成為企業擴大技術影響力的重要途徑。

Linux 操作系統由 4 部分組成:kernel、shell、文件系統、應用程序。

Kernel(內核)是操作系統的 核心,不同於 windows 的內核,Linux 的內核不僅實現了進程調度、內存管理、中斷處理、異常陷 阱處理,而且還實現了進程管理、進程通信機制、虛擬內存管理、文件系統驅動和 USB、網絡、聲 音等各類設備驅動子系統,決定了整個系統的性能和穩定性。而 shell 是系統的用戶界面,提供用 戶與內核交互的接口,接收用戶輸入的命令並送入內核去執行。

操作系统基础解析:Windows和Linux 到底有何不同?

Linux 操作系統主要的優勢領域是服務器和嵌入式。據 Linux 基金會統計,全球 90%的公有云平 臺採用了 Linux 系統,99%的超算和 62%的嵌入式設備也都是基於 Linux。亞馬遜 AWS、微軟 Azure、微軟 Azure、谷歌雲平臺和阿里雲等主流雲服務商,都提供了 Linux 系統方案。全球公有 雲平臺運行的所有應用,超過 54%是運行在 Linux 虛擬機上。甚至微軟 Azure 的近 30%的虛擬機 也是基於 Linux。根據 IDC 在 2017 年的統計數據,全球服務器操作系統使用份額(免費+付費)中, 68%是 Linux 服務器操作系統。

操作系统基础解析:Windows和Linux 到底有何不同?

Linux 操作系統在服務器領域的普及,主要由於 3 個方面:

1)創新方面,集思廣益。全球開發者對 Linux 內核保持了持續的更新,提供了充足的創新動力。據 GitStats 分析結果,截至 2018 年 9 月,已有超過 19000 名開發者為 Linux 內核貢獻了代碼, 這些開發者遍佈全球範圍超過1500個組織/企業。廣泛分佈的開發者,從不同視角不同方面對Linux 內核的補充,使得 Linux 系統得以快速適應服務器領域的變化。

2)系統代碼可以修改和自定義,用戶可調用計算機資源的自由度極高。

Linux 操作系統的使用者 可以輕鬆查看系統代碼,可以自由修改代碼來修補常見的問題,也可以開發自己的程序並添加入 Linux 操作系統中。相比 Windows 等閉源系統,Linux 支持了使用者對於計算機資源極大的使用自 由度,支持專業用戶去構建和自定義服務器,由此獲得了互聯網公司、雲計算公司的青睞。

3)運行效率高,運維成本低。Linux 系統在服務器上面的運行效率較高,相對比較輕量化,除非硬 件資源分配出現問題,不易出現系統卡死狀況。而且 Linux 系統天然地支持虛擬化。因此,在服務 器集群上,Linux 系統的運維成本較低。

4)安全。Linux 從發展根源上就是針對多用戶系統設計的,系統管理員和 root 用戶具有系統管理 權限。Linux 面向全球開發者開源,系統文件都是文檔,在全球開發者多次的篩查和更新中,基本排除了“後門植入”的可能。實際應用中,普通不成熟的 Linux 操作系統確實可能存在安全問題, 也是和系統的文檔屬性有關。例如,用戶 root 權限和 sudo 指令可在有意或無意間修改 Linux 系 統文檔,可能會對其他用戶或整個系統造成不利影響。因此,成熟的 Linux 操作系統解決方案,有 必要對這類屬性進行設計方面的防範,去進行適當的權限屏蔽。而這些安全屬性的設計,本質上並 不存在難以解決的障礙。

操作系统基础解析:Windows和Linux 到底有何不同?


分享到:


相關文章: