Categories
程式開發

微软前员工透露细节:我写了任务管理器


导读: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)就会明白我所言非虚。

微软前员工透露细节:我写了任务管理器 1

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

Plummer 还编写了其他重要的实用程序,包括 Windows XP 的一项功能:Space Cadet Pinball(《三维弹球:太空军校生》),不过他说:“Maxis 做的是非常原始的东西(M.Ridgeway),而我只不过是用了他们的技术在 32 位可移植的 C 语言重写了版本。这样,它就可以在 PowerPC、Alpha 和 MIPS 上运行了。”

一位怀旧的评论者写道:“直到现在,每当我重新安装 Windows 10 时,我仍然会把 Space Cadet Pinball 安装到我的系统上。”

微软前员工透露细节:我写了任务管理器 2

Windows XP中的三维弹球

今天,虽然 Windows 任务管理器有所阉割,但它仍然很有用。它甚至可以运行在几乎没有图形用户界面的 Windows 版本上,比如 Server Core,尽管它可能与更强大的命令行工具的趋势格格不入。Tasklist 和 Taskkill 也很好用,当然,前提是你可以进入命令(或终端)提示符。

作者介绍:

Tim Anderson,现居英国,负责 The Register 网站的软件开发、开源软件、云平台等领域。

原文链接:

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