IT之家 8 月 12 日消息,据外媒 neowin 今天(12 日)报道,微软在长期改进 Windows 的过程中,也为操作系统积累了不少鲜为人知的功能。微软资深工程师雷蒙德 · 陈近日介绍了其中一个大多数现代用户可能从未听说过的功能,就是批处理文件WINSTART.BAT。
雷蒙德 · 陈在微软 Old New Thing 博客的一篇新文章中介绍了WINSTART.BAT的用途、设计初衷,以及该文件在 Windows 启动流程中的具体位置。
据了解,用户把WINSTART.BAT放入 Windows 目录,Windows 95 启动时便会执行该文件。不过,WINSTART.BAT并不是随 Windows 95 才出现的功能。该文件比 Windows 95 早了数年,Windows 3.1 Resource Kit 中已经对其进行了详细说明。
批处理文件可以用于自动完成重复性的日常任务。此类文件本质上是包含一系列命令的简单文本文件,Windows Command Shell 会按照顺序逐条执行。
WINSTART.BAT的主要用途,是让用户加载终止并驻留程序(TSR),供 Windows 程序调用,同时避免把这些程序提供给独立的 MS-DOS 虚拟机。
IT之家获悉,TSR 是一类表面上已经退出、实际上仍驻留在内存里的 MS-DOS 程序,可以通过硬件或软件触发方式重新激活。此类程序过去常被用于通过快捷键调用的实用工具或设备驱动程序,以弥补 MS-DOS 一次只能运行一个程序的限制。
雷蒙德 · 陈以驱动程序为例称,用户可以加载 Windows 所需的网络驱动程序,同时阻止 MS-DOS 程序使用该驱动,从而避免额外占用内存。
雷蒙德 · 陈还通过AUTOEXEC.BAT进一步说明了WINSTART.BAT在启动流程中的位置。AUTOEXEC.BAT会在 MS-DOS 启动时执行,并可以加载 TSR。Windows 之后为 MS-DOS 应用创建虚拟机时,这些虚拟机也会继承已经加载的 TSR。
Windows 接管系统并初始化 VMM 后,会创建供 Windows 程序运行的 System VM。在 Windows 用户模式内核启动之前,只要WINSTART.BAT存在,VMM 就会执行该文件。
执行时机上的差异正是WINSTART.BAT的特定优势。Windows3.x和 Windows 95 会通过虚拟机运行 MS-DOS 环境,而利用AUTOEXEC.BAT加载的 TSR 会被这些 MS-DOS 环境继承。
WINSTART.BAT则不同。通过WINSTART.BAT加载的 TSR 可以供 System VM 中的 Windows 程序使用,却不会进入独立的 MS-DOS 虚拟机。
AUTOEXEC.BAT加载的 TSR 同时可供 Windows 及其 MS-DOS 环境使用,而WINSTART.BAT加载的 TSR 只供 Windows 本身使用。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。