按照前兩天的想法,我想在知識(shí)星球上寫一篇比我電臺(tái)里詳細(xì)得多的軟件開發(fā)史。因?yàn)楹芏鄡?nèi)容不適合廣播,比如一些技術(shù)。
雖然這里只有20個(gè)人,但還是希望大家能有所收獲。而不是只知道一些很淺薄的知識(shí),比如如何在Linux中配置Java開發(fā)環(huán)境。
我會(huì)隨時(shí)記錄我在這里想到的材料。目前可能會(huì)有一些錯(cuò)誤。正式寫出來(lái)的時(shí)候,我會(huì)盡量讓文章沒有明顯的錯(cuò)誤。
一個(gè)
當(dāng)然,Linux的故事也很精彩,但是因?yàn)長(zhǎng)inux有一個(gè)軟硬互不兼容的GPL協(xié)議,所以Linux不走尋常路。在一些關(guān)鍵技術(shù)上,它不使用Unix、BSD、Solaris代碼。當(dāng)然再抄也沒問(wèn)題。例如,當(dāng)其他幾個(gè)操作系統(tǒng)支持ZFS時(shí),根據(jù)ZFS的說(shuō)法,Linux復(fù)制了一個(gè)名為Btrfs的文件系統(tǒng)。
這個(gè)Btrfs是Suse(SUSE Linux企業(yè)服務(wù)器)的默認(rèn)文件系統(tǒng),其他大多數(shù)Linux發(fā)行版都會(huì)使用ext4。前兩年有個(gè)測(cè)試,五秒鐘Btrfs就掛了,ext4用的時(shí)間比較長(zhǎng),兩個(gè)小時(shí)(等知識(shí)星球正式發(fā)布的時(shí)候,我會(huì)填那個(gè)測(cè)試文章的鏈接)。Linux的文件系統(tǒng)沒那么強(qiáng)大。(官方發(fā)表在知識(shí)星球上,我補(bǔ)充Linus對(duì)ext4的不友好言論。
Linux是一個(gè)偉大的系統(tǒng),是由偉大的程序員開發(fā)的。從最初的FFS,到ext2、ext3、ext4(其實(shí)ext起源于Minix),再到后來(lái)的Btrfs、XFS、BCacheFS,Linux已經(jīng)成為一個(gè)故事系統(tǒng)。有機(jī)會(huì)我再寫Linux。
本文寫的是除Linux之外的文件系統(tǒng),因?yàn)槌薒inux和微軟之外,其他操作系統(tǒng)之間也經(jīng)常相互通信。至少有一半的Linux軟件是基于BSD的,但是因?yàn)長(zhǎng)inux的GPL協(xié)議,BSD幾乎被拒絕。相反,這些Unix、BSD、Solaris、Mac OS更有意思。
2
文件系統(tǒng)的英文名是File System,所以第一次用Unix的時(shí)候,文件系統(tǒng)叫FS,很直接。
FS文件系統(tǒng)沒有持續(xù)多久,Unix進(jìn)入了伯克利大學(xué)推廣的階段,也就是所謂的伯克利軟件分發(fā)(BSD)。在這里,一頭牛(他將在文章中詳細(xì)介紹)開發(fā)了快速文件系統(tǒng),也叫FFS,實(shí)際上是Unix文件系統(tǒng),所以FFS也叫UFS。
BSD當(dāng)時(shí)影響很大,比不上Linux。BSD的全盛時(shí)期是198X年,在Linux誕生之前,Linus還在上初中。
當(dāng)時(shí)蘋果的史蒂夫·喬布斯被賣百事可樂(lè)的CEO趕了出來(lái),他去造了,賣的很好。這個(gè)操作系統(tǒng)就是NeXTSTEP,它是我們今天使用的iOS和Mac OS之父。這個(gè)父親不是從0開始寫的,而是用的BSD碼。因此,NeXTSTEP自然使用UFS文件系統(tǒng)。
以上是對(duì)BSD Unix和Mac系統(tǒng)歷史的介紹。有什么聯(lián)系?
三
先說(shuō)Solaris,這是Sun公司的Unix操作系統(tǒng),這個(gè)操作系統(tǒng)也是基于BSD的,因?yàn)镾un公司的創(chuàng)始人是伯克利大學(xué)的學(xué)生,他也參與了BSD的開發(fā)。一開始這個(gè)操作系統(tǒng)叫SunOS,后來(lái)叫Solaris。不用問(wèn),文件系統(tǒng)也是UFS的。
以上是BSD Unix和Solaris系統(tǒng)的歷史。這兩個(gè)系統(tǒng)是什么關(guān)系?
四
BSD取得巨大成功后,美國(guó)電話電報(bào)公司、USL、BSDI和加州大學(xué)開始了為期兩年的版權(quán)訴訟。從1992年到1994年,這起訴訟對(duì)BSD的影響非常惡劣。
作為一個(gè)Unix,BSD可以在多個(gè)平臺(tái)上運(yùn)行,其中一個(gè)是針對(duì)個(gè)人電腦的,名為386BSD。因?yàn)檫@場(chǎng)官司,BSD的核心開發(fā)者走了很多。
FreeBSD面對(duì)的市場(chǎng)和微軟、Linux一樣,都是個(gè)人用戶??上М?dāng)時(shí)BSD忙于訴訟,無(wú)意在個(gè)人電腦上開發(fā)。傳聞萊納斯當(dāng)時(shí)不知道有FreeBSD,如果知道也不會(huì)寫Linux。
其實(shí)這個(gè)官司和很多版權(quán)官司一樣,就是看別人賺了很多錢,心里不平衡,也想分一點(diǎn)。可惜對(duì)方付出不夠,最后我得不到,你也得不到。這次版權(quán)總共涉及3-6個(gè)文件,根本不值一提。BSD的源文件有兩萬(wàn)多份,但律師認(rèn)為這是一個(gè)很大的傷害,沒有人想再碰BSD。誰(shuí)給BSD寫代碼誰(shuí)就一起起訴。
大家都沒錢賺。
在這種情況下,F(xiàn)reeBSD非常困難。訴訟結(jié)束后,個(gè)人用戶要么被微軟聘用,要么使用Linux。訴訟結(jié)束后,一直領(lǐng)導(dǎo)BSD開發(fā)的CSRG團(tuán)隊(duì)宣布解散。在領(lǐng)導(dǎo)BSD Unix開發(fā)20年后。
CSRG集團(tuán)發(fā)布的最后一個(gè)BSD版本是4.4BSD-Lite,版本2。FreeBSD 2.0就是在這個(gè)基礎(chǔ)上發(fā)布的。
以上是BSD Unix和FreeBSD的關(guān)系。
六
搞清楚這些系統(tǒng)之間的關(guān)系之后,我們就知道為什么這些系統(tǒng)在新技術(shù)出現(xiàn)的時(shí)候經(jīng)?;ハ嗖捎谩?/p>
比如蘋果會(huì)經(jīng)常向FreeBSD提交代碼,Sun推出的和DTrace會(huì)很快被FreeBSD和Mac采用。
七
想在自己的知識(shí)星球?qū)懸恍┪恼?,重點(diǎn)是BSD Unix,主要是技術(shù)和歷史結(jié)合。
比如文件系統(tǒng)的變化(主要是孫的,BSD社區(qū)對(duì)的態(tài)度,Linux對(duì),Mac對(duì)的態(tài)度)我想寫十期左右。按每期1000-2000字計(jì)算。
我想寫10年來(lái)開源社區(qū)編譯器之間的勾心斗角。(蘋果和BSD社區(qū)都在Gcc上投入了大量資金,Objective-C依靠GCC,但GCC對(duì)蘋果一直不冷不熱。最后,蘋果公司私下對(duì)克里斯·拉特納的LLVM進(jìn)行了大量投資,目的是取代GCC。FreeBSD社區(qū)反應(yīng)很快,采用了蘋果的LLVM,F(xiàn)reeBSD未來(lái)的目標(biāo)是GNU代碼完全不用于發(fā)行版)
BSD和AT & t:t版權(quán)的故事也很有意思。我覺得這個(gè)會(huì)寫5-6期。
我也想寫內(nèi)核之爭(zhēng),可能要10年才能開始。大家可能都很熟悉Linus和Minix作者之間關(guān)于微內(nèi)核的爭(zhēng)論。在Unix中,還有一個(gè)著名的微內(nèi)核,基于4.3BSD的Mach,開源領(lǐng)域20年沒有做過(guò)的GNU/Hurd,開源的大BOSS曾經(jīng)有個(gè)女朋友的名字貢獻(xiàn)給開源領(lǐng)域。
因?yàn)镸ac是BSD的重要分支之一,所以在寫B(tài)SD的時(shí)候,我想寫處理器,因?yàn)槭澜缟现挥幸患夜?,Mac,在很短的時(shí)間內(nèi)完成了從一個(gè)CPU到另一個(gè)CPU的跳轉(zhuǎn),這里我可以寫10期左右。
八
希望有興趣的可以訂閱,已經(jīng)訂閱的不要只是在網(wǎng)上復(fù)制粘貼我的文章。在這種情況下,我不得不重復(fù)每期電臺(tái)賺20-30元的老路。
1.《bsd Unix,BSD,Solaris和Mac OS X的故事》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。
2.《bsd Unix,BSD,Solaris和Mac OS X的故事》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/caijing/849383.html