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