日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux的源頭 從一個故事說起

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-01-13 16:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、Multics計劃

上個世紀六十年代,那個計算機還沒有很普及,只有少數(shù)人才能使用,而且當時的計算機系統(tǒng)都是批處理的,就是把一批任務(wù)一次性提交給計算機,然后就等待結(jié)果。并且中途不能和計算機交互。往往準備作業(yè)都需要花費很長時間,并且這個時候別人也不能用,導致了計算機資源的浪費。

為了改變這種情況,在1965年前后,貝爾實驗室(Bell)、麻省理工學院(MIT)以及通用電氣(GE)聯(lián)合起來準備研發(fā)一個分時多任務(wù)處理系統(tǒng),簡單來說就是實現(xiàn)多人同時使用計算機的夢想,并把計算機取名為Multics(多路信息計算系統(tǒng)),但是由于項目太復雜,加上其他原因?qū)е铝隧椖窟M展緩慢,1969年貝爾實驗室覺得這個項目可能不會成功,于是就退出不玩了。

二、Unix的誕生

Bell退出Multics計劃之后,Bell實驗室的那批科學家就沒有什么事做了,其中一個叫做Ken Thompson的人在研發(fā)Multics的時候,寫了一個叫做太空大戰(zhàn)(Space Travel)的游戲,大概就是一個很簡單的打飛機的游戲,但是這個游戲運行在Multics上。當Bell退出了Multics后,Thompson就沒有了Multics的使用環(huán)境了,為了能夠繼續(xù)游戲,于是他花了一個月的時間寫了一個小型的操作系統(tǒng),用于運行Space Travel,當完成之后,Thompson懷著激動的心情把身邊同事叫過來,讓他們來玩他的游戲,大家玩過之后紛紛表示對他的游戲不感興趣,但是對他的系統(tǒng)很感興趣。

因為MULTICS是“Multiplexed informtion and Computing Service”的縮寫(多路信息計算系統(tǒng)),于是他們命名這個系統(tǒng)為:“UNiplexed Information and Computing Service”,縮寫為“UNICS”(每路信息計算系統(tǒng),與Multics相反)。后來大家取其諧音,就稱其為“UNIX”了。

這個時候已經(jīng)是1970年了,于是就將1970年定為Unix元年,因此計算機上的時間就是從這一年開始計算的。

后來Unix這個小操作系統(tǒng)就在Bell實驗室內(nèi)部流行開,并經(jīng)過不斷地改良最終在1974年7月Unix發(fā)展到第5個版本,Bell實驗室公開了Unix,結(jié)果引起了學術(shù)界的廣泛興趣并對其源碼索取。所以,Unix第五個版本就以“僅用于教育目的”的協(xié)議,提供給各大學作為教學之用,成為當時操作系統(tǒng)課程的范例教材。各大學公司開始通過Unix源碼對Unix進行了各種各樣的改進和拓展。1978年學術(shù)界的老大伯克利大學,推出了一份以第六版為基礎(chǔ),加上一些改進和新功能而成的Unix。并命名為BSD(Berkeley Software Distribution伯克利分發(fā)版),開創(chuàng)了Unix的另一分支:BSD系列。

于是乎Unix就有了兩個分支,一個就是BSD系列的分支,一個就是Bell本身發(fā)放的分支,當時因為Bell屬于AT&T,AT&T受到了美國《謝爾曼反托拉斯法》的影響,不能銷售除了電話機電報機等之外的商品,后來AT&T分解,Bell可以賣Unix了,Unix走向了商業(yè)化,如果想繼續(xù)使用就需要購買授權(quán),一份授權(quán)4萬美元。

三、Minix及Linux的誕生

在Unix昂貴的授權(quán)費用下,很多大學不得不停止對其研究,老師導致上課也不知道講什么了。在1987年荷蘭有個大學教授安德魯寫了一個Minix,類似于Unix,專用于教學。當Minix流傳開來之后,世界各地的黑客們紛紛開始使用并改進,希望把改進的東西合并到Minix中,但是安德魯覺得他的系統(tǒng)是用于教學的,不能破壞純凈性,于是拒絕了。

在1991年9y月17日,Linus Torvalds(林納斯.托瓦茲)在互聯(lián)網(wǎng)上公布了自己寫的Linux,可能是表達對安德魯?shù)牟粷M吧(為什么不接受大家的好意呢?你讓大家的滿腔熱情往哪放呢?),于是Linus發(fā)布了一個帖子,大概就是說:我寫了一個操作系統(tǒng)的內(nèi)核,但是還不夠完善,你們以任何姿勢使用不收費,也可以幫助我一起修改。帖子發(fā)出后引起了強烈的反響。在大家的努力下,于1994年Linux的1.0版本正式發(fā)布。

為什么會引起這么強烈的反應(yīng)呢?這就要從了另一個人說起,那就是Richard Stallman(自由軟件之父)。Stallman是一個非?!凹みM”的人,因為Unix商業(yè)化的影響,他認為軟件是全人類的智慧結(jié)晶,不應(yīng)該為某一家公司服務(wù)。在八十年代,他發(fā)起了自由軟件運動,吹起了共產(chǎn)主義的號角(發(fā)起了GNU運動),并發(fā)布了軟件界的共產(chǎn)主義宣言(GPL協(xié)議),并且這一運動得到了很多人的認同。

所謂***自由軟件自由就是指:自由使用、自由學習和修改、自由分發(fā)、自由創(chuàng)建衍生版。

GNU的定義是一個遞歸縮寫,就是GNU IS NOT UNIX。就是說Unix是流氓,我不是。有意思的是,GNU運動是上個世紀八十年代開始的,而那個時候Linux還沒有誕生呢 ,所以Stallman寶寶心里苦啊,就在大家逐漸失去信心的時候,1991年Linus Torvalds帶著他的Linux閃亮登場了,給GNU運動畫了一個完美的句號。

Linux為什么會引起如此強烈的反響呢?因為Unix有版權(quán),愛好編程的狂熱分子在研究Unix的時候很容易吃上官司 ,而Linux是遵循GPL協(xié)議的,可以免費使用,讓黑客們盡情的施展(這里的黑客指那些技術(shù)大牛,不是指那些利用計算機干壞事的人)。于是Linux提供內(nèi)核(kernel),GNU提供外圍軟件,就這樣GNU/Linux誕生了。

從Unix到Linux的發(fā)展關(guān)系:

所以,看到這里你就會了解到Unix是1970年出現(xiàn)的,Linux是1991年發(fā)布的,但Linux是不同于Unix的操作系統(tǒng)。

四、操作系統(tǒng)的基本概念

上面主要介紹了Linux以及Unix的一些歷史故事,下面則介紹操作系統(tǒng)方面的知識。在進入正題之前,我們先簡單了解一下操作系統(tǒng)。

我們都知道,CPU是由運算器和控制器組成的,程序在運行的時候就是調(diào)用CPU的指令進行一些運算操作,例如加減乘除。CPU能夠調(diào)用的指令集合,就是指令集。但是不幸的是CPU的生產(chǎn)廠家不止一家,例如IntelAMD等。即便是同一家廠商生產(chǎn)CPU,不同平臺之間的指令集也不一樣。那么程序員在編寫程序的時候會遇到一個尷尬的局面,就是當你在某一個平臺編碼的時候,如果想將程序移到另外一個平臺上,就需要重新編碼,重新編碼還不是最可怕的,可怕的是你得學習對應(yīng)的新平臺的指令集。

一般而言,我們稱直接在硬件層面上進行編程是硬件規(guī)格層的編程(hardware spaceifiacation),例如調(diào)用CPU提供的指令等。你需要知道的是,不同硬件提供的API是個不相同的。如果程序員要編程還得精通硬件那得多難,所以我們需要一個通用軟件來提供統(tǒng)一接口,以屏蔽硬件的差異化。這個通用軟件就是操作系統(tǒng)。

操作系統(tǒng)將底層硬件提供的接口進行封裝,程序員直接調(diào)用由操作系統(tǒng)提供的接口,也稱為系統(tǒng)調(diào)用。

但是系統(tǒng)封裝的接口會很多嗎?顯然不會很多,因為如果操作系統(tǒng)提過

幾萬個接口,程序員還不累的學出血。一般而言,系統(tǒng)提供的接口都是短小精悍,我們需要像搭積木一樣,將其組裝起來提供更為豐富的功能,并且將組裝好的代碼做成庫,供別人使用。這樣一來,就是庫調(diào)用。在Windows上庫一般都是dll(Dynamic Link Library),而在Linux或者Unix上我們一般稱之為so(shared object),就是共享的代碼,大家都可以調(diào)用。

現(xiàn)在我們知道了,操作系統(tǒng)的一個重要功能就是將硬件提供的功能進行封裝,我們調(diào)用操作系統(tǒng)提供的接口就是系統(tǒng)調(diào)用(system call)。然后將系統(tǒng)提供的接口組合后形成更豐富的庫。當然操作系統(tǒng)還有其他的功能,例如CPU的時間分片、安全保證等。

五、Linux的發(fā)行版本

我們知道Linux或者Unix是一個操作系統(tǒng),1991年的Linus Torvalds公布的是Linux的內(nèi)核(kernel)。但是要注意的是,公布的是源碼,并不是編譯好的直接可安裝的操作系統(tǒng),我們?nèi)绾伟惭b一個操作系統(tǒng)呢?很簡單啊,就是先下載一份源碼,然后進行編譯安裝,但是編譯的時候程序需要運行在操作系統(tǒng)上啊,操作系統(tǒng)呢?還沒有編譯呢。于是就陷入了一個死循環(huán)中,就是我們要安裝操作系統(tǒng),就需要編譯,編譯的時候需要操作系統(tǒng),這樣就是雞生蛋,蛋生雞。

這里就需要引入交叉編譯了,具體做法:假設(shè)我們要在電腦上安裝Linux,我們把A的硬盤拆下來,放到已經(jīng)安裝了操作系統(tǒng)的電腦B上,然后編譯,將編譯好的操作系統(tǒng)放到硬盤上,再把硬盤裝回去,開機啟動,這就是交叉編譯安裝系統(tǒng)。

這得有多難啊,入門難度實在太高了,所以我們迫切需要一種簡單的方式來安裝。于是就出現(xiàn)了這么一種公司,他們將已經(jīng)公開好的Kernel(內(nèi)核)再加上一些開源的周邊軟件收集起來編譯成二級制文件放到網(wǎng)上供別人使用,其中Red Hat(紅帽)就是其中著名的一家。我們知道Linux是遵循GPL協(xié)議的,也就是公開免費的,那么他們怎么盈利呢?既然不能賣軟件,那么就賣服務(wù)唄,比如說,發(fā)現(xiàn)了Linux漏洞,然后Red Hat修復,如果你買了我們的服務(wù),我們就將補丁程序給你,并指導你安裝,所有問題都幫你解決。

世界上總是不缺好事者,RedHat既然可以這么做,為什么就不能有好心人免費做呢?是的,有這樣一個社區(qū),他們把RedHat的源碼拿過來,然后編譯成操作系統(tǒng)放出去,這就是CentOS,就是社區(qū)版的RedHat,所以基本RedHat的補丁包出來一個月之后,CentOS就出現(xiàn)對應(yīng)的補丁包了。這對于Red Hat是好事還是壞事呢?這恐怕只有當事人知道了,不過在2014年年初傳來消息,RedHat收編了CentOS的團隊。就像MSDN I TELL YOU 上面都是微軟的正版軟件,可以隨便下載,但是這不也是為微軟做了免費宣傳嗎。

當別人說Linux的版本時,一般來說有兩個版本,一個是內(nèi)核的版本,一個是發(fā)行的版本。例如登錄到終端執(zhí)行命令:

root@localhost:/home/Superman# uname -aLinux localhost.localdomain 4.6.0-040600-generic #201606100558 SMP Fri Jun 10 1015 UTC 2016 x86_64 x86_64 x86_64 GNU/Linuxroot@localhost:/home/Superman# more /etc/issueUbuntu 16.04.2 LTS l

從上面可以看出,uname -a 查看了內(nèi)核的版本,是4.6.0的版本,而 more /etc/issue就是 查看發(fā)行版的版本,表示了我安裝的是Ubuntu的16.04.2的發(fā)行版。

內(nèi)核更新的信息可以到官網(wǎng)查看:https://www.kernel.org/

六、Linux的哲學思想

A.一切皆文件,把幾乎所有的資源都組織成文件的格式,我們只需要一個文本編輯工具,就可以修改工作的特性了,很方便。

B.組合小程序,完成復雜任務(wù),例如將系統(tǒng)調(diào)用組合形成庫(在Linux就是so結(jié)尾的文件)。

C.盡量避免和用戶交互,Windows上就是彈框,讓你點確定。在Linux上,如果執(zhí)行一個程序之后沒有任何提示,那就是最后的提示。

D.使用純文本文件保存配置信息,這個在第一點就可以看出來。

七、總結(jié)

這篇文章就是對Linux的發(fā)展歷史進行淺談,希望Linux可以為你帶來快樂。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    大功率開關(guān)電源源頭廠家排名

    大功率開關(guān)電源源頭廠家排名(2026 權(quán)威版) 行業(yè)共識:大功率電源選型,核心看功率覆蓋、技術(shù)壁壘、交付能力與服務(wù)網(wǎng)絡(luò) ——全電氣是 1kW–100kW 全場景的國產(chǎn)標桿,與國際巨頭形成差異化競爭
    發(fā)表于 04-28 08:11

    文搞懂Linux權(quán)限體系

    Linux權(quán)限體系是運維工作的基礎(chǔ)中的基礎(chǔ)。無論你管理的是單機還是集群,權(quán)限問題導致的故障占總故障量的相當比例。本文從一線運維視角出發(fā),系統(tǒng)講解Linux權(quán)限模型的核心概念、常見場景、排障方法以及安全最佳實踐。閱讀本文后,你應(yīng)該
    的頭像 發(fā)表于 04-09 10:04 ?207次閱讀

    基于WT2606A3-42N語音芯片的兒童打印機AI驅(qū)屏與語音交互技術(shù)方案解析

    "按下、出張紙"的東西嗎,能有多大花樣?別急,等你看完今天的故事,或許會重新認識這個小家伙。從一常見的場景
    的頭像 發(fā)表于 02-27 17:08 ?720次閱讀
    基于WT2606A3-42N語音芯片的兒童打印機AI驅(qū)屏與語音交互技術(shù)方案解析

    如何從源頭管控PCBA的清潔度與可靠性?

    在電子制造業(yè),我們常常執(zhí)著于設(shè)計、元器件和焊接工藝,卻容易忽視另一個隱形的“問題”——離子污染。這些肉眼不可見的殘留物,如同潛伏在電路板上的慢性毒藥,悄然侵蝕著產(chǎn)品,影響長期可靠性,導致漏電、腐蝕
    的頭像 發(fā)表于 01-10 10:44 ?295次閱讀
    如何從<b class='flag-5'>源頭</b>管控PCBA的清潔度與可靠性?

    電力電子EMC整改:從源頭到系統(tǒng)的全鏈路優(yōu)化策略方案

    南柯電子|電力電子EMC整改:從源頭到系統(tǒng)的全鏈路優(yōu)化策略方案
    的頭像 發(fā)表于 01-06 09:59 ?431次閱讀

    請問如何從一函數(shù)內(nèi)部判斷本函數(shù)是否是成員函數(shù)還是非成員函數(shù)?

    如何從一函數(shù)內(nèi)部判斷本函數(shù)是否是成員函數(shù)還是非成員函數(shù)?
    發(fā)表于 01-06 06:30

    代碼里的青春——我與RT-Thread的故事

    從發(fā)出RT-Thread20周年故事征集令的第天起,我們已陸續(xù)收到了數(shù)十位開發(fā)者的投稿。有人凌晨三點在調(diào)試線程棧,有人在社區(qū)收獲友情,有人靠RTT拿下比賽順利上岸……今天我們選出幾篇極具代表性
    的頭像 發(fā)表于 12-12 20:11 ?1274次閱讀
    代碼里的青春——我與RT-Thread的<b class='flag-5'>故事</b>

    分享Linux音頻開發(fā)實用站:ALSA項目官網(wǎng)使用指南

    經(jīng)常和Linux音頻打交道的朋友,大概率聽過ALSA(Advanced Linux Sound Architecture),它是Linux系統(tǒng)里負責音頻和MIDI功能的基礎(chǔ)架構(gòu),日常用的很多音頻相關(guān)
    的頭像 發(fā)表于 12-10 07:03 ?826次閱讀
    分享<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>Linux</b>音頻開發(fā)實用站:ALSA項目官網(wǎng)使用指南

    Linux 下交叉編譯實戰(zhàn):跑起來你的第一個 STM32 程序

    跑起來你的第一個STM32程序。、準備工作在開始之前,需要準備:1、Linux開發(fā)環(huán)境Ubuntu、Debian或其他主流發(fā)行版都可以。2、ARMGCC交叉編譯工具
    的頭像 發(fā)表于 11-24 19:04 ?1099次閱讀
    <b class='flag-5'>Linux</b> 下交叉編譯實戰(zhàn):跑起來你的第<b class='flag-5'>一個</b> STM32 程序

    現(xiàn)場解決EMC電磁輻射干擾:降輻射,查路徑,鎖源頭

    南柯電子|現(xiàn)場解決EMC電磁輻射干擾:降輻射,查路徑,鎖源頭
    的頭像 發(fā)表于 09-16 09:59 ?1142次閱讀

    文掌握Linux命令

    作為名運維工程師,熟練掌握Linux命令是基本功中的基本功。無論是日常工作中的系統(tǒng)維護,還是面試時的技術(shù)考核,Linux命令都是繞不開的核心技能。本文將從實戰(zhàn)角度出發(fā),系統(tǒng)梳理運維工程師必須掌握的
    的頭像 發(fā)表于 07-22 15:23 ?747次閱讀

    連載|業(yè)余無線電史話():漫長的故事

    180米波段用莫爾斯電碼(CW)發(fā)射信號。資料來源:火花博物館。漫長的故事)如同任何科學故事
    的頭像 發(fā)表于 06-29 07:07 ?1333次閱讀
    連載|業(yè)余無線電史話(<b class='flag-5'>一</b>):<b class='flag-5'>一</b><b class='flag-5'>個</b>漫長的<b class='flag-5'>故事</b>

    怎么結(jié)合嵌入式,Linux,和FPGA三方向達到均衡發(fā)展?

    在嵌入式領(lǐng)域,不少人都懷揣著讓嵌入式、Linux 和 FPGA 三方向?qū)崿F(xiàn)均衡發(fā)展的夢想,然而實踐中卻面臨諸多挑戰(zhàn)。就像備受矚目的全棧工程師稚暉君,他從大學玩單片機起步,憑借將智能算法融入嵌入式而
    的頭像 發(fā)表于 06-25 10:08 ?1054次閱讀
    怎么結(jié)合嵌入式,<b class='flag-5'>Linux</b>,和FPGA三<b class='flag-5'>個</b>方向達到<b class='flag-5'>一</b><b class='flag-5'>個</b>均衡發(fā)展?

    電路圖中尋找電壓源頭的疑惑

    在電路圖中準備找下SUSON這電壓的源頭,搜索后出現(xiàn)了兩令人疑惑的結(jié)果,如圖 上面是圖1 上面是圖2 當然最后的答案是圖二,這里就有
    發(fā)表于 06-18 10:04

    從芯片市場經(jīng)理說起

    轉(zhuǎn)載自《鐘林談芯》 從創(chuàng)業(yè)第天開始,我就同時扮演芯片產(chǎn)品經(jīng)理、項目經(jīng)理、市場經(jīng)理、銷售經(jīng)理,集四角色于身。 在這四角色中,讓人難以理解和容易混淆的角色當屬市場經(jīng)理。為了讓大家正
    的頭像 發(fā)表于 06-05 16:27 ?605次閱讀
    双鸭山市| 惠水县| 精河县| 察雅县| 翁源县| 开封县| 白玉县| 左权县| 仙居县| 贺兰县| 文安县| 凤凰县| 仁怀市| 盐城市| 大安市| 西昌市| 合水县| 金华市| 利辛县| 响水县| 阳泉市| 阜新| 新竹县| 德州市| 诸城市| 保德县| 丽水市| 吴旗县| 金湖县| 唐河县| 仙居县| 临颍县| 黔东| 承德县| 体育| 吴川市| 且末县| 锡林浩特市| 广州市| 陕西省| 三亚市|