係統粉 > IT資訊 > 微軟資訊

Windows 10怎麼了?

發布時間:2018-10-24    瀏覽數:

本月3日,微軟突然推送了Windows 10更新十月版(1809)的正式版。縱觀Windows 10自2015年正式發布以來的所有正式版更新,跳過發布預覽通道直接RTM的版本,在1809之前,還真的找不到先例。

Windows 10怎麼了?(1)

推送快,是Windows 10 1809的特點之一,除此之外,它還有另外一個特點,就是問題多。

Windows 10 1809都有哪些問題,我們不妨來回顧一下:

Windows 10怎麼了?(2)

英特爾驅動與Windows 10 1809不兼容,導致部分用戶無法更新;

新版係統安裝緩慢;

從Microsoft Store獲取的應用程序無法聯網;

Edge瀏覽器收藏夾中的內容丟失;

藍牙連接間歇性中斷;

文件資源管理器的黑暗模式黑暗不完全;

通知可能會無法在操作中心顯示;

開始菜單中的搜索功能無法按預期工作;

開始菜單中的磁貼可能會意外重疊;

升級到1809後用戶的部分設置被重置;

升級到1809後部分用戶無法登錄係統;

任務管理器UI元素閃爍;

任務管理器CPU占用率顯示不準確;

部分用戶的個人文件在升級到Windows 10 1809之後丟失。

不過上麵的這些問題並不是我們這篇文章要討論的內容。今天我們要討論什麼呢?是發生這些問題的原因。

硬件廠商的問題?

按道理來講,從來隻有驅動適配係統的說法,而沒有係統適配驅動的說法,所以Windows 10上的一些和硬件廠商的驅動有關的問題就一定要廠商來背鍋,是嗎?

不一定。

我們不妨拿這次英特爾的驅動與Windows 10 1809不兼容,導致部分用戶無法升級的問題舉例。

Windows 10怎麼了?(3)

據了解,按照正常的流程,一個Windows 10的大版本更新在正式推送給用戶之前,微軟需要把RTM之前的候選版本提供給硬件廠商,以便他們及時跟進驅動的適配,這些硬件廠商中肯定會有英特爾。

為了防止驅動出現問題以及防範惡意軟件,在硬件廠商編寫好驅動之後,微軟的Windows硬件設備質量實驗室(WHQL,Windows Hardware Quality Lab)會對這些驅動進行一個認證。

如果認證通過,微軟就會給這些廠商的驅動簽名,隻有這些簽過名的驅動,最終才被允許安裝在用戶的電腦上。通常來講,微軟會通過Windows Update把來自廠商的新版驅動靜默推送到用戶的電腦上,用戶無需自己動手。

這次部分用戶因新版驅動未安裝而無法升級到Windows 10 1809,其背後的事實究竟是怎樣的呢?其實,在Windows 10 1809 RTM之前,適配於新係統的英特爾驅動就已經編寫完成、並通過WHQL的認證了。至於這個本可以避免的問題最終因何暴露,解釋起來卻讓人哭笑不得:英特爾確實提交了新版驅動,可微軟在Windows Update裏推送它的時候,竟把它當成了一個可選更新。

硬件廠商再配合,也怕微軟搭錯筋啊。

微軟砍掉了測試團隊?

微軟內部有三大核心技術工種,分別是軟件開發工程師(SDE)、軟件測試工程師(SDET)和項目經理(PM)。2014年,有傳言稱微軟裁撤了軟件測試部門,轉而將Windows 10的測試任務交給自動化測試和用戶測試,這種說法其實是不準確的。SDET崗位並非被裁撤,而是與SDE進行了合並。SDET的職責也並未消失,隻是被重新分配了而已。也就是說,過去,軟件測試這個工作是由SDET來專職負責的,而SDET與SDE合並之後,軟件開發工程師同時肩負了軟件測試的職責(組合工程),微軟內部的QA類型測試依然存在,這樣算起來,Windows 10係統的質量控製就是由自動化測試、SDE的內部把關、Windows Insider的外部把關以及OEM測試所共同完成的。

Windows 10怎麼了?(4)

把SDET與SDE進行合並,這種操作真的沒問題麼?

當然沒問題,不過有一點我們需要考慮,那就是SDE的思維方式與SDET的思維方式之間的差異性。對於一個開發人員來講,在測試軟件的過程中,他們所做的前提假設,是他們麵前的這段代碼可以正常運行,而軟件的測試人員則不然,他們所做的前提假設,是他們麵前的這段代碼充滿bug,其目標,則是發現問題、複現問題、提交問題並解決問題。SDE與SDET思維方式間的差異給最終的測試結果所帶來的潛在影響,是絕對不可以被忽視的。

所以Windows 10質量控製水平下降這個問題,最終要讓SDET與SDE的合並來背鍋?

不盡然。還有其他原因,我們接著看。

Windows 10底層改動太多?

操作係統的開發是一項超級大的工程。正如我們所知道的,一項工程越複雜,那它出錯的可能性就越大,而某個錯誤所處於的層級越淺,那修複它的代價就越小。

這裏我們假設一個最簡單的軟件結構模型,其層級我們以底層、中間層和表層代指。底層(Unit層)相當於蓋房子時所用的磚塊。通常來講,這個層級的測試(單元測試),其需要測試項目最多,可能存在的bug的數量也最多,但如果問題在這一層級被發現,那解決問題的代價是最小的。

中間層(Service層)相當一棟房子中由磚塊組成的牆體。若底層的各個單元都能正常工作,那將它們結合到一起之後,其組合體能否依然正常工作,這就是中間層級的測試所需要驗證的事情。通常來講,這個層級的測試,其需要測試的項目的數量要少於單元測試,而如果有問題在這個層級被發現,那解決問題的代價是相對較小的。

表層(UI層)相當於由牆體、天花板等組成的一棟完整的房子。如果一個由各個單元和模塊所拚合成的最終產品可以按設計預期工作,那就萬事大吉,非常好,但如果這一層級當中真的被測出了問題,那就比較麻煩了。因為導致這個問題的原因還無法定位。如果問題出在表層和中間層,那問題解決起來相對還算容易,但如果問題出在底層,那問題不僅定位起來相當麻煩,解決起來的代價也非常高,因為用了有問題的Unit的Service都會受到影響。

Windows 10怎麼了?(5)

作為一個操作係統來講,Windows 10的結構遠比我們上麵提出的這個軟件結構模型要複雜得多,它是由HAL、Devices Drivers、Kernel、Windows and Graphics、NTDLL.DLL、Subsystem DLLs、Service Processes、User Process、Environment Subsystems和System Process等多個層級所組成的,每個層級和每個模塊之間都環環相扣,並有可能互相影響。

有件技術上的事情可以確定的是,據《Windows Internals》這本書的介紹,Windows 10所加入的新技術對底層的改動比Windows 7、Windows 8和Windows 8.1還要多,比如新的Secure System進程、Exploit Guard、WSL以及新的驅動模型。

底層改動所導致的問題很有可能牽一發而動全身,Windows 10的質量難以控製,相信和它的底層改動肯定是分不開的。

Windows Insider項目背鍋?

Windows Insider項目是微軟於2014年推出的麵向用戶的Windows 10預覽體驗計劃,此前有傳言稱,微軟“砍掉測試團隊”之後,Windows 10的質量控製將全部依賴於自動化測試和Windows Insider,而因為Windows Insider成員很難像專業的軟件測試工程師那樣準確和專業地反饋問題,所以Windows 10的質量控製水平出現了下滑。

關於“微軟砍掉測試團隊”這個傳言,我們上麵已經進行過一個澄清,將Windows 10質量水平下滑的原因歸結於“微軟砍掉了測試團隊”,這肯定是不準確的。

至於Windows Insider要為此背鍋這個觀點,雖然目前還沒有證據表明Windows 10的測試在某些程度上依賴於Windows Insider項目與其質量控製水平的下滑有直接的關係,不過有一點是幾乎確定的,那就是沒有接受過專業培訓的Windows Insider很可能難以足夠高效地發現和反饋問題。

專業的軟件測試工程師在進行軟件測試時通常會結合測試用例係統和全麵地排查問題,而沒有經過專業培訓的Windows Insider雖然可以為Windows 10提供數量相當可觀的反饋,但這些反饋麵臨很大的重複提報風險、漏報風險以及誤報風險,另外,數量龐大的反饋會讓微軟為之付出相當大的篩選成本。

所以Windows 10質量控製出現問題要Windows Insider來背鍋?

這個鍋Windows Insider們當然不能背。

Windows 10怎麼了?(6)

因為在把係統交給Windows Insider測試之前,微軟需要對候選的版本進行單元測試和冒煙測試,也就是說,最終提交給用戶的版本,肯定是一個基本上沒有毀滅性bug的版本,況且用戶提交的問題被解決後,微軟還要以采取回歸測試的形式來進行驗收。由此可見,Windows 10的質量控製做得合格與否,很大程度上是取決於微軟,而非Windows Insider。

Windows已經不重要了?

今年3月29日,據報道,微軟對公司的組織結構進行了新一輪的變革,Windows和設備部門被拆分,當時的Windows和設備部門主管Terry Myerson離職,Windows Insider項目唐娜姐被分配到Azure部門。

獨立的Windows部門“沒了”。

Windows 10怎麼了?(7)

近些年,微軟一直在進行業務方向上的變革,正如我們所經曆的那樣,微軟砍掉了Windows RT,放棄了Lumia設備的研發和生產,砍掉了微軟手環的產品線,宣布Windows 10 Mobile進入維護期,種種跡象表明,微軟正在縮減其To C的業務,而大力發展量子計算、雲計算和人工智能則表明微軟的業務中心越來越向To B傾斜。

為什麼微軟要做出這樣的傾斜呢?首先,微軟的To C業務已經遇到瓶頸,隨著亞馬遜、穀歌等科技巨頭在雲計算領域紛紛發力,微軟若不及時改變,等這一領域形成準入壁壘,微軟再入場就為時已晚。另外,To B業務會為微軟帶來非常積極的營收,這對微軟的股東以及微軟公司本身都是一大利好。

那Windows呢?Windows就不重要了嗎?

當然重要。

Windows 10怎麼了?(8)

隨著微軟轉型的推進,Windows 10早已不是一個簡單的產品——而是基礎設施。Windows 10已經融入到用戶生活和工作的方方麵麵,就像我們每天呼吸的空氣一樣——它看似透明,卻不可或缺。微軟的服務,不管是To B還是To C,很大程度上都要依托於Windows 10。

既然Windows 10對微軟依然重要,那為什麼微軟要分拆Windows和設備部門呢?

微軟的轉型固然是原因之一,不過還有一個故事,大家盡管當成街談巷議來聽,千萬不要認真。

不知大家有沒有過這樣的好奇,納德拉上台以來,為什麼Windows好像越來越不受待見了呢?

微軟Windows事業部曾經有個名叫“Steven Sinofsky”的主管,當年微軟在選下一任CEO的時候,它是薩提亞·納德拉強有力的競爭者,在和納德拉的競爭中失利之後,Steven Sinofsky與微軟“和平分手”。

Steven Sinofsky離職之後,媒體嚐試與微軟的聯係人取得聯係,但由於這個話題比較敏感,該聯係人不願意透露身份。

聯係人聲稱:“你想必聽說了Steven Sinofsky是因為得罪了人才離開的,Sinofsky的政治手法一麵是鐵腕政策,對他一定要服從,一麵是同時在暗地裏搞一些政治鬥爭……”

Windows 10怎麼了?(9)

薩提亞·納德拉上台以後微軟為什麼總是拿Windows部門開刀,又是砍掉Windows RT、又是放棄Windows 10 Mobile、又是對Windows 10 IoT愛搭不理,如果從“否定競爭對手(即使是曾經的)的一切,就是肯定自己的一切”的角度來理解,那上麵的這些事情為何發生,或許也就有個非官方的解釋了。

根本原因

在上文中,和大家討論了可能導致Windows 10質量失控的種種原因,但這些原因隻是表麵原因,它們都不是根本上的原因。

歸根結底,Windows 10質量失控的罪魁禍首,其實就是迭代太快。

Windows 10的開發和敏捷開發是同樣的模式,敏捷開發是一種以用戶的需求進化為核心,采用迭代、循序漸進的方法進行軟件開發的模式。

操作係統這種東西,實際上是不能敏捷開發的。微軟的Windows 10的質量之所以有失控風險,就是因為他們更新迭代產品的方式變了。

對於Windows 10這樣的超級工程來講,半年更新一次的頻率對微軟來說太快了,就目前來看,短時間之內,微軟還很難保證這樣的迭代和交付周期。

除非微軟能夠想出一個能夠讓新係統既能及時交付又能有效控製質量的兩全的辦法,否則,認為,把Windows 10的迭代周期由半年一個大版本改成一年一個大版本可能是個更好的主意。

寫到這裏,文軒突然想起8848鈦金手機的一句廣告詞。在文章的最後,我們不妨把這句話送給微軟的Windows 10。

記住,跑得快不一定贏,不跌跟頭,才是成功。

上一篇:微軟、大陸等巨頭紛紛涉足車聯網 意欲為何? 下一篇:微軟Office與WPS的區別

相關資訊

最新熱門應用

電腦問答