尽管Windows 11在外观设计上进行了现代化的升级,拥有更加流畅的界面和新功能,但其核心部分依然保留了许多源自数十年前的旧设计。其中,Windows系统的文件名仍遵循MS-DOS时代的命名规范,即短文件名格式。比如,在Windows 11的System32目录内,仍能找到许多像kernel32.dll、user32.dll和ntoskrnl.exe这样的老旧文件名。这些命名并非随意,而是与早期个人计算机操作系统的历史息息相关。微软的工程师雷蒙德·陈曾多次解释,保留这些设计的主要原因是为了兼容性。
8.3文件名格式规定,文件名(不含扩展名)最多可包含8个字符,扩展名最多3个字符,中间由句点分隔。因此,像kernel32.dll和ntoskrnl.exe这样的文件名都符合这一规范。而在Windows 11中,一些新组件的命名不再受此限制,例如SecurityHealthService.exe,其名字就超过了8个字符。这表明微软并没有强制要求所有的新组件继续使用旧的命名规则,只有一些历史存续的核心文件保持了原名称。
在MS-DOS时期,8.3格式是受限于当时计算机硬件和文件系统设计的决定。文件名不得包含空格和多个句点,且必须使用特定字符。这个限制与更早的CP/M操作系统紧密相关,微软在开发MS-DOS时继承了CP/M的命名方式,强调与当时已有的软件和使用习惯保持兼容。陈在其博客中指出,8.3命名方式实际上是CP/M时代的遗留设计,但他也无法确认CP/M为何选择如此命名规范。 d88尊龙
导致这一命名规范持续使用的原因在于操作系统的兼容性需求。许多应用程序都依赖特定名称的动态链接库(DLL)。若微软更改了某个核心DLL的名称,可能会导致依赖该文件的软件无法正常运行,出现兼容性问题。例如,user32.dll是Windows图形用户界面中的重要组件,若改名为更现代的名字,许多现存软件可能就会受到影响。
Windows软件生态极其广泛,历史上积累了大量软件,因此微软不易把所有软件更新到新的命名方式。即便某个文件名在现代看起来不够美观,若仍有软件依赖于此,贸然修改可能造成严重后果。因此,Windows的命名规则不仅是表面问题,更是涉及技术接口和长期兼容性的复杂问题。
微软面临的挑战是,尽管保留旧名称让系统看上去不够新潮,但却避免了破坏许多现有软件;而改变名称则可能带来更大的兼容性风险。在支持历经数十年的软件生态的操作系统中,选择保留旧名称往往是更安全的选择。 d88尊龙
这一历史延续的现象不仅限于8.3文件名,Windows中还有许多源自早期DOS时代的特殊设备名称,如CON、NUL、PRN和COM1、LPT1等。这些名称在现代Windows中依然具备特殊含义,例如NUL用于丢弃程序输出,CON与控制台设备有关。这些名称并非普通文件名,而是路由到特定处理方式。陈也曾解释,这些特殊名称的保留是因为早期DOS没有如今这样的多级目录结构,但相关名称已在软件和批处理脚本中广泛使用,多个系统功能的引入并未让微软去掉这些旧有名称。