① 所有軟體都可以被破解嗎,為什麼開發者不阻止破解版的產生
首先軟體是100%可以破解的。大不了我使用窮舉法,列出所有的可能!
在20世紀,沒有互聯網的時候!軟體採用光碟在不可復制扇區寫入代碼,再給你一個密碼。光碟安裝時,會根據這個代碼產生對應密碼,也就是軟體公司給你的那個。破解方法,採用繞過密碼這一關,也就是破解版!
2.20世紀末,互聯網開始誕生!一般軟體採用網路注冊,電腦使用。例如Photoshop8.0,你安裝好以後,機器會隨機產生一個25位數字,只需要發給網站,網站就會通過計算產生一個新的25位數字發給你。這樣你就可以使用了。這個生成過程後來被人發明了破譯計算軟體,叫「解碼器」,進行了破解。
3.21世紀的軟體網路碼!21世紀由於網路發達,絕大部分軟體隨時隨地要和網路連接。於是通過手機號申請唯一的密碼。每次啟動軟體,便要識別地址,手機號等信息!當密碼在多個機器或者多地使用時,便自動作廢。我們的愛奇藝會員便是這種密碼!由於這是一對幾綁定密碼,而且隨時聯網,已經很難長期免費使用。破解也就無從談起!
三個時代,從無法對付破解軟體,到現在網路軟體,沒辦法破解。 歷史 在不斷進步!
首先肯定一下,所有的軟體都可以被破解,無非是破解的代價不同而已。就算是IOS,也是一樣可以被破解,被越獄的,Windows就更不說了,專業版的正版Windows在國內真的不多。
為什麼開發者不阻止破解版的產生?因為阻止不了。
爆破是一種簡單的破解方式,我們可以通過反向工程,將軟體的可執行文件破解後重新編譯,達到破解的目的。
例如:我們有一個軟體,每次輸入注冊碼以後都會到一個網站去驗證,如果驗證通過會返回一個指令,軟體得到這個指令以後,也相當於注冊成功。我們在重新編譯以後,可以修改這個地址,改到一個我們自己搭建的破解地址去,不過輸入什麼呢,我們都返回一個成功的指令,這樣就可以達到破解的目的了。
當然,我們還可以修改驗證的處理邏輯,例如如果用戶輸入錯誤的注冊碼,就驗證通過,這樣也可以達到破解的目的。
還有就是通過自己編寫注冊機來破解,所有的軟體驗證都有一個固定的邏輯演算法,我們只要了解這個演算法以後,就可以根據驗證碼的生成邏輯,寫出一個注冊機並生成正確的注冊碼,通過使用這個注冊碼來完成注冊。
而破解的方式還有很多,對於不同的軟體會有不同的破解方式。對於開發者來說,自然是不願意自己的軟體被破解了,所以也曾經增加了很多的反破解手段,不過這些手段都會有漏洞,因為這些反破解手段本身其實也是一個軟體,只要是軟甲就可以被破解。
所有軟體都可以被破解嗎,為什麼開發者不阻止破解版的產生?
這個問題分這樣幾個方面來回答。
第一、所有的軟體都可以破解,無非是破解的難度與價值大小,決定了破解者的多少。
這個問題有點類似鎖和開鎖。只要有一定的技術和功夫,可以說幾乎所有的鎖都能不用鑰匙打開。
第二、為什麼開發者不阻止破解版的產生。
舉一個例子。前些年,微軟的BOSS說過,我知道中國人喜歡偷(軟體盜版),即便是這樣,我還是希望他們偷我們的軟體。
這句話說明這樣一個道理,在某種程度上,多數軟體的開發者,反而喜歡有人破解自己的產品,有人使用自己的盜版產品。
為什麼這樣呢?
其實這樣有兩個效果。
第一個效果,盜版軟體大量流行,可以打擊其競爭對手。如果對於盜版打擊過於嚴厲,沒人使用盜版,那麼他們競爭對手的產品很可能會乘虛而入,佔領市場。例如windows,如果蓋茨們嚴厲打擊盜版,那麼很可能國產的操作系統很可能會借機得到發展。如果放任盜版,其中一個最重要的作用,就是使廣大用戶形成習慣,堵死國產系統發展的機會。
第二個效果是,他們又有了一條新的生財之道。
例如,現在使用操作系統的電腦,絕大多數是可以聯網的,蓋茨們很容易知道,哪些機器使用盜版系統。如果是一些不大不小的公司膽敢使用盜版,那麼他們會收集證據,然後給這些公司發律師函,你們使用盜版的證據已經收集完畢,要麼繳納某某萬元給我們購買許可,要麼到法院做被告。這種情況,可以說大概率是輸官司賠款,並且數字非常大。很多軟體公司雖然盜版不賺錢,但是用這種方式,可以大發其財。
軟體升級與破解是矛與盾的關系。具體分析如下:
開發者們對自己開發的軟體進行保護是很常見的行為,但是應該沒有開發者會覺得自己的軟體無法被破解。
首先你得明白,開發軟體的首要目的肯定不是「保護軟體不被破解」,這只是作者為了自己的合法權益不被侵犯所做的無奈之舉,為了保護軟體外加大量安全保護代碼得不償失,然後開發出來的軟體全都變成類似網路防火牆的東西。
所有的加密方式都是不能完全保證安全的,但Cracker破解軟體會考慮「效費比」,比如說我破解這個軟體挺麻煩的,可能需要我連續工作一周,但這個軟體只賣十塊錢,一般不會考慮浪費這個時間進行破解。
另外,破解軟體會破壞軟體的完整性,導致某些功能出現異常甚至無法使用,作者只需要保護核心功能,對破解後的這些功能進行曲解(比如對保存文件進行全程加密),破解這種軟體需要Cracker在當前領域具有開發者同等技術水平才有可能做到。
又要跑題了,但這很重要。曾有人將黑客Hacker和破解者Cracker進行對比,其實他們之間的區別非常大。黑客專注於網路傳輸技術和操作系統,破解者專注於編譯技術和低級語言;黑客行為不一定是為利,但破解行為肯定是為利;黑客行為可以有友方和敵方,但破解行為破壞所有人的利益(盜版橫行將嚴重製約軟體業發展,比如Windows盜版滿天飛,去開發另一套系統的人想靠賣系統收回成本基本是痴人說夢)。
最後總結一下。WPS領頭人求伯君曾說過: 有人盜版他的軟體說明軟體得到了認同。開發者不可能不考慮盜版的問題,但首先得有人用你的軟體,它才會有其價值。軟體保護和軟體破解是一對矛與盾,敵人的存在能夠讓我們時刻保持警惕。
程序由調試模式,就是單步。運行中的程序也可以被捕獲,進入調試模式。只要找到一些關鍵的判斷點,讓程序轉向就可以破解了。
並不是所有的軟體都可以被破解,只能說所有的程序代碼、資料庫都在本地的軟體可以被破解。
比如:「雲電腦」、「雲手機」。所有的程序代碼、資料庫都是放在伺服器端,本地手機或電腦只有一個負責登錄的客戶端。
「雲電腦」、「雲手機」可以將本地的操作指令傳輸到伺服器端的電腦或手機上,所有的程序執行過程均在伺服器端的電腦或手機上完成,再通過網路將圖像實時的傳輸回本地,由於現在網速快、延遲低,感覺就像真的在本地操作。
雲端軟體或系統,所有的代碼、資料庫、執行過程都是在伺服器端,就連登錄時賬戶和密碼的驗證過程都需要和伺服器端的資料庫比對。所以這種軟體或系統被破解的可能性幾乎為零,就算會被攻破也只可能是通過黑客技術或賬戶、密碼、IP地址等敏感信息遭到泄露。
為什麼說本地的軟體、系統都可以被破解?建一棟房子可以要幾個月,但如果要拆掉它可能只需要一瞬間。本地的軟體、系統也是一樣的道理,破解的過程是一個取巧的過程,並不需要知道所有的代碼是怎麼寫的,操作原理是怎樣的,怎麼執行的,執行邏輯又是什麼,只要找到執行許可權認證和授權的代碼段就可以了。
可以讓軟體一開始執行就跳轉到軟體的主界面,繞過輸入用戶名和密碼、驗證用戶名和密碼的過程。
也可以讓軟體的用戶名和密碼驗證模塊不管驗證成功還是失敗都跳轉到軟體主界面。
經常會去「看雪」論壇逛的小夥伴就知道有各種軟體破解的工具和思路。軟體破解很早就已經形成了一門學科,並且有一個高大上的名稱「軟體逆向工程」。
軟體逆向工程
軟體逆向工程是指從可運行的程序系統出發,運用解密、反匯編、系統分析、程序理解等多種計算機技術,對軟體的結構、流程、演算法、代碼等進行逆向拆解和分析,推導出軟體產品的源代碼、設計原理、結構、演算法、處理過程、運行方法及相關文檔等。
軟體開發出來也會有防篡改技術用於制止專用軟體進行逆向工程及再工程。實際應用中出現了兩類逆向工程:一種是軟體的源代碼可用,但是更高層次的部門幾乎沒有描述文檔或描述文檔不再適用或丟失。另一種是軟體沒有可用的源代碼,任何能找到它的源代碼的努力都被為逆向工程。所以不要把軟體逆向工程看成是一種很灰暗的學科,它只是經常被用在投機取巧的人身上罷了。
軟體的逆向工程可以使用「凈室技術」來避免侵犯版權。在有一些國家軟體逆向工程只要遵守版權行業釋義法律的合理使用規定,都是受保護的。比如:
上面只是提供的軟體破解的基本思路,讓大家更好的理解為什麼本地的軟體和系統可以被破解。軟體逆向工程並沒有想像中的那麼簡單,這門學科需要具備基本的編程能力,掌握外殼原理和技巧,並且對操作系統的知識比較了解。總之就是涉及的知識比較多,學習的東西也會比較多,要熟練掌握這門學科需要花費很長的周期。
在逆向工程下,軟體的加密技術和注冊機制也在不斷進化最早的時候,軟體只要購買了發行磁碟或光碟就可以使用正版軟體。但由於盜版光碟的盛行,演化成了需要輸入一串激活密鑰才能激活正版許可權。很快算號程序就出現了,於是就有了在線驗證。
但不管軟體的加殼/加密機制多麼強悍、注冊機制多麼完善,只要軟體的代碼在本地,就一定會被破解,只是時間的長短。
以上個人淺見,歡迎批評指正。
都是值不值得問題。如果現在花100天可以做軟體功能,再花5天時間可以使得它不好被破解。那我可能會做。如果說再花5天讓它幾乎不可破解。我可能選擇不做了。因為可能這部分的價值幾乎沒有。
如果,我是叫巨硬,到一個國家推廣軟體,這個國家還有個叫UPS的東西和我的軟體很像,我現在想的是先搞死他,甚至不在意我的推廣人員自己吧推廣費用吞了。那這時候我不但不做反破解,可能還會主動扶持這些推廣人員。
水至清則無魚,盜版畢竟是有風險的,新手或許都會去找破解版,但是功能等肯定使用起來不夠流暢,真正需要的專業用戶,還是願意花錢買點正版的。
一個軟體出來,破解版也是一種營銷宣傳手段,要是直接就收費了,哪裡有用戶去下載體驗使用呢
的確,所有軟體都可能被破解,包括支付寶和微信這種國民應用程序。
分析: 黑客破解軟體一方面是為了展示技術,向開發者炫技,另一方面是為了獲取利益。2019年天貓雙十一24小時遭受住了22億次惡意攻擊,是否意味著天貓就是銅牆鐵壁毫無漏洞?非也。像這種級別的應用程序都會配備專業的安全團隊,從技術上就過濾掉了絕大部分的「菜鳥黑客」,頂級黑客畢竟是少數,一般不屑於干這種事,同時也兼顧法律的威懾力,國民級應用程序被黑可不是小事,誰都不能保證自己全身而退。有句話是「滿瓶水不盪,半瓶水起波浪」,可以這樣說,雙十一攻擊天貓的那些黑客基本都是「半瓶水」水平,天貓能經受住考驗雖然不易,但也不足為奇。
一般的應用軟體就不用說了,開發者大部分心思都花在功能研究上了,安全方面都是盡力而為,如果想做的更好,就要建立專門的安全團隊,但這樣會增加很多開發成本,即便如此也不能保證軟體零漏洞。所以在黑客眼裡,大部分軟體無異於在「裸奔」。
總結: 很多軟體在網上出現破解版,是因為一部分人版權意識不夠強,抱著僥幸心理干著非法的事。不是開發者不阻止,是維權成本較高,軟體開發者基本都是睜一隻眼閉一隻眼。破解軟體是軟體行業發展的「絆腳石」,有免費的用誰還掏錢買正版?開發者掙不到錢誰還會用心開發軟體?這是一個死循環。不過隨著人們的版權意識在逐步提高,加上我國版權監管工作的不斷完善,這種情況會得到極大地改善,我們普通人要做的是支持正版就對了。
② 全球首點陣圖靈獎女性得主去世,她一生都做了哪些貢獻
8月24日,以編譯工作著稱的計算機科學家弗朗西斯·艾倫去世,享年88歲。在計算機編譯方面,她為現代計算機編程奠定了基礎。她是第一位獲得圖靈獎的女性,也是第一位IBM女研究員。
她的研究幾乎影響了計算機科學發展的整個歷程,使我們今天在商業和科技領域內使用的許多計算技術成為可能。她所留下的技術為今日的研究照亮了明燈,使得現代優化編譯器和自動並行執行技術得以問世,廣泛應用於當前的商業編譯器中。但是令人敬畏的她留給後人的除了科研技術上的引領,還有寶貴的精神財富。
她證明了女性在這些領域也可以有自己發光發熱的時刻,她帶給我們的是精神上的寶貴。
③ 黑客是什麼意思
提起黑客,總是那麼神秘莫測。在人們眼中,黑客是一群聰明絕頂,精力旺盛的年輕人,一門心思地破譯各種密碼,以便偷偷地、未經允許地打入政府、企業或他人的計算機系統,窺視他人的隱私。那麼,什麼是黑客呢?
黑客(hacker),源於英語動詞hack,意為「劈,砍」,引申為「幹了一件非常漂亮的工作」。在早期麻省理工學院的校園俚語中,「黑客」則有「惡作劇」之意,尤指手法巧妙、技術高明的惡作劇。在日本《新黑客詞典》中,對黑客的定義是「喜歡探索軟體程序奧秘,並從中增長了其個人才乾的人。他們不象絕大多數電腦使用者那樣,只規規矩矩地了解別人指定了解的狹小部分知識。」由這些定義中,我們還看不出太貶義的意味。他們通常具有硬體和軟體的高級知識,並有能力通過創新的方法剖析系統。「黑客」能使更多的網路趨於完善和安全,他們以保護網路為目的,而以不正當侵入為手段找出網路漏洞。
另一種入侵者是那些利用網路漏洞破壞網路的人。他們往往做一些重復的工作(如用暴力法破解口令),他們也具備廣泛的電腦知識,但與黑客不同的是他們以破壞為目的。這些群體成為「駭客」。當然還有一種人兼於黑客與入侵者之間。
一般認為,黑客起源於50年代麻省理工學院的實驗室中,他們精力充沛,熱衷於解決難題。60、70年代,「黑客」一詞極富褒義,用於指代那些獨立思考、奉公守法的計算機迷,他們智力超群,對電腦全身心投入,從事黑客活動意味著對計算機的最大潛力進行智力上的自由探索,為電腦技術的發展做出了巨大貢獻。正是這些黑客,倡導了一場個人計算機革命,倡導了現行的計算機開放式體系結構,打破了以往計算機技術只掌握在少數人手裡的局面,開了個人計算機的先河,提出了「計算機為人民所用」的觀點,他們是電腦發展史上的英雄。現在黑客使用的侵入計算機系統的基本技巧,例如破解口令(password
cracking),開天窗(trapdoor),走後門(backdoor),安放特洛伊木馬(Trojan
horse)等,都是在這一時期發明的。從事黑客活動的經歷,成為後來許多計算機業巨子簡歷上不可或缺的一部分。例如,蘋果公司創始人之一喬布斯就是一個典型的例子。
在60年代,計算機的使用還遠未普及,還沒有多少存儲重要信息的資料庫,也談不上黑客對數據的非法拷貝等問題。到了80、90年代,計算機越來越重要,大型資料庫也越來越多,同時,信息越來越集中在少數人的手裡。這樣一場新時期的「圈地運動」引起了黑客們的極大反感。黑客認為,信息應共享而不應被少數人所壟斷,於是將注意力轉移到涉及各種機密的信息資料庫上。而這時,電腦化空間已私有化,成為個人擁有的財產,社會不能再對黑客行為放任不管,而必須採取行動,利用法律等手段來進行控制。黑客活動受到了空前的打擊。
④ 世界上第一個計算機程序是怎樣開發出來的
世界上第一個程序是1842年寫的,恰好在第一個能被稱為計算機的真正機器。這段代碼的作者是AdaAugusta,被封為Lovelace女伯爵,就是大家所知道的AdaLovelace。作為世界上第一個計算機程序的作者,她被廣泛地認為是有史以來第一位程序員。
當把Ada稱為一位程序員的時候,很容易忘記世界上第一段代碼產生的年代就是塞繆爾·莫爾斯首次展示電話、阿姆斯達號上的黑奴在反抗和美國正處於三十年代、奧斯曼帝國和波斯帝國時期、穆斯林國家的奴隸正和埃及爭奪中東地區的年代。計算機這個詞在那時候仍然表示一個人做了100多年的計算工作的意思。那都是很久以前的事情了。
世界上第一段代碼是為查爾斯·巴貝奇的分析機寫的,這個機器從來沒有真正建成過,雖然有這個可能。AdaLovelace看到了巴貝奇機器的潛力,產生了可編程的計算機的念頭。她為泰勒的科學回憶錄翻譯了一位義大利數學家LuigiMenabrea的名為「分析機的概念圖」的論文,並通過「翻譯者的附註(她自己注釋的)」把這篇論文弄懂了,那個注釋里主要寫了查爾斯·巴貝奇分析機都能幹些什麼。在附註G的開篇,就提到了世界上第一個計算機程序,舉例說明了Lovelace意識到巴貝奇的設計是多麼的意義深遠,但還保持著她做科學的平靜。
「防止誇大源於分析機的能量的想法是有必要的。」
Lovelace在她根本沒有辦法誇大一個包含現代計算機的主要部分的設計的本質。巴貝奇拒絕公布這台分析機的很多內容,使得Lovelace的注釋對未來的發展起到了重要影響,最顯著的影響便是促使阿蘭·圖靈產生通用程序存儲計算機的想法。這一點Ada並沒有看到,她36歲去世,前面提到的注釋成了她唯一的出版物。如果她再能多活幾年多工作幾年,計算機會不會又是另一個樣子呢?
讓大家回到這個問題上來:如果巴貝奇有足夠的資源建好分析機並能讓Lovelace在上面跑程序的話,世界上第一個計算機程序是幹嘛用的呢?這個程序讓巴貝奇分析機計算了伯努利數字序列。接著她描述了怎麼把大量的巴貝奇分析機的穿孔卡片作為輸入實現這個程序。在她的實現方法中Lovelace設定了伯努利數序列的第一個數字(B0=1,B1=-),然後開始從B2(第一個非正規伯努利數)開始計算整個序列,她把這里的B2標記為B1。
現代重寫的Javascript版本的Ada的大量穿孔卡片上的堆棧看起來可能是這個樣子。這個重寫的版本不是Ada的代碼在巴貝奇分析機上的模擬,只是Ada曾經使用過的演算法的另一種實現。
順便提一下,到目前為止從沒有人能從Ada的伯努利數計算代碼里發現任何bug。盡管她發明了編程,但她顯然並沒有發明bug。
註:AdaLovelaceDay是一個國際性的慶祝婦女在科學,科技,工程和數學領域取得成就的節日。
最早的程序直接寫的是二進制機器代碼,沒有編譯器
將編好的代碼通過讀卡機讀如機器,直接執行。
然後出現的是嘩者匯編語言,通過二進制的機器代碼來實現匯編的編譯連接工作,
然後在用匯編語言完善優化匯編語言;
接著才是高級語言,使用匯編語言編譯
逐漸實現高級語言編譯高級語言
19世紀之前
一、機械計算機時代的拓荒者
在灶埋西歐,由中世紀進入文藝復興時期的社會大變革,大大促進了自然科學技術的發展,人們長期被神權壓抑的創造力得到空前釋放。其中製造一台能幫助人進行計算的機器,就是最耀眼的思想火花之一。從那時起,一個又一個科學家為把這一思想火花變成引導人類進入自由王亂辯薯國的火炬而不懈努力。但限於當時的科技總體水平,大都失敗了,這就是拓荒者的共同命運:往往見不到豐碩的果實。後人在享用這甜美的時候,應該能從中品出一些汗水與淚水的滋味
1614:蘇格蘭人JohnNapier(1550-1617)發表了一篇論文,其中提到他發明了一種可以計算四則運算和方根運算的精巧裝置。
1623:WilhelmSchickard(1592-1635)製作了一個能進行六位以內數加減法,並能通過鈴聲輸出答案的'計算鍾'。通過轉動齒輪來進行操作。
1625:WilliamOughtred(1575-1660)發明計算尺
1642:法國數學家Pascal在WILLIAMOughtred計算尺的基礎上將計算尺加以改進,能進行八位計算。並且還賣出了許多,成為一種時髦的商品。
1668:英國人SamuelMorl和(1625-1695)製作了一個非十進制的加法裝置,適宜計算錢幣。
1671:德國數學家GottfriedLeibniz設計了一架可以進行乘法,最終答案可以最大達到16位。
1775:英國Charles製作成功了一台與Leibniz's的計算機類似的機器。但更先進一些。
1776:德國人MathieusHahn成功的製作了一台乘法器。
1801:Joseph-MaireJacuard開發了一台能用穿孔卡片控制的自動織布機。
1820:法國人CharlesXavierThomasdeColmar(1785-1870),製作成功第一台成品計算機,非常的可靠,可以放在桌面上,在後來的90多年間一直在市場上出售。
1822:英國人CharlesBabbage(1792-1871)設計了差分機和分析機,其中設計的理論非常的超前,類似於百年後的電子計算機,特別是利用卡片輸入程序和數據的設計被後人所採用。
1832:Babbage和JosephClement製成了一個差分機的成品,開始可以進行6位數的運算。後來發展到20位、30位,尺寸將近一個房子那麼大。結果以穿孔的形式輸出。但限於當時的製造技術,他們的設計難以製成。
1834:斯德哥爾摩的GeorgeScheutz用木頭做了一台差分機。
1834:Babbage設想製造一台通用的分析機,在只讀存儲器(穿孔卡片)中存儲程序和數據,Babbage在以後的時間繼續他的研究工作,並於1840年將操作數提高到了40位,並基本實現了控制中心(CPU)和存儲程序的設想,而且程序可以根據條件進行跳轉,能在幾秒內作出一般的加法,幾分鍾內作出乘除法。
1842:Babbage的差分機項目因為研製費用昂貴,被政府取消。但他自己仍花費大量的時間和精力於他的分析機研究。
1843:Scheutz和他的兒子EdvardScheutz製造了一台差分機,瑞典政府同意繼續支持他們的研究工作。
1847:Babbage花兩年時間設計了一台較簡易的、31位的差分機,但沒有人感興趣並支持他造出這台機器。但後來倫敦科學博物館用現代技術復制出這台機器後發現,它確實能准確的工作。
1848:英國數學家GeorgeBoole創立二進制代數學。提前差不多一個世紀為現代二進制計算機鋪平了道路。
1853:令Babbage感到高興的是,Scheutzes製造成功了真正意義上的比例差分機,能進行15位數的運算。象Babbage所設想的那樣輸出結果。後來倫敦的BrianDonkin又造出了更可靠的第二台。
1858:第一台製表機被Albany的Dudley天文台買走。第二台被英國政府買走。但天文台並沒有將其充分利用,後來被送進了博物館。而第二台卻被幸運的使用了很長時間。
1871:Babbage製造了分析機的部分部件和印表機。
1878:紐約的西班牙人RamonVerea,製造成功桌面計算器。比前面提到的都要快。但他對將其推向市場不感興趣,只是想表明,西班牙人可以比美國人做的更好。
1879:一個調查委員會開始研究分析機是否可行,最後他們的結論是:分析機根本不可能工作。此時Babbage已經去世了。調查之後,人們將他的分析機徹底遺忘了。但HowardAiken例外。
1885:這時期更多的計算機涌現出來。如美國、俄國、瑞典等。他們開始用有槽的圓柱代替易出故障的齒輪。
1886:芝加哥的DorrE.Felt(1862-1930),製造了第一台用按鍵操作的計算器,而且速度非常快,按鍵抬起,結果也就出來了。
1889:Felt推出桌面印表計算器。
1890:1890美國人口普查。1880年的普查人工用了7年的時間進行統計。這意味著1890年的統計將會超過10年。美國人口普查部門希望能得到一台機器幫助提高普查的效率。HermanHollerith,建立製表機公司的那個人,後來他的公司發展成了IBM公司。借鑒了Babbage的發明,用穿孔卡片存儲數據,並設計了機器。結果僅僅用了6個周就得出了准確的數據(62622250人)。HermanHollerith大發其財。
1892:聖多美和普林西比的WilliamS.Burroughs(1857-1898),製作成功了一台比Felt的功能更強的機器,真正開創了辦公自動化工業。
1896:HermanHollerith創辦了IBM公司的前身。1900~1910
1906:HenryBabbage,CharlesBabbage的兒子,在R.W.Munro的支持下,完成了父親設計的分析機,但也僅能證明它能工作,而沒有將其作為產品推出。
二、電子計算機最初的日子裡
在這之前的計算機,都是基於機械運行方式,盡管有個別產品開始引入一些電學內容,卻都是從屬與機械的,還沒有進入計算機的靈活:邏輯運算領域。而在這之後,隨著電子技術的飛速發展,計算機就開始了由機械向電子時代的過渡,電子越來越成為計算機的主體,機械越來越成為從屬,二者的地位發生了變化,計算機也開始了質的轉變。下面就是這一過渡時期的主要事件:
1906:美國的LeeDeForest發明了電子管。在這之前造出數字電子計算機是不可能的。這為電子計算機的發展奠定了基礎。
1920~1930
1924年2月:IBM,一個具有劃時代意義的公司成立
1930~1940
1935:IBM推出IBM601機。這是一台能在一秒鍾算出乘法的穿孔卡片計算機。這台機器無論在自然科學還是在商業意義上都具有重要的地位。大約造了1500台。
1937:英國劍橋大學的AlanM.Turing(1912-1954)出版了他的論文,並提出了被後人稱之為'圖靈機'的數學模型。
1937:BELL試驗室的GeorgeStibitz展示了用繼電器表示二進制的裝置。盡管僅僅是個展示品,但卻是第一台二進制電子計算機。
1938:ClaudeE.Shannon發表了用繼電器進行邏輯表示的論文。
1938:柏林的KonradZuse和他的助手們完成了一個機械可編程二進制形式的計算機,其理論基礎是Boolean代數。後來命名為Z1。它的功能比較強大,用類似電影膠片的東西作為存儲介質。可以運算七位指數和16位小數。可以用一個鍵盤輸入數字,用燈泡顯示結果。
19391月1日:加利福尼亞的DavidHewlet和WilliamPackard在他們的車庫里造出了Hewlett-Packard計算機。名字是兩人用投硬幣的方式決定的。包括兩人名字的一部分。
1939年11月:美國JohnV.Atanasoff和他的學生CliffordBerry完成了一台16位的加法器,這是第一台真空管計算機。
1939:二次世界大戰的開始,軍事需要大大促進了計算機技術的發展。
1939:Zuse和Schreyer開始在他們的Z1計算機的基礎上發展Z2計算機。並用繼電器改進它的存儲和計算單元。但這個項目因為Zuse服兵役被中斷了一年。
1939/1940:Schreyer利用真空管完成了一個10位的加法器,並使用了氖燈做存儲裝置。
1940~1950
1940年1月:Bell實驗室的SamuelWilliams和Stibitz製造成功了一個能進行復雜運算的計算機。大量使用了繼電器,並借鑒了一些電話技術,採用了先進的編碼技術。
1941夏季:Atanasoff和學生Berry完成了能解線性代數方程的計算機,取名叫'ABC'(Atanasoff-BerryComputer),用電容作存儲器,用穿孔卡片作輔助存儲器,那些孔實際上是'燒'上的。時鍾頻率是60HZ,完成一次加法運算用時一秒。
1941年12月:德國Zuse製作完成了Z3計算機的研製。這是第一台可編程的電子計算機。可處理7位指數、14位小數。使用了大量的真空管。每秒種能作3到4次加法運算。一次乘法需要3到5秒。
1943:1943年到1959年時期的計算機通常被稱作第一代計算機。使用真空管,所有的程序都是用機器碼編寫,使用穿孔卡片。典型的機器就是:UNIVAC。
1943年1月:MarkI,自動順序控制計算機在美國研製成功。整個機器有51英尺長,重5噸,75萬個零部件,使用了3304個繼電器,60個開關作為機械只讀存儲器。程序存儲在紙帶上,數據可以來自紙帶或卡片閱讀器。被用來為美國海軍計算彈道火力表。
1943年4月:MaxNewman、Wynn-Williams和他們的研究小組研製成功'HeathRobinson',這是一台密碼破譯機,嚴格說不是一台計算機。但是其使用了一些邏輯部件和真空管,其光學裝置每秒鍾能讀入2000個字元。同樣具有劃時代的意義。
1943年9月:Williams和Stibitz完成了'RelayInterpolator',後來命名為'ModelIIRelayCalculator'。這是一台可編程計算機。同樣使用紙帶輸入程序和數據。其運行更可靠,每個數用7個繼電器表示,可進行浮點運算。
1943年12月:最早的可編程計算機在英國推出,包括2400個真空管,目的是為了破譯德國的密碼,每秒能翻譯大約5000個字元,但使用完後不久就遭到了毀壞。據說是因為在翻譯俄語的時候出現了錯誤。
1946:ENIAC(ElectronicNumericalIntegrator和Computer):第一台真正意義上的數字電子計算機。開始研製於1943年,完成於1946年。負責人是JohnW.Mauchly和J.PresperEckert。重30噸,18000個電子管,功率25千瓦。主要用於計算彈道和氫彈的研製。
三、晶體管計算機的發展
真空管時代的計算機盡管已經步入了現代計算機的范疇,但其體積之大、能耗之高、故障之多、價格之貴大大制約了它的普及應用。直到晶體管被發明出來,電子計算機才找到了騰飛的起點,一發而不可收
1947:Bell實驗室的WilliamB.Shockley、JohnBardeen和WalterH.Brattain.發明了晶體管,開辟了電子時代新紀元。
1949:EDSAC:劍橋大學的Wilkes和他的小組建成了一台存儲程序的計算機。輸入輸出設備仍是紙帶。
1949:EDVAC():第一台使用磁帶的計算機。這是一個突破,可以多次在其上存儲程序。這台機器是JohnvonNeumann提議建造的。
1949:'未來的計算機不會超過1.5噸。'這是當時科學雜志的大膽預測。
1950~1960
1950:軟磁碟由東京帝國大學的YoshiroNakamats發明。其銷售權由IBM公司獲得。開創存儲時代新紀元。
1950:英國數學家和計算機先驅AlanTuring說:計算機將會具有人的智慧,如果一個人和一台機器對話,對於提出和回答的問題,這個人不能區別到底對話的是機器還是人,那麼這台機器就具有了人的智能。
1951:GraceMurrayHopper完成了高級語言編譯器。
1951:Whirlwind:美國空軍的第一個計算機控制實時防禦系統研製完成。
1951:UNIVAC-1:第一台商用計算機系統。設計者:J.PresperEckert和JohnMauchly。被美國人口普查部門用於人口普查,標志著計算機的應用進入了一個新的、商業應用的時代。
1952:EDVAC():由VonNeumann領導設計並完成。取名:電子離散變數計算機。
1953:此時世界上大約有100台計算機在運轉。
1953:磁芯存儲器被開發出來。
1954:IBM的JohnBackus和他的研究小組開始開發FORTRAN(FORmulaTRANslation),1957年完成。是一種適合科學研究使用的計算機高級語言。
1956:第一次有關人工智慧的會議在Dartmouth學院召開。
1957:IBM開發成功第一台點陣列印機。
1957:FORTRAN高級語言開發成功。
四、集成電路,現代計算機插上騰飛的翅膀
盡管晶體管的採用大大縮小了計算機的體積、降低了其價格,減少了故障。但離人們的要求仍差很遠,而且各行業對計算機也產生了較大的需求,生產更能更強、更輕便、更便宜的機器成了當務之急,而集成電路的發明正如"及時雨",當春乃發生。其高度的集成性,不僅僅使體積得以減小,更使速度加快,故障減少。人們開始製造革命性的微處理器。計算機技術經過多年的積累,終於駛上了用硅鋪就的高速公路。
1958年9月12日:在RobertNoyce(INTEL公司的創始人)的領導下,發明了集成電路。不久又推出了微處理器。但因為在發明微處理器時借鑒了日本公司的技術,所以日本對其專利不承認,因為日本沒有得到應有的利益。過了30年,日本才承認,這樣日本公司可以從中得到一部分利潤了。但到2001年,這個專利也就失效了。
1959:1959年到1964年間設計的計算機一般被稱為第二代計算機。大量採用了晶體管和印刷電路。計算機體積不斷縮小,功能不斷增強,可以運行FORTRAN和COBOL,接收英文字元命令。出現大量應用軟體。
1959:GraceMurrayHopper開始開發COBOL(COmmonBusiness-OrientatedLanguage)語言,完成於1961年。
1960~1970
1960:ALGOL:第一個結構化程序設計語言推出。
1961:IBM的KennthIverson推出APL編程語言。
1963:PDP-8:DEC公司推出第一台小型計算機。
1964:1964年到1972年的計算機一般被稱為第三代計算機。大量使用集成電路,典型的機型是IBM360系列。
1964:IBM發布PL/1編程語言。
1964:發布IBM360首套系列兼容機。
1964:DEC發布PDB-8小型計算機。
1965:摩爾定律發表,處理器的性能每年提高一倍。後來其內容又發生了改變。
1965:LoftiZadeh創立模糊邏輯,用來處理近似值問題。
1965:ThomasE.Kurtz和JohnKemeny完成BASIC()語言的開發。特別適合計算機教育和初學者使用,得到了廣泛的推廣。
1965:DouglasEnglebart提出滑鼠器的設想,但沒有進一步的研究。直到1983年被蘋果電腦公司大量採用。
1965:第一台超級計算機CD6600開發成功。
1967:NiklausWirth開始開發PASCAL語言,1971年完成。
1968:RobertNoyce和他的幾個朋友創辦了INTEL公司。
1968:SeymourPaper和他的研究小組在MIT開發了LOGO語言。
1969:ARPANET計劃開始啟動,這是現代INTERNET的雛形。
1969年4月7日:第一個網路協議標准RFC推出。
1969:EIA(ElectronicInstriesAssocia
1970~1980
1970:第一塊RAM晶元由INTEL推出,容量1K。
1970:KenThomson和DennisRitchie開始開發UNIX操作系統。
1970:Forth編程語言開發完成。
1970:Internet的雛形ARPAnet()基本完成。開始向非軍用部門開放,許多大學和商業部門開始接入。
1971年11月15日:MarcianE.Hoff在INTEL公司開發成功第一塊微處理器4004,含2300個晶體管,是個4位系統,時鍾頻率108KHz,每秒執行6萬條指令。
在後來的日子裡,處理器發展主要指標一覽:
處理器主頻每秒百萬條指令
4004108KHz0.06
80802MHz0.5
680008MHz0.7
80868MHz0.8
6800016MHz1.3
6802016MHz2.6
8028612MHz2.7
6803016MHz3.9
386SX20MHz6
6803025MHz6.3
6803040MHz10
386DX33MHz10
486DX25MHz20
486DX2-5050MHz35
486DX4/100100MHz60
Pentium66MHz100
Pentium133MHz240
Pentium233MHzMMX435
PentiumPro200MHz440
PentiumII233MHz560
PentiumII333MHz770
1971:PASCAL語言開發完成。
1972:1972年以後的計算機習慣上被稱為第四代計算機。基於大規模集成電路,及後來的超大規模集成電路。計算機功能更強,體積更小。人們開始懷疑計算機能否繼續縮小,特別是發熱量問題能否解決?人們開始探討第五代計算機的開發。
1972:C語言的開發完成。其主要設計者是UNIX系統的開發者之一DennisRitche。這是一個非常強大的語言,開發系統軟體,特別受人喜愛。
1972:Hewlett-Packard發明了第一個手持計算器。
1972年4月1日:INTEL推出8008微處理器。
1972:ARPANET開始走向世界,INTERNET革命拉開序幕。
1973:街機游戲Pong發布,得到廣泛的歡迎。發明者NolanBushnell,後來Atari的創立者。
1974:第一個具有並行計算機體系結構的CLIP-4推出。
五、計算機技術漸入輝煌
在這之前,計算機技術主要集中在大型機和小型機領域發展,但隨著超大規模集