Linux是操作系统吗?GNU/Linux又是什么?
題記:這篇博文是在閱讀Richard Stallman先生的《Linux and the GNU
System》之后,并結合自己目前對Linux的認知寫成的。
???????相信很多IT界的學習從業者,對Linux系統這個詞并不陌生,在初學大數據的時候,我的老師也跟我說Linux和windows一樣是一種操作系統。后來當我開始學著用Linux系統的時候,我開始關注Linux的版本,我知道了查看版本命令分內核版本和發行版本,開始了解了我們現在接觸的Linux操作界面是Linux發行版本提供的,并且Linux有很多的發行版本,在很多時候,我們不需要關注內核版本,知道發行版本就可以解決一些日常問題了。但是,當我查看Linux內核版本的時候,發現了版本號后面還跟著這樣一個版本gcc version,于是我去查看了gcc的含義,了解了gcc(GNU Compiler Collection)是GNU的編譯組件,里面包含了我們常用語言(java、C、C++、go等)的前端以及這些語言各自的庫。
那么GNU是什么?Linux系統為什么用的是GNU的編譯組件?它們有什么關系?
???????帶著這樣的疑問,我開始真正的了解了Linux系統的由來與發展……
???????GNU(GNU’s Not Unix)系統是一個類Unix操作系統,但是這個操作系統自成立以來到現在依然沒有完善,它是一個完全自由的操作系統,遵循著自由軟件哲學理念。
???????1984年Richard Stallman先生開始寫GNU系統,一個完整的操作系統是一個龐大的工程,它包含很多部分,如內核、驅動程序、支撐庫(接口庫)、外圍(除以上三部分外的)。為了支撐GNU的開發,Stallman先生于1985年成立FSF(Free Software Foundation)自由軟件基金會,它的收入來源主要來源于募捐以及對自由軟件的拷貝以及服務的提供。到90年代初,GNU操作系統初具雛形,它擁有了除內核外操作系統所應該具備的一切,并且在1990年開始開發自己的內核GNU Hurd,運行在Mach(卡內基·梅隆大學的一個微內核,其衍生版本之一形成了Hurd)上,但是這個內核的開發并不順利,到2001年才可以穩定的工作,并且還達不到可以發布公用的程度,當然這些都是后話。1991年,Linus Torvalds基于GPL協議(GNU通用公共許可證)發布了類Unix的內核Linux,并且一經發布就廣受好評,但是這也僅僅是一個內核,距離成為一個完整可用的操作系統來說還用很長一段路要走。
???????說到這,也許有人已經反應過來了,之前說GNU系統已經完善到只剩內核了,Linux只有內核,那么兩個結合一下是不是就ok了。沒錯,當時他們確實也這樣干了,遵循著GPL協議開發出來的Linux內核與GNU的理念完全一致,兩者相互成就,雖然GNU并沒有放棄繼續開發其內核的計劃,但是也接受了Linux的加入,但是兩者的組合并不容易,在FSF的資金支持寫,GNU的很多部件圍繞Linux內核作了很大修改,當然,除了GNU工程和Linux內核這兩個核心部分外,還有很多其他的基礎性部件、程序共同組成了我們現在所熟知的Linux系統,更準確的說是GNU/Linux系統,這是一個完全自由的操作系統。之后基于這個操作系統有了很多的GNU/Linux的發行版本,這些發行版本并不都是完全由自由軟件組成的,很多知名的發行版本RHFL、Centos、Fedora都包含了非自由軟件。(以貢獻來看,兩者都很重要;以源代碼的組成比例來看,GNU工程占比近30%,Linux內核3%,無可否認,GNU工程完成了大部分基礎性工作)
???????說到這里,相信大多數人已經明確了Linux系統的來源與發展了,我覺得在我們技術學習中,并不需要對每個知識點都“知根知底”,但有些東西如果自己有時間,也可以深入了解一下,它對于我們對這個技術的掌握、延伸是有著很大的幫助的,具體看個人啦!
總結
以上是生活随笔為你收集整理的Linux是操作系统吗?GNU/Linux又是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: electron 自定义右键菜单
- 下一篇: HTML微信单页引流项目源码模板分享