有可能一人搞定CPU、操作系統(tǒng)、編譯器嗎?
大家好,我是島主小風(fēng)哥,年假一轉(zhuǎn)眼就過(guò)完了,今天開(kāi)工第一天,聊點(diǎn)簡(jiǎn)單的話題。
計(jì)算機(jī)是非常復(fù)雜的系統(tǒng),涉及CPU、內(nèi)存、編譯器(編程語(yǔ)言)、操作系統(tǒng)等等,那么有沒(méi)有可能一個(gè)人同時(shí)搞定整個(gè)計(jì)算機(jī)系統(tǒng)呢?
答案是肯定的,而且是早在1976年就搞定了,從頭到尾一人搞定整個(gè)計(jì)算機(jī)系統(tǒng),包括硬件以及軟件,這臺(tái)計(jì)算機(jī)系統(tǒng)長(zhǎng)這樣:
圖片
打造這臺(tái)計(jì)算機(jī)的就是圖片中右邊這個(gè)家伙,天才工程師Steve Wozniak(以下簡(jiǎn)稱沃茲):
圖片
正是他和喬布斯一手打造了當(dāng)今的蘋(píng)果帝國(guó)。
1975年3月5日,在加利福尼亞門(mén)洛帕克市Gordon French(一位美國(guó)的計(jì)算機(jī)程序員)的車(chē)庫(kù)里家釀?dòng)?jì)算機(jī)俱樂(lè)部(homebrew computer club)舉行了它的第一次聚會(huì),首次參加這個(gè)聚會(huì)的沃茲深受啟發(fā),并開(kāi)始立刻著手設(shè)計(jì)自己的計(jì)算機(jī)系統(tǒng)(立刻行動(dòng)的重要性)。
在沒(méi)有Github以及Google的年代里,沃茲單槍匹馬就搞定了整個(gè)計(jì)算機(jī)系統(tǒng)并將其在俱樂(lè)部里展示了出來(lái),甚至還幫助俱樂(lè)部中其它成員打造出了自己的計(jì)算機(jī)系統(tǒng)(開(kāi)源精神就是這么來(lái)的?)。
有了天才的工程師然后天才的產(chǎn)品經(jīng)理喬布斯出現(xiàn)了,喬布斯決定售賣(mài)沃茲制作的電路板,為了資助他們創(chuàng)建的小公司,喬布斯賣(mài)掉了他的車(chē),沃茲賣(mài)掉了自己的HP-65計(jì)算器,很快新公司開(kāi)張并接到訂單要求他們制作完整的計(jì)算機(jī)系統(tǒng),這就是Apple I。(這大概就是蘋(píng)果售賣(mài)完整計(jì)算機(jī)設(shè)備基因的起源,你會(huì)發(fā)現(xiàn)蘋(píng)果公司出售的都是軟硬件完整的計(jì)算機(jī)系統(tǒng),它既不會(huì)單獨(dú)售賣(mài)硬件也不會(huì)單獨(dú)售賣(mài)軟件)
圖片
讓我們來(lái)看看這臺(tái)計(jì)算機(jī)的配置。
沃茲在設(shè)計(jì)最初使用的是摩托羅拉6800處理器(好吧,CPU不是自己設(shè)計(jì)的),搭載了4K內(nèi)存(內(nèi)存也不是),軟件方面則是沃茲自己實(shí)現(xiàn)的BASIC解釋器,好吧,實(shí)際上apple I中并沒(méi)有操作系統(tǒng),有的只是一個(gè)所謂的machine language monitor,這在1970s到1980s年代的計(jì)算機(jī)上非常流行:
圖片
machine language monitor類似于現(xiàn)在的shell,可以讓用戶輸入命令并查看或者修改內(nèi)存中的內(nèi)容,沃茲實(shí)現(xiàn)的monitor有三個(gè)功能:可以讓你以16進(jìn)制來(lái)編程、檢查一段代碼的內(nèi)容或者在特定地址運(yùn)行一段程序,該monitor程序運(yùn)行在一段256字節(jié)大小的內(nèi)存空間中,你可以把monitor看做那個(gè)年代的操作系統(tǒng)。
1976年7月,apple I開(kāi)始以666.66美元的價(jià)格開(kāi)始售賣(mài),因?yàn)槲制澫矚g重復(fù)的數(shù)字(666的鼻祖),這款計(jì)算機(jī)設(shè)備售賣(mài)一年后讓位給了apple II,apple II讓蘋(píng)果公司家喻戶曉(美國(guó)):
圖片
又過(guò)了幾十年后劃時(shí)代的iPhone發(fā)布,蘋(píng)果享譽(yù)全球并成為世界上市值最高的企業(yè)。
可以看到,即使是在1970年代計(jì)算機(jī)發(fā)展初期,Woz也沒(méi)有自己動(dòng)手設(shè)計(jì)CPU以及內(nèi)存,而是采用現(xiàn)成的處理器與內(nèi)存,你需要知道的僅僅是如何對(duì)該處理器進(jìn)行編程,然而即使是這其中看似簡(jiǎn)單的一項(xiàng)可能就會(huì)花費(fèi)你幾周的時(shí)間,而搞定一個(gè)處理器尤其是可以商用的處理器絕非玩具處理器可比,如果你自己實(shí)現(xiàn)的簡(jiǎn)單處理器是這樣一座橋的話:
那么商用處理器就是這種橋:

你可以說(shuō)這都是橋,但這基本上就是兩個(gè)不同的物種,商用處理器中的設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、調(diào)優(yōu)、debug等等任何一項(xiàng)拿出了絕不是一個(gè)人能搞定的,其它的像內(nèi)存、硬盤(pán)、SSD等等皆是如此,完成這些后等著你的還有操作系統(tǒng),同樣,商用操作系統(tǒng)與教學(xué)或者玩具操作系統(tǒng)也是云泥之別。
因此現(xiàn)代計(jì)算機(jī)系統(tǒng)打造更像是搭建積木,將現(xiàn)成的軟件和硬件調(diào)試好后組裝起來(lái),即使對(duì)于富可敵國(guó)的蘋(píng)果來(lái)說(shuō)也是近兩年才搞定桌面端處理器,在此之前依然要依靠intel。



























