11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

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

  • 2020-06-02
  • 本文字数:2061 字

    阅读完需:约 7 分钟

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

导读: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


2020-06-02 17:001819

评论

发布
暂无评论
发现更多内容

五年开发经验杭州竟找不到工作:Android开发真等于废人?

android 程序员 移动开发

从根上理解RXJava,深入RxJava 的适用场景和使用方式(Retrofit

android 程序员 移动开发

从零开始仿写一个抖音App——日志和埋点以及后端初步架构

android 程序员 移动开发

从零开始学数据结构和算法-(五)-分治法-(二分查找、快速排序、归并排序)

android 程序员 移动开发

任性!我开发了一款自己用的天气预报app,android双击事件响应

android 程序员 移动开发

人手必备的Jetpack操作手册来了!针对性解决Jetpack组件问题

android 程序员 移动开发

今日头条 Android '秒' 级编译速度优化,我的腾讯安卓面试经历分享

android 程序员 移动开发

从 0 到 15k+ star ,GSYVideoPlayer 的发展历程|项目复盘

android 程序员 移动开发

今日头条APK瘦身之路(1),android设计模式

android 程序员 移动开发

从三线城市到一线城市,我找Android工作的点点滴滴,图形化app开发工具

android 程序员 移动开发

【设计模式】第八篇 - 原型模式 - DOTA-幻影长矛手

Brave

设计模式 原型设计 11月日更

人都傻了!看完这份字节跳动师兄给我的程序员面试笔记,只能说一句牛啊

android 程序员 移动开发

从观察者模式出发,聊聊RxJava,flutter开发实战详解pdf

android 程序员 移动开发

互联网如今趋势,30岁的程序员如何应对?,PDF超过6000页,

android 程序员 移动开发

五年Android 开发大厂面经总结,详解系列文章

android 程序员 移动开发

Vue进阶(幺陆贰):vue render函数介绍

No Silver Bullet

Vue 11月日更

什么?这个天天使用的API竟然被废弃了?,android组件化和模块化区别

android 程序员 移动开发

从零开始分析InstantRun源码,kotlin实现接口

android 程序员 移动开发

互联网寒冬下,原生Android开发的路该怎么走?,flutter代码扫描

android 程序员 移动开发

五分钟搞定正则表达式,如果没搞定,再加两分钟,flutter小程序实现

android 程序员 移动开发

人手必备的Jetpack操作手册来了!针对性解决Jetpack组件问题(1)

android 程序员 移动开发

仿微信视频通话大小视图切换(SurfaceView实现),面试官6个灵魂拷问

android 程序员 移动开发

从月薪2000的打字员到年薪21w的程序员,1年里我经历了什么!

android 程序员 移动开发

五分钟搞定正则表达式,如果没搞定,再加两分钟(1),2021Android面试笔试总结

android 程序员 移动开发

京东技术中台的Flutter实践之路,android界面开发经典书籍

android 程序员 移动开发

从0开始写一个基于Flutter的开源中国客户端(5),带你全面理解View的绘制流程

android 程序员 移动开发

从零开始学数据结构和算法 (五) 分治法 (二分查找、快速排序、归并排序)

android 程序员 移动开发

从面试无人问津到手拿百度offer,还原一段野生程序员的成长经历

android 程序员 移动开发

今日头条APK瘦身之路,kotlin教程pdf下载

android 程序员 移动开发

从BAT这种公司平薪跳槽头条,是否值得?,android开发实例大全

android 程序员 移动开发

从零开始分析InstantRun源码(1),最新精心整理Android面试题

android 程序员 移动开发

微软前员工透露细节:我写了任务管理器_语言 & 开发_Tim Anderson_InfoQ精选文章