微軟前員工透露細節:我寫了任務管理器

導讀:5 月 26 日,有一位微軟前員工突然在 Reddit 發帖,聲稱他“要在忘記之前把這一切都寫下來。”他曾編寫過 Windows 任務管理器(Task Manager)以及其他使用程序和遊戲。Windows 任務管理器提供了有關計算機性能的信息,並顯示了計算機上所運行的程序和進程的詳細信息;在不能使用鼠標的情況下,可以在選中具體的應用,按下 delete 按鈕,即可強制關閉指定應用。總之,這個工具是 Windows 非常有用也非常強大的工具。它最初出現在 1996 年發佈的 Windows NT 4.0,至今 24 年過去了,在最新版的 Windows 10 中仍然有它的身影。

Reddit 論壇上有一篇帖子《我寫了任務管理器,然後就想起了……》(I wrote Task Manager and I just remembered something…),詳細介紹了每個 Windows 專家都很熟悉的工具,如果幸運的話,你可以用它來終止出錯的應用程序或進程,並提供一些關於你電腦運行情況的簡便統計信息。

Dave Plummer 告訴里賈納大學(University of Regina):“我在 1993 年從 MS-DOS 開始,在微軟工作了十幾年,在 Windows Server 2003 之後離開微軟的。”在談及“爲十億臺機器編程”的挑戰,他稱:“這感覺就像你在建造一頭牛,然後把它放到無數的瓷器店裏。”

Plummer 曾開發過 DoubleSpace(譯註:後更名爲 DriveSpace,是從 MS-DOS 6.0 開始提供的磁盤壓縮實用工具),這款工具可以增加 MS-DOS 的可用磁盤空間。在業餘時間還開發了一款名爲 VisualZIP 的工具,它可以讓你像查看文件夾一樣來查看壓縮的 ZIP 文件。VisualZIP 曾作爲共享軟件出售,之後被微軟收購併整合到 Windows 中。

這聽起來像是一種輕鬆的安排,而 Windows 任務管理器也有類似的起源故事。

Plummer 說:“Windows 任務管理器這款應用程序是我在書房裏編寫的共享軟件,我本打算將其出售作爲兼職收入,但當 Dave Cutler(時任 Windows NT 架構師)看到這款軟件時,他同意讓我把它整合到產品中去,所以我就把這款軟件捐給微軟了。”

這款實用工具首次出現在 1996 年發佈的 Windows NT 4.0 中。

Plummer 回憶道:“任務管理器是我最引以爲豪的應用程序之一,因爲它可能是第一個,或至少在視覺上最複雜的應用,在所有方向上都可以完全調整大小而不會出現任何閃爍……它的可執行文件大小還不到 100K,而且從來沒有出現過閃退或崩潰的現象,這可是我開發的哦!有懂 GDI32 和 User32 的人肯定有幫助。”

他還提供了一些小竅門。“如果任務管理器已經掛起或崩潰,你可以同時按下 Ctrl+Shift+Esc 來啓動另一個任務管理器,”他稱,“這就要求從現有實例中請求一個‘祕密代碼’,如果沒有收到的話,就啓動另一個實例;即使 Shell/Explorer 已經死掉,也可以這樣啓動任務管理器。”

根據 Plummer 的說法,許多用戶並不是很欣賞他這個實用程序的全部功能,該實用程序可以在不使用 Shell(在某些情況下是“救命稻草”)。從文件(File)→ 運行(Run)來運行新任務就是其中的一個選項。另一個鮮爲人知的特性是顯示附加列的能力,讓你能夠深入研究不同類型的工作集來了解內存使用情況,並查看 I/O 讀寫等詳細信息。

Plummer 說,“任務管理器應該沒有什麼進程不能殺死的;它甚至還會升級權限,並且(如果你有權限的話)啓用調試權限,以便在需要時以這種方式附加並殺死應用程序。如果任務管理器不能殺死它,那你這個 Windows 的內核應該有問題了。”不過這一說法很快就遭到了 Reddit 用戶的質疑。

在 2003 年 Windows Vista 發佈之前,Plummer 就離開了微軟,雖然任務管理在 Windows 10 中依然存在,但它已經發生了巨大的變化,也得到了極大的擴展。他說:“我記得記者們爲了炮製新聞,比如說,用任務管理器殺死 root winlogon 會畫進程,故意讓機器出現藍屏錯誤。”他們可能開始通過不允許殺死 win32k.sys 和其他必要組件,以保護 Windows 系統不受到破壞。

現在的任務管理器是以近乎無用的極簡模式打開的,但這並不是 Plummer 的錯,直到你點擊左下角的“詳細信息”(More details)就會明白我所言非虛。

Windows 10 中的任務管理器看起來有些許不同,但具有許多相同的核心功能。

Plummer 還編寫了其他重要的實用程序,包括 Windows XP 的一項功能:Space Cadet Pinball(《三維彈球:太空軍校生》),不過他說:“Maxis 做的是非常原始的東西(M.Ridgeway),而我只不過是用了他們的技術在 32 位可移植的 C 語言重寫了版本。這樣,它就可以在 PowerPC、Alpha 和 MIPS 上運行了。”

一位懷舊的評論者寫道:“直到現在,每當我重新安裝 Windows 10 時,我仍然會把 Space Cadet Pinball 安裝到我的系統上。”

Windows XP中的三維彈球

今天,雖然 Windows 任務管理器有所閹割,但它仍然很有用。它甚至可以運行在幾乎沒有圖形用戶界面的 Windows 版本上,比如 Server Core,儘管它可能與更強大的命令行工具的趨勢格格不入。Tasklist 和 Taskkill 也很好用,當然,前提是你可以進入命令(或終端)提示符。

作者介紹:

Tim Anderson,現居英國,負責 The Register 網站的軟件開發、開源軟件、雲平臺等領域。

原文鏈接:

https://www.theregister.co.uk/2020/05/26/task_manager_confession

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章