摘要:本文譯自Quora:這件事情是一個原來的微軟員工告訴我的,他發誓這是第一手消息。
如果你在90年代或者是2000年早期安裝Windows的時候,你很有可能會記住,在系統第一次啟動之后進入桌面的時候,那些程序安裝和初始化的過程。這些小程序,包括計算器,日歷,記事本,等等這些小東西(好吧,我們看看,真的很少有人會用這些東西),需要第一次初始化,并且寫入注冊表值。每一個花的時間都不長,但是總體加起來的話就需要很長時間。我記得,在有些機器上安裝一份新的Windows的過程長達30到40分鐘,但這有可能是我的記憶夸張了。
我的線人告訴我,其實想要把已經初始化過的程序放進Windows安裝包里是很簡單的。然而實際上并沒有,因為在微軟構建最終發布候選版(RC)的人不愿意在每一次發布測試的時候都等上30到40分鐘。所以他們決定,自己的時間每次都節省半小時左右,在發行版時不加入初始化過程。這也就意味著,那十幾年過程當中,安裝Windows的數以千萬計的人們,每一個人都多延長半個小時的等待。
我自己的猜測是,這個決定影響了大概5000萬份Windows的安裝過程,如果每次安裝都持續半小時時間,總體浪費其他人的時間長達2891年多一點——這包括閏年。這是建造數十座金字塔所花費的時間;這是把人類的寶貴時刻棄如敝履所造就的一項偉大工程。
回復1:
90年代早期還是Windows 3.x,在95之前并沒有注冊表系統,注冊表存儲的信息在早期版本中是單獨在后綴名為ini的文件當中所存儲的,這些文件與安裝程序放在同一位置上。Windows的安裝并不總是在C盤,或者可能在外部存儲器上,你還可以在同一臺電腦上安裝多個版本的Windows。所以,一些初始文件直接裝入可能是沒有用的,或者是有些選擇必須被移除。Windows 95以后的注冊表也是一樣。
對于這些應用的初始化,我覺得是在它們真正被第一次打開的時候完成的,而不是安裝程序都來包辦,在Windows和資源管理器(Explorer)等核心組件也有他們自己的一點點初始化過程。
還記得當年我們是如何把成山的1.44MB容量的軟盤塞到PC里面的嗎?那是無窮無盡的插拔軟盤的接力。在系統安裝完了之后,還要用另一大堆軟盤把Office裝進去。絕大多數電腦當時缺少光驅,沒有U盤,硬盤空間還是以M計算的。
我曾經使用CD安裝過Windows 3和Office,但是Windows 95是第一次被大眾所廣泛接受使用CD來安裝。稍早一點之前Windows NT 4也通常是使用軟盤安裝的。Windows NT 4在他們的更新包當中加入了一些Windows 95的功能。在任何一種情況之下,在第一次從硬盤啟動之前一定都要等上半個小時左右。這還是最幸運的情況,通常它所表示的完成時間是由處理器和內存來決定的。盡管如此總是有一些非常惱人的后續操作留下來,比如說調整屏幕分辨率,輸入區域設置,還有包括設置一些硬件,包括可選的網絡配置。
我不能說我已經找到有哪一個版本的Windows安裝速度很快,但是,絕大多數都應該是機器的操作,不需要任何人手動調整安裝過程,直到安裝結束。
我把Windows XP的安裝做過公司統一部署,想要一次性將當年所有的系統更新,預設置工作組,電腦名稱,以及服務,包括驅動程序,都流式傳輸到所有的硬件上。這并不是插入CD完成的,但是總有一些處理不到的地方,和最后的安裝更新要做。這些事情雖小,但要完成也需要好幾天時間。
Windows下任何應用程序的安裝都可以做得更好,更與眾不同。甚至是Windows 7仍然只允許一次進行一個安裝(指MSI格式),有的時候有些更新沒辦法同時運行。
當我最早在PC安裝NeXTStep系統的時候,Sun、PC和MAC的工作站仍然使用TCP/IP和Novell的協議,設定密碼和登錄權限,允許我使用遠程光盤以及虛擬光驅。統一安裝過程卡在了安裝應用程序時候,因為必須以光盤在每個工作站上一個一個地安裝。即使在當時機能很高的486上面安裝,也需要用一晚上的時間。好在都是最終自動完成的,而且不需要人工介入。
最近我在同一臺電腦上安裝了Windows 95,Windows 98第二版和NT 4,同時也安裝了NeXTStep,這臺電腦可以被看作是一個濃縮的電腦博物館了。我還有一些老的機器,仍然可以運行Windows 95,Windows 98,NT 4或者是XP。我使用Windows 95是為了用它的DOS實模式,以及低層級的對軟盤的讀取,來處理剩下的那些5.25寸和3.5寸的軟盤?,F在我對它們的需求不多了,但我依然有一大堆很老的軟盤,必須將其中內容轉錄到光盤里。
回復2:
與此同時,讓我們來看一看庫珀蒂諾。
史蒂夫·喬布斯被一件事情始終困擾,那是因為在Mac第一次啟動的時候需要花很長時間,可能需要幾分鐘或者甚至更長,來測試內存,初始化操作系統,以及加入資源管理器(Finder)。
一個下午,史蒂夫用他尋常的方式來加快啟動進度。當時正在負責磁盤,驅動和文件系統方面的工程師是Larry Kenyon。史蒂夫走到他的辦公桌旁,開始朝著他咆哮:“Mac啟動的太慢了,你需要快點!”
Larry開始解釋一些他認為他可以改進的地方,但是史蒂夫并不感興趣。他接著說,“你知道,我老是在想這件事。有多少人會使用麥金塔機器?能有100萬——絕對不止,在幾年之間,我打賭有500萬人將會用至少一天時間來啟動麥金塔電腦。所以,我們假設你每一次能把啟動時間削減10秒鐘,你把這乘以500萬用戶,這就是5000萬秒,基本上是每一天5000萬秒。這樣持續一年,時間加起來算是好幾個人的一整個人生。所以如果你讓啟動時間快10秒鐘,你就挽救了好多的生命。這確實很值得,你不覺得嗎?”
我們對于讓軟件變得更快總是充滿動力,所以我不確定這種說法有沒有效,但是我們想它絕對是很幽默的。而且我們確實在接下來的幾個月當中,努力削減了超過10秒的啟動時間。
摘自:Folklore.org: Saving Lives
回復3:
我曾經工作過的一家公司讓他們的電腦7天24小時輪流開著。IT管理人員表示,因為這樣更新就可以在晚間以及周末進行,在早上開機的時候,大家就不用浪費太多時間。可是顯示器當時也開著,所以我報告了管理層,讓顯示器每天晚上開8到12個小時,周末也開著,可能會費電。在這個公司當中電腦可能多達幾千臺,所以這不是個小問題。
說到啟動時間方面,PC在這方面非常差勁,但是很典型的人們在早上做的第一件事情,是把顯示器打開,然后放下公文包來沖一杯咖啡。真的因為等待啟動浪費的時間其實有可能是接近于零。同時因為電腦們7天24小時連續工作,他們每18個月就做電腦升級,而淘汰下來的這些電腦都干脆壞掉了,沒辦法被轉手賣出去。
其他回復:
如果這個故事是真的,聽起來更像是沒有耐心,而不是懶惰。實際上,如果真的是懶惰的話,這些雇員絕對會很歡迎在他們做工作的時候多等這么長時間。
微軟可能會讓你覺得你安裝Windows是一件很麻煩的事情,這樣,等安裝完成之后,你就會多少有一種謎一樣的成就感。
讓我們來看積極的一面:“親愛的,我必須把Windows 95裝上,需要花點時間。”“哦,甜心,我不知道是這樣,但是,我們可以在等待的時間里來滾一場床單,你覺得呢?”所以因為這樣,有很多孩子的誕生,都得拜懶惰的微軟員工所賜。
我在之前一份工作的時候,聽說了關于程序員的一個笑話。每次一個用戶因為你糟糕的代碼所發泄的怒氣,都會被累積起來乘以十——這就是你不得不在電腦上用著你自己的程序時所花的代價。你會有一個非常舒服和漂亮的編程環境,但是每一次當你除Bug的時候,總會有一個拿著大叉子的惡魔對著你的手腕猛擊一下。
我很喜歡名人名言。最近幾個月,我得知了來自偉大的比爾·蓋茨先生本尊的這么一句名言:“如果我發現某些事情非常困難,我總是讓一個懶人來做這件事情,懶人總會發現最快和最方便的方法來做某件事。”我想商業的本性就是懶人也會超級聰明,這可是來自這個世界上最富有的人的話,準沒錯兒。