如果現在微軟重寫Windows會怎麼樣?

徹底重寫但是保持兼容,所有驅動必須提交微軟由Update推送,必須驗證才能原裝有簽名的驅動,程序沒有簽名默認沙盒運行。。。搞這麼麻煩我只想說

求別藍屏


程序沒有簽名默認沙盒運行,這就打破了保持兼容這件事情。因為很多程序默認的行為就是沒有沙盒的。換句話說,題目的兩個前提已經矛盾了。所以邏輯上就是錯的。

第二,藍屏是因為kernel mode掛了,而不是user mode。所以你user mode程序有沒有沙盒,都不會影響到藍屏不藍屏。

第三,別的朋友也說了,即便通過WHQL,也不能保證不會藍屏。WHQL是一系列測試,跑過了就發認證。而測試沒覆蓋到的,出問題不管。而且,測試也不需要都跑,很多時候由於某個廠商的硬體驅動實在搞不定一個測試,就可以央求微軟硬體實驗室關掉那個測試。(猜猜哪個顯卡廠商央求的次數最多?)

第四,要說杜絕藍屏,理論上也是可以的。方法是通過Drawbridge - Microsoft Research,把整個kernel mode都提升到user mode執行。每個app看到的是自己在一個全新安裝的系統里執行,app之間完全隔離。比用虛擬機省內存的多。但兼容性有所下降,而且性能有略微影響。本該藍屏的行為,在Drawbridge裡面就是個訪問錯誤而已。


怎麼驗證才能保證代碼100%沒問題?題主你要有這種方法趕緊告訴大家,實際工程的代碼中想保證百分百正確基本是不可能的事情,幾乎不存在無bug的系統。

不說所有驅動,就單單針對某一類驅動,你要是有一套完整、可靠的驗證工具,就靠這個工具你就能掙不少錢

藍屏是因為驅動掛了,不是所有驅動都能跑在沙盒裡。

顯卡驅動你沙盒試試?別的進程還想不想顯示數據了?

文件系統你沙盒試試?離開文件系統還有幾個進程能工作的?

內存管理怎麼沙盒?設備管理怎麼沙盒?……


題主要求不要藍屏,那麼Windows不應該重寫,你應該讓所有硬體廠商徹底重寫他們的驅動程序,但是要保持兼容。

事實上,藍屏也不要害怕,那只是一種報告錯誤的機制而已,譬如說驅動里死鎖(驅動里你死鎖了,100%的情況下是你使用了user mode的經驗來寫)了,驅動里寫到一個被換到了硬碟上的內存映射頁面,驅動里AV,還有各種MSDN規定的行為,或者直接調用了藍屏函數(嗯,有一個函數專門用來藍屏的)。跟程序執行了一半彈出Access Violation其實沒有什麼太大的區別,就是要你按一下電源而已。


別的我不知道,政府部門,企事業單位,部隊,這些地方的信息化癱瘓個80%基本沒有問題。

都不用重寫,強制全部升級win7,估計癱瘓個兩成毫無壓力。


按照微軟的思路,其實是想連EXE都幹掉的,程序只保留UWP,只能從商店安裝。其實這是一個非常好的願景,只可惜這個系統已經死了。

這個系統叫WINDOWS RT


就算是WHQL驗證過的驅動也還是會有bug的。


這不就是走OSX的路線嗎,然而該死機的時候還是得死。。。

再嚴格點就是iOS的模式,但是手機是輕度使用的產品,為了安全或其他的可以犧牲一些自由。

PC不一樣,PC不是只能用來看電影聊QQ的,很多軟體必須要有高許可權。

然而就算是iOS,死機也是無可避免的。


Windows歷史上都重構好幾次了。

比較典型的有Win95,相對於Win3.x重構

然後Win me試圖重構一下9x內核,結果只做了一點就放棄了。

跟9x同時期就已經另起爐灶搞了NT內核提供給企業工作站使用。

Win2000的時候重構了NT內核,XP其實就是換皮加小改,內核還是繼承2000的。

然後Vista又是一次重構,7就是Vista改,Vista sp2跟7幾乎就是一模一樣的內核,就皮膚不同。

然後8又是一次重構,10和8改動不大。


等等,都重寫了還保持兼容?


全部重寫 也沒什麼不可能 只不過可能就不叫Windows了, 兼容性肯定會保持的。

實現方式的話 無非是把底層模擬一遍。類似沙盒或者 虛擬機 都可以。

與此同時 犧牲也是在所難免的,即使是虛擬機什麼的也不可能全部兼容老程序。


題主你這樣的想法比較接近微內核:OS只保留最基礎的功能,將所有能拆分的功能都放到用戶態來做,用IPC來互相調用,任何一部分功能模塊崩潰都隻影響它自己而OS不受影響。

然而這種思路只有理論上的優勢,實際做出來帶來的性能問題讓它只具有科學研究價值而無法實用。鮮活的例子:GNU/Hurd

另外,不藍屏,Kernel Panic,六國,白屏的OS,現在世界上大概還沒有。其實說起來倒不是沒有,像DOS,跑壞了也繼續跑,你就不知道接下來看到的是什麼畫面了對吧。貌似這樣也蠻有新鮮感的,就是不知道這年頭還有沒有人敢這麼做。


我們都有不順利的時候


不要藍屏?把顯示錯誤的背景換成綠的不就行了?


光是沒簽名沙盒運行就不太能兼容了吧,還是說相當於自帶sandboxie軟體?

至於驅動,現在基本上驅動都是通過了whql認證的啊,紅石好像還拒絕安裝未簽名的驅動了,然而該有的bug依舊存在嘛。

最後,不太可能重寫,為了保證兼容而重寫多蛋疼啊。只能是小升級修修改改,大升級換換核心,就像現在這樣。


Windows架構這麼完善,重寫幹嘛?

期望軟體商解決碎片化硬體商的問題,不太現實。Android同理。

反正我的TP不藍。


重寫,不如做一個全新的系統算了。

微軟這樣下去會為了兼容舊軟體犧牲掉好多東西,說不定之後真的會拋棄windows做個逆天的。

微軟聲稱win10是windows的最後一個版本了,或許是別的暗示。。。


題主不就是想沒有藍屏嘛。。藍屏主要是核心態的問題,跟應用軟體沒有關係。你說所有驅動程序都要微軟驗證簽名,現在已經是這樣了呀。


重寫還要保持兼容不是傻了嗎?


沒有存在BUG的程序 只有沒發現BUG的程序

微軟怎麼驗證?不同驅動之間的衝突怎麼辦?


估計會和當年vista一樣


沒寫完就倒閉了


vista之於xp,等於重寫了一遍。

7之於xp等於重寫了小一半。

10支持手機平板桌面一體,基本又是一半重來。

樓主,你這不是一個問題。


照我的想法

windows10全部重寫 去掉桌面應用

所有桌面應用和商店應用全部重寫 效果達到桌面應用的級別 採用商店應用的形式

加強管制 杜絕全家桶

我還是去買Macbook吧。。。。。。。。。。。。。


推薦閱讀:

為什麼分布在地球各地的古文明大多採用十進位的計數法?
電腦發展史上有哪些偉大的思想和技術?
一門編程語言是如何被創造出來的?
有什麼性能好的迷你主機?
虛擬機中運行虛擬機中運行虛擬機……如此循環能運行多少個?

TAG:微軟Microsoft | MicrosoftWindows | 操作系統 | 計算機 |