全球熱消息:操作系統的最強入門科普(Unix/Linux 篇)
大家好,我是小棗君。
今天這篇文章,我們來聊聊操作系統(Operating System)。
說到操作系統,大家都不會陌生。我們天天都在接觸操作系統——用臺式機或筆記本電腦,使用的是 windows 和 macOS 系統;用手機、平板電腦,則是 android(安卓)和 iOS 系統。
(資料圖片僅供參考)
如果是從事信息通信行業,還經常會和 ubuntu、CentOS、Fedora 這樣的 Linux 系統打交道。
其實,操作系統的種類極多,遠遠不止我們知道的這些。
從使用場景來看,操作系統大致可以分為桌面操作系統、服務器操作系統、移動終端操作系統、嵌入式操作系統、物聯網操作系統、云操作系統等類別。
如下表所示:
那么,操作系統究竟是什么?從本質來看,操作系統其實就是一套軟件。
它屬于底層軟件,可以說是一個大管家,專門負責把所有的硬件和上層軟件(中間件、數據庫、應用程序等)管理和連通起來,并進行資源調配,完成用戶下達的任務。
操作系統包攬了很多底層的復雜工作,大大簡化了應用軟件的開發難度。比如說,我開發一個視頻播放器,就不需要寫那些底層硬件代碼。
操作系統還有一個重要作用,就是方便用戶使用。
用戶有了操作系統,就能更好地管理計算機,進行人機交互(下達命令,查詢結果和狀態)。
新手學習操作系統,最麻煩的是認名字和認類別。接下來,小棗君就從時間線的角度,對所有的操作系統關系進行一下梳理。
█ 操作系統的誕生
操作系統這個東西,并不是計算機誕生時就有的。
1946 年 2 月,在美國的賓夕法尼亞大學誕生了世界上第一臺電子計算機,它的名稱叫ENIAC(埃尼阿克)。
ENIAC 是由大量的電子管(真空管)組成,體積極為龐大,占地 170 平方米,重達 30 噸,耗電 174 千瓦。在算力上,它可以實現每秒 5000 次的加法運算。
這種早期的計算機,既沒有顯示器,也沒有鍵盤,更沒有鼠標,全部都是人工操作。在使用時,專職操作員將運算信息記錄在穿孔卡帶上。系統啟動后,讀取卡帶信息,然后進行運算,最后輸出結果。
穿孔卡帶計算機的速度快,人的速度慢。所以,計算機經常處于等待狀態,等待操作員的輸入。
這嚴重耽誤了計算效率,浪費時間,也浪費錢(電費)。于是,到了 20 世紀 50 年代,開始出現了批處理系統(batch processing)。
批處理系統中,操作員把用戶提交的作業進行分類,把一批作業編成一個 " 作業執行序列 "。每一批作業,都由專門編制的監督程序(monitor)自動依次處理。
這個 " 監督程序 ",就是操作系統的雛形。它標志著操作系統的誕生(1955 年)。
最早使用批處理系統的,是第二代通用計算機,代表產品是 IBM 的 1401 和 7094 等。
批處理雖然提升了效率,但仍存在缺陷。例如,當作業進行 I/O(輸入 / 輸出)操作時,主機會等待操作完成,造成自身空閑。再例如,計算機只能同時運行一個批處理任務,效率還是太低。
到了 60 年代,集成電路技術高速發展,我們有了更快的處理器、更大的內存、更豐富的 I/O 設備。同時,通道和中斷技術出現,開始允許系統執行 " 掛起 " 操作。
于是,就有了" 多道程序系統 "。
簡單來說,計算機系統從串行變成了并行,可以同時運行多個任務(多個程序放入內存,交替在 CPU 中運行,共享硬軟件資源)。
多道程序系統大幅提升了計算機的工作效率。再后來,系統又支持了多個用戶同時使用。于是,就變成了 " 多用戶 + 多任務 " 的系統,稱為" 分時系統 "。
" 分時 " 和我們通信領域的 " 時分復用 " 有點像,就是把處理機的運行時間分成很短的時間片,按時間片輪流分配給各個作業使用。
再后來,技術又繼續演進。終于,我們有了時效性更強的" 實時操作系統 "。這種系統,就非常接近于現代操作系統的概念了。
█ UNIX 的誕生1964 年,美國電話電報公司(AT&T)、通用電器公司(GE)及麻省理工學院(MIT)合作,提出了一個超級分時操作系統的開發計劃。
這個計劃,被命名為 Multics OS。Multics 是 "MULTiplexed Information and Coputing System(多路信息與計算系統)" 的意思。
當時,他們打算借助這個系統,打造一臺能夠連接 1000 臺終端、滿足 300 人同時在線的計算機。
這個計劃持續了五年,并沒有達到既定目標。于是,1969 年,隸屬 AT&T 公司的貝爾實驗室(Bell Labs)宣布退出。
貝爾實驗室退出之后,相關的項目組成員就閑了下來。其中就有一個人,名字叫做肯 · 湯普森(Ken Thompson)。
肯 · 湯普森此前在 Multics 上開發了一款名叫 " 星際旅行(Space Travel)" 的游戲。退出 Multics 項目后,肯 · 湯普森就沒辦法繼續玩這個游戲了。于是,他突發奇想,打算在一臺空閑的 PDP-7(DEC 公司生產的一種小型計算機,性能很低)上,開發一個簡單操作系統,運行這個游戲。
1969 年 8 月,肯 · 湯普森趁著妻子回家探親,用了 1 個月的時間,使用匯編語言,寫出了一個簡版的 Multics 系統(包括一組內核程序,一些內核工具程序,以及一個小的文件系統)。
實驗室的同事們,將這個系統戲稱為 Unics。Uni 作為前綴,是 " 單一、一個 " 的意思。Unics,對應 Multics,是 " 單路信息與計算系統 " 的意思。
后來,大家又取其諧音,直接稱其為"Unix"。
一邊工作一邊下棋的肯 · 湯普森基于匯編語言編寫的 Unics,硬件通用性差,沒法移植到其它機器上運行。因此,肯 · 湯普森嘗試使用 BCPL、PASCAL 語言進行重寫。但是,效果并不理想。
這時,他的同事丹尼斯 . 里奇(Dennis Ritchie)站了出來。
丹尼斯 . 里奇在 BCPL 語言(也就是 B 語言)的基礎上,開發了一套新的語言,也就是后來如日中天的C 語言(按字母表順序,B 之后就是 C)。不久后,丹尼斯 . 里奇用 C 語言重寫 Unics 成功。就這樣,Unix 操作系統正式誕生了。
正在操作 DEC PDP-11 計算機的肯 · 湯普森(坐者)和丹尼斯 . 里奇(站者)
1973 年,丹尼斯 · 里奇和肯 · 湯普森正式發表論文,宣布了 Unix 的存在。消息引起很大反響,很多人都期望學習和研究 Unix。
貝爾實驗室(AT&T)推出了 Unix 之后,因為受美國政府反壟斷制裁的原因,并不能對它進行銷售。所以,他們只能將 Unix 無償提供給所有人學習。
又過了一段時間,AT&T 發布了 Unix 系統第 5 版,并授權給教育機構使用。1975 年,他們第一次以 2 萬美元的價格,授權企業使用 Unix 第 6 版。
這期間,很多企業和機構開始打 Unix 的主意。
1977 年,伯克利大學的研究生比爾 · 喬伊(Bill Joy),將 Unix 程序整理到磁帶上,推出了 BSD 版本。BSD,就是 Berkeley Software Distribution(伯克利軟件發行版)。
1978 年,SCO(一家服務器系統軟件供應商)包裝發行了商用版的 Unix。
目前公認的最完美版本,是 1979 年發行的 System V7。這個版本也被 Unix 玩家們稱為 " 最后一個真正的 UNIX"。
1980 年,美國國防高級研究計劃局(DARPA)準備制定 TCP/IP 協議,選擇了與 BSD 合作。這大大刺激了 Unix 的發展和普及。
后來,丹尼斯 · 里奇和肯 · 湯普森被譽為 Unix 之父和 C 語言之父。1983 年,他們二人都獲得了圖靈獎。
在 System V7 推出之后,AT&T 發布新的使用條款,將 Unix 源代碼私有化。Unix 開始走向了商業閉源之路。很多公司,都推出了自己的 Unix 系統分支。比較有名的,是 Sun 公司的 Solaris、IBM 公司的 AIX、惠普公司的 HP-UX,以及由 BSD 版本發展起來的 FreeBSD。
Solaris 這個系統,小棗君非常熟悉。當年我就是通過 Solaris 學會的 Unix。它的穩定性極高,主要用在 SUN 公司的服務器(V240/V440 等)上,CPU 都是完全不一樣的,叫做 SPARC。
FreeBSD 的應用范圍就廣多了。它在 BSD 許可協議下發布,由來自世界各地的志愿者開發和維護,允許任何人隨意使用和發行(在保留版權和許可協議信息的前提下)。
蘋果公司的 OS X,就是基于 FreeBSD 的。
詳細的 Unix 閉源分支我就不多說了,發一張圖,大家可以參考:
█Linux 的誕生Unix 開始收費和商業閉源之后,引起了一個大叔的不滿。這個大叔,名叫理查德 · 馬修 · 斯托曼(Richard Matthew Stallman)。
理查德 · 馬修 · 斯托曼1984 年,他發起了自由軟件體系 GNU(GNU is not unix),模仿 Unix 的界面和使用方式,重新開發一個開源的版本。他還組織成立了 FSF(Free Software Foundation,自由軟件基金會),起草了 GPL(GeneralPublicLicense,通用公共許可證)。
GNU 著名的牛頭 logo斯托曼的做法,具有劃時代的意義。他開創了開源軟件的黃金時代。
所有 GPL 協議下的自由軟件,都必須遵循 "Copyleft(非版權)" 原則——
即:自由軟件,允許用戶自由拷貝、修改和銷售。但是,對其源代碼的任何修改,都必須向所有用戶公開。
到上世紀 90 年代初,GNU 項目已經開發出許多高質量的免費軟件,其中包括有名的 emacs 編輯系統、bash shell 程序、gcc 系列編譯程序、gdb 調試程序等等。
這些都為后來 Linux 的誕生創造了條件。
Unix 源代碼私有化之后,在大學中不再允許使用 Unix 源代碼。
1987 年,荷蘭阿姆斯特丹自由大學計算機系的安德魯 ·塔能鮑姆教授(Andrew S. Tanenbaum,也譯為譚寧邦),為了能在課堂上教授操作系統課程,決定在不使用任何 AT&T 源代碼的前提下,自行開發與 Unix 兼容的操作系統。
安德魯 · 塔能鮑姆他將這個系統稱為MINIX,也就是 mini-UNIX(小型 UNIX)的意思。
MINIX 的主要工作平臺,是 IBM PC 及其兼容機。這款 PC 搭載了英特爾公司的 16 位處理器—— Intel 8080。
開發出 MINIX 之后,塔能鮑姆教授并沒有對它進行大規模推廣。而且,他認為這個系統只是用于教育目的,所以也沒有進行深入開發。
他甚至還不允許別人加入代碼(估計是怕侵權 Unix),這就更加限制了 MINIX 的發展和普及。
1991 年,正在芬蘭赫爾辛基大學求學的林納斯 · 托瓦茲(Linus Torvalds),對 Unix 產生濃厚興趣,嘗試借助 MINIX 完成一些日常工作。
MINIX 的功能太弱,無法滿足林納斯的需求。于是,他利用 GNU 的 bash 當做開發環境,gcc 當做編譯工具,成功編寫出了擁有 10000 行代碼的Linux 內核(Linux kernel)。
此時的林納斯,只有 21 歲!
林納斯 · 托瓦茲林納斯的 Linux 內核基于 POSIX(Portable Operating System Interface for Computing Systems,可移植操作系統接口)標準,能夠與絕大多數 Unix 操作系統兼容。
他在發布時,選擇了遵循 GPL 協議和 GNU 宗旨,所以,正式發布時,命名為 "GNU/linux"。
Linux 的吉祥物是企鵝(英文名 : Tux)因為林納斯小時候被企鵝咬過,印象非常深刻
█Linux 和 Unix 的關系
這里,我要特別說明一下,Linux 和 Unix 的關系。
很多人覺得,Linux 就是 Unix,這顯然是不對的。由上面的介紹可以看出,Linux 是開源自由軟件,而 Unix 是對源代碼實行知識產權保護的傳統商業軟件。兩者是完全不同的東西。
那么,Linux 是不是類 Unix(Unix-like)系統呢?
嚴格來說,也不行。
Linux 只是風格上和 Unix 很像,但它并不含有 Unix 的代碼。UNIX 的源代碼,為 SCO 公司所有。UNIX 的商標權和標準認定權,屬于 OPENGROUP 所有。
真正意義上的類 Unix 系統,必須要通過官方認證(例如蘋果的 MacOS)。而 Linux 并沒有。
█Linux 的發行版
大家注意,林納斯 1991 年開發的,并不是一個操作系統,而是一個內核。
后來,全球開發者(開源社區、企業、個人等)對內核代碼進行大量的修改和補充,加入 GUI(圖形界面)、應用等部分,才形成了相應的Linux 操作系統發行版,也就是真正的操作系統。
這些發行版分為社區版和商業版。社區版數量較多,開發和維護的主體是開源社區。商業版數量較少,是在社區版的基礎上進一步優化而來。
值得一提的是,發行版之間也有復雜的衍生關系。也就是說,發行版可以構建在另一個發行版之上。
一些大家可能比較熟悉的發行版,包括:Ubuntu、Debian、Centos、Fedora、 Redhat Linux、Slackware、Turbolinux、Mandrake、SUSE、紅旗、麒麟等。
Slackware 和 Debian 是最早期的兩個發行版,創建于 1993 年。Debian 的后代分支比較龐大。除了 Debian 本身之外,這個分支的主要代表還有 Ubuntu(構建在 Debian 之上)、LinuxMint(構建在 Ubuntu 之上)、Kali Linux。Redhat,也就是大家很熟悉的紅帽系列。它的主要發行版是 Red Hat Enterprise Linux(RHEL),針對企業客戶。CentOS 是 RHEL 源代碼再編譯的產物,修正了不少 Bug,穩定性更強。除了 RHEL 之外,Redhat 還向社區提供另一個免費發行版,即 Fedora。這些發行版的具體關系和發布時間,如下圖所示:上面這些操作系統,小棗君基本都用過。2005 年我剛工作的時候,用的是 Debian、RHEL、Solaris。后來,開始用 Fedora。再后來,是 CentOS。剛開始的使用,很難受,不適應。但是一旦用習慣了,就覺得很爽。2020 年底,紅帽公司宣布陸續停止維護 CentOS,后續將無法獲得官方升級和補丁。雖然比較可惜,但也給國產操作系統帶來了機會,我們以后會講。
█未完待續……
說到這里,大家應該對 Unix 和 Linux 操作系統的家族脈絡有了基本的了解。
下期文章,小棗君會重點聊聊Windows和macOS那條線。敬請關注!
如果大家覺得文章不錯,還請幫忙多多轉發!謝謝!
責任編輯:hnmd003
相關閱讀
-
全球熱消息:操作系統的最強入門科普(Unix/Linux 篇)
大家好,我是小棗君。今天這篇文章,我們來聊聊操作系統(OperatingSystem)。說到操作系統,大家都不會陌
2023-05-11 -
消息!索尼 Xperia 1 V 手機發布,8999 元起
品玩5月11日訊,索尼今天中午舉辦新品發布會,正式發布旗艦手機索尼Xperia1V。索尼Xperia1V搭載了高通驍龍8
2023-05-11 -
這屆 Google I/O 為谷粉們帶來了哪些硬件產品?|世界新視野
一年一度的GoogleI O又來了,每當這時候,Google的粉絲們就分成了兩派:一派用戶重點關注的是Google又通過
2023-05-11 -
觀速訊丨太陽和月亮!得州工廠和柏林工廠將成為馬斯克又一對「姊妹印鈔機」
得克薩斯州的長角牛圖騰、牛頭印堂上的特斯拉車標、亮眼的「5k」紅色字樣以及這塊屬于某輛ModelY的前車頭蓋
2023-05-11
相關閱讀
-
全球熱消息:操作系統的最強入門科普(Unix/Linux 篇)
大家好,我是小棗君。今天這篇文章,我們來聊聊操作系統(OperatingSystem)。說到操作系統,大家都不會陌
-
全球今日訊!家樂福敗走廣州?僅剩 2 家門店:百信店被要求“立刻撤場”,員村店多個貨架空置
本文來源:時代周報作者:涂夢瑩葉曼至中午時分,廣州百信廣場熙熙攘攘,熱鬧不已。相比之下,位于百信廣場
-
元保保險600萬醫療保障是什么?優點有哪些?
元保保險600萬醫療保障是一種專門面向中高端人群的醫療保險計劃,其最大的特點在于保障金額高達600萬,能夠
-
每日聚焦:個人養老保險怎么辦理?優點有哪些?
準備個人身份證、戶口簿、銀行卡等相關材料;可以根據自己的需求和實際情況,選擇適合自己的保險公司進行購
-
單位工傷保險申報流程有哪些?應該注意什么?
單位在申報時需要準備相關材料,如工傷鑒定書、職工工資單、醫院診斷證明、職工身份證明等。單位可以選擇網
-
保險理賠一直拖著不處理怎么辦?流程有哪些?
被保險人應該及時聯系保險公司,了解理賠的進展情況,并催促保險公司盡快處理。如果保險公司一直拖延理賠處
-
人壽保險的坑人套路是什么?購買時應該注意什么?
第一,虛假承諾。一些不良保險公司和銷售人員會在銷售人壽保險時,夸大產品的保障范圍和投資收益,甚至有些
-
30家內蒙古品牌企業亮相“中國品牌日”|每日速訊
5月10日,以“中國品牌,世界共享;品牌新力量,品質新生活”為主題的2023中國品牌日活動在上海啟幕。內...
-
世界消息!關于“河北省2023年度最美書店”名單公示的公告
關于“河北省2023年度最美書店”名單公示的公告為充分聽取社會各界意見,按既定工作流程,現將“河北省2...
-
消息!索尼 Xperia 1 V 手機發布,8999 元起
品玩5月11日訊,索尼今天中午舉辦新品發布會,正式發布旗艦手機索尼Xperia1V。索尼Xperia1V搭載了高通驍龍8
-
涉及逾6萬股民!這家“醫藥+鋰電”上市公司或將退市-全球新動態
5月10日下午,*ST必康(002411 SZ)發布公告,表示已按照深交所要求提交聽證申請,若公司參加了聽證但深交
-
世界觀天下!醫療保險報銷如何操作?醫療保險報銷多久到賬?
如果參加的是社會醫療保險,生病住院或看病買藥時,只需要提供自己的醫保卡,收費處工作人員會直接按照規定
-
家樂福敗走廣州?僅剩2家門店:百信店被要求“立刻撤場”,員村店多個貨架空置 每日熱訊
中午時分,廣州百信廣場熙熙攘攘,熱鬧不已。相比之下,位于百信廣場的家樂福門店卻顯得冷清蕭條,顧客稀少
-
當前信息:醫惠錫城2023保險范圍是什么?優點有哪些?
包括門診、住院、手術費用等方面的醫療保障,保障客戶在就醫過程中的基本需求。門診看病方面包括門診掛號費
-
環球關注:領取失業保險金的期限最長為幾個月?應該注意什么?
根據我國現行的相關規定,失業保險金的領取期限最長為12個月,也就是1年。失業人員在符合條件的情況下可以
-
今亮點!北京失業保險金怎么領取?應該注意什么?
首先,你需要前往所在區縣的勞動保障部門登記失業,并按照要求提交相關證明和材料。接著,你需要前往所在區
-
失業補助金和失業保險金區別是什么?作用是什么?|全球快播報
失業補助金和失業保險金的最大區別在于資金來源和申領條件。失業補助金的資金來源主要是政府預算,針對的是
-
當前播報:單蘇辭任京東物流CFO 將于京東集團擔任新職
鳳凰網科技訊5月11日消息,京東物流在港交所公告,董事會宣布,單蘇因將于JD com,Inc 以及其子公司及關聯并
-
全球資訊:理想汽車公布一季度財報 季度營收和交付量創歷史新高
鳳凰網科技原創5月11日消息,理想汽車公布2023年第一季度財報,季度營收和交付量雙雙創下歷史新高。第一季
-
華虹半導體一季度凈利潤1.52億美元-最資訊
北京商報訊(記者陶鳳王柱力)5月11日,港股華虹半導體發布2023財年一季報,數據顯示,該公司在1月1日-3月3
-
天天微動態丨思美傳媒與智譜華章簽署戰略合作 探討智譜大模型商業化落地模式
思美傳媒公告,與智譜華章簽署《戰略合作協議》,將圍繞傳媒各個業務領域開展共同研究、充分探討智譜華章主
-
兩年虧掉四年收入,永輝超市蒸發超700億!老板帶著小舅子“搶跑” 環球即時
“張跑跑”跑路的時候不忘拖家帶口。2022年3月31日鄭景旺減持了4,330,000,而鄭景旺正是“張跑跑”的小舅。
-
喜茶被列入失信被執行人?回應稱與門店無關,已申請取消-世界速訊
喜茶的種種動態受到外界極大的關注,因為在很多人眼中,它是茶飲新業態的代表企業,也是新消費品領域的明星
-
美蘇英日大混戰!世界游戲之王:跨越冷戰鐵幕的離奇版權爭奪史
小小的方塊背后,是跨越冷戰鐵幕的版權爭奪史。
-
戴姆勒卡車一季度銷量逾12萬輛,同比增長15%
據戴姆勒卡車發布的數據顯示,2023年一季度,戴姆勒卡車在全球范圍內的銷量超過了12萬輛,同比增長達到了15
-
這屆 Google I/O 為谷粉們帶來了哪些硬件產品?|世界新視野
一年一度的GoogleI O又來了,每當這時候,Google的粉絲們就分成了兩派:一派用戶重點關注的是Google又通過
-
資訊推薦:松下宣布推遲 4680 電池量產
品玩5月11日訊,據Teslarati報道,特斯拉的電池供應商松下近日宣布,將推遲其4680電池的商業化生產時間。根
-
觀速訊丨太陽和月亮!得州工廠和柏林工廠將成為馬斯克又一對「姊妹印鈔機」
得克薩斯州的長角牛圖騰、牛頭印堂上的特斯拉車標、亮眼的「5k」紅色字樣以及這塊屬于某輛ModelY的前車頭蓋
-
京東CFO許冉將出任京東CEO_環球新動態
京東CFO許冉將接替徐雷,出任京東CEO。據了解,許冉于2018年7月加入京東,任職財務副總裁,并于2020年1月晉
-
環球聚焦:港商品整體出口貨量同比下跌5.0%
商品整體出口價格及進口價格分別同比上升4 5%及2 8%。
精彩推薦
閱讀排行
精彩推送
- 一季度超6萬輛中國汽車運達比利...
- 倒計時2天 -國家感染性疾病臨床...
- 全球最資訊丨走蜜雪冰城的路,零...
- 保險買了一年的不想交了能退多少...
- 天天時訊:保險公司理賠款一般多...
- 【環球熱聞】社會保障卡余額查詢...
- 重疾險推薦什么產品?重疾險適合...
- 世界微資訊!兩全的意思是什么?...
- 又一國產硬派SUV 捷途旅行者申...
- 質感十足 艾瑞澤8 2.0T運動版...
- 浦發銀行回應員工“降薪”_環球速讀
- 快手618購物節招商正式啟動 全...
- 交易商協會對建設銀行啟動自律調...
- 央行:4月份人民幣存款減少4609...
- 憑冰墩墩“出圈”的元隆雅圖 20...
- 索尼推出電影感影像手機 Xperia 1 V
- 重點聚焦!蘋果敗訴!iOS 能隨便...
- 當前熱文:「小白」媽媽們適合什...
- IPO 失敗欲賣身?期貨軟件龍頭...
- 李想重申理想不降價,一季度交付...
- 岳陽打造國家級北煤南運中轉樞紐...
- 天天報道:《走進青海歷史文化叢...
- 助力打造“新生代”親子關系 ...
- 資訊:人保壽險幸福保年金保險b...
- 學生保險查詢方式有哪些?是必須...
- 美亞保險公司怎么樣?有哪些險種?
- 少兒保險怎么買?有必要買嗎?
- 隱匿在醫院角落里的性騷擾:手術...
- 每日看點!重疾險屬于什么類型保...
- 消息稱蘋果計劃推出microLED屏iP...