計算機發展史
老祖宗的算盤
...數百年之後....
1623
1623年,德國科學家契克卡德(Wilhelm Schickard)制造能夠進行6位數的加減運算,是為了幫助自己的摯友天文學家開普勒(kepler)做機械運算,但是這個發明很晚世人發現。
1642
法國科學家帕斯卡為了幫助父親費力的計算稅率稅款,19歲的帕斯卡研發出一種系列齒輪組成的,外殼用黃銅材料制作,長20英寸寬4英寸高3英寸的廠方盒子計算器,面板上有一列顯示數字的小窗口,旋緊發條後才能轉動, 用專用的鐵筆來撥動轉輪以輸入數字。 這種機器開始只能夠做6位加法和減法。然而,即使只做加法,也有個“逢十進一”的進位問題。聰明的帕斯卡采用了一種小爪子式的棘輪裝置。當定位齒輪朝9轉動時,棘爪便逐漸升高;一旦齒輪轉到0,棘爪就“哢嚓”一聲跌落下來,推動十位數的齒輪前進一檔。可惜成本較高,不受當代重視
1725
18世紀,工業革命開始,1725年,法國紡織工人魯修為便於轉織圖樣,在織布機套上穿孔紙帶,他的合作夥伴則在1726年著手改良設計,將紙帶換成相互串連的穿孔卡片,以此達到僅需手工進料的半自動化生產。1801年,法國人雅卡爾發明提花織布機,利用打孔卡控制織花圖樣,與前者不同的是,這部織布機變更連串的卡片時,無需更動機械設計,此乃可編程化機器的裏程碑。
1880
美國憲法規定每十年必須進行一次人口普查,1880年排山倒海的普查資料就花費了8年時間處理分析,因此美國統計學家赫爾曼·何樂禮在1890年開發出一種排序機,利用打孔卡儲存資料,再由機器感測卡片,協助美國人口調查局對統計資料進行自動化制表,結果不出3年就完成戶口普查工作。
何樂禮在1896年成立制表機器公司,幾經並購,後來成為國際商業機器有限公司(IBM)的一部分。到了1950年,IBM的卡片已在業界與政府機構廣泛使用,為了讓卡片可作為證明文件重復使用,卡片上都印有“請勿折疊、卷曲或毀損”的警告字樣,這行警語後來還成為後二次大戰時期的流行標語
1823
1823年,英國數學家巴貝奇在政府的支持下,開始建造以蒸汽引擎驅動的差分機,用來比較數字間的差異,經歷10年未能竟功,巴貝奇遂轉而研究設計得更為完整,直接利用打孔卡輸入和儲存資料的分析機,可惜最後巴貝奇窮其畢生精力都未能造出任一完整的差分機或分析機。
於1834年給出現代計算機的基本結構:堆棧、處理器、控制器。巴貝奇在1835年提到,分析機是一部一般用途的可編程化計算機,同樣是以蒸汽引擎驅動,吸收提花織布機的優點,使用打孔卡輸入資料,其中的重要創新是用齒輪模擬算盤的算珠。他最初的計劃是打算利用打孔卡控制機器進行運算,印出高精確度的對數表(特殊用途計算機),後來才轉而開發一般用途的可編程化計算機。盡管巴貝奇的設計健全,方向正確(至少是僅需部分修正),計劃仍因各種大小問題而阻擾不斷。一來巴貝奇難以共事,任何人不合其意便起爭端,加上他的機器全是手工打造,上千個零件只要一個零件有一點小差錯,就會引起重大錯誤,因此需要遠超尋常的制造公差。英國政府也因差分機的經驗,不願繼續資助如此先進的科技,於是資金告馨後,這項計劃就在與技工的吵吵鬧鬧中告終。
1895
英國工程師弗萊明(John Ambrose Fleming)利用愛迪生效應發明了人電子管。從此,人類進入了微電子時代。1912年,美國發明家德·福雷斯特(Lee de Forest)在加州的帕洛·阿托(Palo Alto)市發現了電子管的放大作用,為電子工業奠定了基礎。1913年,麻省理工的教授萬尼伐爾·布什(Vannevar Bush)制造出了第一臺模擬式計算機微分分析儀。該計算機靠電機驅動,並利用齒輪轉動的角度來進行模擬計算。
1936
1936年11月12日,阿蘭·圖靈(Alan Turing)發表了計算機理論的奠基性論文《論可計算數及其在判定問題中的應用》(On Computable Numbers, with Application to the Entscheidungsproblem)。闡明了現代計算機理論,從理論上定義了現代通用計算機,可計算性等重要概念。為了模擬人的運算過程,圖靈指出一臺能實現數字計算和邏輯判斷的機器必須具備以下功能:1.一條無限長的紙帶。紙帶分為一個個格子,每個格子裏有一個來自有限字母表的字母,字母表中有一個空白符號。紙帶上的格子被編號為0, 1, 2, …,紙帶一端可以無限伸展。2.一個掃描器。掃描器能沿著紙帶移動,能讀出當前所在格子內的字母,並能改變該字母。3.一套控制規則。它根據圖靈機的當前狀態及當前掃描器讀出的字母來決定掃描器的下一步動作,並改變狀態寄存器中寄存的狀態,令圖靈機進入新狀態。4.一個狀態寄存器。它用來保存圖靈機的當前狀態。圖靈機的所有可能狀態的數目是有限的,並且有一個特殊狀態——停機狀態。滿足上面這四個條件的機器就是有名的圖靈機。圖靈的這篇論文把奧地利數學家庫爾特·哥德爾(Kurt Godel)在1931年給出的不可能性定理,用圖靈機精確地表達了出來。
圖靈機每一部分都有限,只是有一個無限長的紙帶,這是一個理想設備。圖靈認為這樣的一臺機器就能模擬人類所能進行的任意計算過程。圖靈對計算機理論的重要貢獻之一是給出了停機問題,即數理邏輯中的可計算性問題。它問的是“能否判斷任意一個程序會在有限時間內結束運行”這樣一個問題。用數學語言來表示就是:給定一個程序P和輸入I, 程序P在輸入I下是否會停止?
1936年,圖靈證明了圖靈定理——不存在可以判斷停機問題的通用算法。證明給出了計算機和程序的純數學定義——圖靈機。圖靈定理告訴我們,停機問題在圖靈機上是不可判定問題。從數理邏輯的觀點來看,停機問題說的就是一階邏輯的不完備性。因此,圖靈機的本質是哥德爾不完備定理的另一種表述,圖靈機是哥德爾的以通用算術為基礎的一種形式語言。圖靈因其圖靈機和圖靈定理,被認為是計算機科學之父。
1945
馮·諾依曼計算機 【von Neumann machine】 使用馮諾依曼體系機構的電子數字計算機。1945年6月,馮·諾依曼提出了在數字計
算機內部的存儲器中存放程序的概念(Stored Program Concept),這是所有現代電子計算機的模板,被稱為“馮· 諾依曼結構”,按這一結構建造的電腦稱為存儲程序計算機(Stored Program Computer),又稱為通用計算機。馮·諾依曼計算機主要由運算器、控制器、存儲器和輸入輸出設備組成,它的的特點是:程序以二進制代碼的形式存放在存儲器中;所有的指令都是由操作碼和地址碼組成;指令在其存儲過程中按照執行的順序進行存儲;以運算器和控制器作為計算機結構的中心等。馮諾依曼計算機廣泛應用於數據的處理和控制方面,但是存在一定的局限性。
1946
1946年2月15日在美國賓夕法尼亞大學正式投入運行,它的名稱叫ENIAC(埃尼阿克),第一臺計算機是美國軍方定制,專門為了計算彈道和射擊特性表面而研制的,承擔開發任務的“莫爾小組”由四位科學家 和工程師埃克特 、莫克利、戈爾斯坦、博克斯 組成。1946年這臺計算機主要元器件采用的是電子管 。該機使用了1500個繼電器 ,18800個電子管,占地170m,重量達30多噸,耗電150KW,造價48萬美元。這臺計算機每秒能完成5000次加法運算,400次乘法運算,比當時最快的計算工具快300倍,是繼電器 計算機的1000倍、手工計算的20萬倍。但但是埃尼阿克並不完善,它沒有存儲器,只有寄存器,僅能寄存10個數碼。而且耗電驚人,當時的一個笑話說,只要它一開機,整個費城的路燈都會變暗。計算機界有名的“debug”一詞也來自埃尼阿克,因為埃尼阿克中的電線常被蟲子(bug)咬斷,檢修人員常常要到機器裏去查找被咬斷的電線,再把它接上,於是尋錯就被“debug”一詞取代。盡管埃尼阿克很簡陋,但是它象征著第一代電子計算機的誕生。至今,電子計算機已有了70年的歷史。在工藝上,它經歷了四代,第一代是電子管計算機,第二代是晶體管計算機,第三代是集成電路計算機,第四代是大規模集成電路計算機。
1947
1947年12月23日,美國貝爾實驗室的肖克利(William B Shockley),巴丁(John Bardeen),布拉頓(Walter H. Brattain)研制出了世界上第一只晶體管。人類進入了固體電子時代。
1948
1948年6月10日,香農在《貝爾系統技術雜誌》(Bell System Technical Journal)上發表了著名論文《通訊的數學原理》(A Mathematical Theory of Communication)。一年後,他又發表了另一著名論文《加密的通信》(Communication Theory of Secrecy Systems)。這兩篇論文闡述了通信的基本問題,給出了通信系統模型,提出了信息量的數學表達式,並解決了信息通道容量、信息源的統計特性、信息源編碼、信息通道編碼等一系列基本技術問題。這兩篇論文成是信息論的奠基性著作。
1954
1954年,貝爾實驗室用800只晶體管制成了世界上第一臺晶體管計算機TRADIC。
1958
1958年,美國德州儀器的工程師Jack Kilby發明了集成電路(IC),將三種電子元件結合到一片小小的矽片上。更多的元件集成到單一的半導體芯片上,計算機變得更小,功耗更低,速度更快。這一時期的發展還包括使用了操作系統,使得計算機在中心程序的控制協調下可以同時運行許多不同的程序。1964年—1972年的計算機叫集成電路計算機。
本征半導體:不含雜質且無晶格缺陷的半導體稱為本征半導體。在極低溫度下,半導體的價帶是滿帶(見能帶理論),受到熱激發後,價帶中的部分電子會越過禁帶進入能量較高的空帶,空帶中存在電子後成為導帶,價帶中缺少一個電子後形成一個帶正電的空位,稱為空穴。空穴導電並不是實際運動,而是一種等效。電子導電時等電量的空穴會沿其反方向運動 [1] 。它們在外電場作用下產生定向運動而形成宏觀電流,分別稱為電子導電和空穴導電。這種由於電子-空穴對的產生而形成的混合型導電稱為本征導電。導帶中的電子會落入空穴,電子-空穴對消失,稱為復合。復合時釋放出的能量變成電磁輻射(發光)或晶格的熱振動能量(發熱)。在一定溫度下,電子- 空穴對的產生和復合同時存在並達到動態平衡,此時半導體具有一定的載流子密度,從而具有一定的電阻率。溫度升高時,將產生更多的電子- 空穴對,載流子密度增加,電阻率減小。
1964
multics是一個分時操作系統,該系統開始作為一個合資項目,是1964年由貝爾實驗室、麻省理工學院及美國通用電氣公司所共同參與研發的,其目的是為了開發出一套安裝在大型主機上多人多工的操作系統。
美國通用電氣公司所共同參與研發的,是一套安裝在大型主機上多人多任務的操作系統。Multics其目的是想要讓大型主機可以達成提供300個以上的終端機連線使用,後來因計劃進度落後,資金短缺,宣告失敗
據說第一個客戶是福特汽車公司
1969
在1969年 ken thompson肯·湯普森
1943年湯普遜出生於美國新奧爾良。1960年就讀加州大學伯克利分校主修電氣工程,取得了電子工程碩士的學位。1966年加入了貝爾實驗室。湯普遜參與了貝爾實驗室與麻省理工學院以及通用電氣公司聯合開發的一套多用戶分時操作系統,名叫Multics,同時他自己寫了一個“star travel”遊戲可運行於Multics之上。貝爾實驗室後來撤出Multics計劃。湯普遜只好找到一臺老式PDP-7機器,重寫了他的“star travel”遊戲。
在開發Multics的期間,湯普遜創造出了名為Bon的程式語言。湯普遜花了一個月的時間開發了全新的操作系統,UNiplexed Information and Computing System(UNICS),可執行於PDP-7機器之上,後來改稱為UNIX。第一版的Unix就是基於B語言來開發的。Bon語言在進行系統編程時不夠強大,所以Thompson和Ritchie對其進行了改造,並於1971年共同發明了C語言。1973年Thompson和Ritchie用C語言重寫了UNIX。安裝於PDP-11的機器之上。
1970
第四代計算機是指從1970年以後采用大規模集成電路(LSI)和超大規模集成電路(VLSI)為主要電子器件制成的計算機。例如80386微處理器,在面積約為10mm X l0mm的單個芯片上,可以集成大約32萬個晶體管。第四代計算機的另一個重要分支是以大規模、超大規模集成電路為基礎發展起來的微處理器和微型計算機。
1977
BSD (Berkeley Software Distribution,伯克利軟件套件)是Unix的衍生系統,在1977至1995年間由加州大學伯克利分校開發和發布的。歷史上, BSD曾經被認為是UNIX的一支——"BSD UNIX", 因為它和AT&T UNIX操作系統共享基礎代碼和設計。在20世紀80年代,衍生出了許多變形的UNIX授權軟件。比較著名的如DEC的Ultrix及Sun公司的SunOS。1990年代,BSD很大程度上被System V4.x版以及OSF/1系統所取代,晚期BSD版本為幾個開源軟件開發提供了平臺並且一直沿用至今。今天,“BSD”並不特指任何一個BSD衍生版本,而是類UNIX操作系統中的一個分支的總稱。
威廉·納爾遜·喬伊(Bill Joy)於1979年在加州大學伯克利分校獲得電氣工程與計算機科學碩士學位。1986年,喬伊因他在BSD操作系統中所做的工作獲得了Grace Murray Hopper獎。1986年6月,BSD 4.3發布。該版本主要是將BSD 4.2的許多新貢獻作性能上的提高,原來的BSD 4.1沒有很好地協調。在該版本之前,BSD的TCP/IP實現已經跟BBN的官方實現有較大差異。經過數月測試後,DARPA認為BSD 4.2更合適,所以在BSD 4.3中作了保留。
1981
86-DOS也就是QDOS,它由Tim Paterson用6周時間寫成,它是基於當時十分流行的CP/M的思想編寫的,它使用8086芯片,代碼約為4000行匯編。Microsoft以5萬美元買得這個操作系統,修改它並把新的操作系統稱為MS-DOS,然後把這個東西交給了IBM。IBM經過測試發現了300余個錯誤,經過修改後,IBM發行了自己的DOS,稱為PC-DOS。 Bill Gates瞬間成為了全球富翁
1985
貝爾實驗室從電報公司中脫離出來,隨後10年處於法律糾紛之中,導致技術與財富嚴重落後,之後unix各種專賣之後,unix開始收費,以至於之前流傳出去的版本,各個研究院不能進行免費使用。
Richard stallman 對此十分不滿,發起gnu(gnu is not unix),gnu的宗旨是gpl(general public license),還有fsf(free software foundation),x-window(unix圖形化)是第一個假如gpl宗旨的,發行初期,只有應用軟件如gcc vi等,沒有操作系統,gun處理停滯狀態,尋找一個操作系統
gpl:
大多數軟件許可證決意剝奪你共享和修改軟件的自由。相比之下,GNU通用公共許可證試圖保證你共享和修改自由軟件的自由。——保證自由軟件對所有用戶是自由的。GPL適用於大多數自由軟件基金會的軟件,以及由使用這些軟件而承擔義務的作者所開發的軟件。(自由軟件基金會的其他一些軟件受GNU庫通用許可證的保護)。你也可以將它用到你的程序中。當我們談到自由軟件(free software)時,我們指的是自由而不是價格。
為了保護你的權利,我們需要作出規定:禁止任何人不承認你的權利,或者要求你放棄這些權利。如果你修改了自由軟件或者發布了軟件的副本,這些規定就轉化為你的責任。
例如,如果你發布這樣一個程序的副本,不管是收費的還是免費的,你必須將你具有的一切權利給予你的接受者;你必須保證他們能收到或得到源程序;並且將這些條款給他們看,使他們知道他們有這樣的權利。
1991
Linus Torvalds宣布成立Linux,(據說是sun unix太貴),遵循gpl協議,操作系統跟應用程序不約而同。gnu linux 完整的os
現代操作系統簡介
計算機發展史