Достаточно открыть папку System32 в Windows 11, чтобы обнаружить любопытную деталь. Рядом с современными компонентами системы находятся файлы kernel32.dll, user32.dll и ntoskrnl.exe. Их названия выглядят привычно, хотя составлены по правилам, существовавшим задолго до появления Windows.
Речь о формате 8.3, который использовался в MS-DOS. До точки разрешалось не более восьми символов, после нее оставалось три символа для расширения. Например, kernel32.dll полностью соответствует этому ограничению.
Сама MS-DOS унаследовала такой способ именования от CP/M, операционной системы для ранних персональных компьютеров. Инженер Microsoft Рэймонд Чен еще в 2009 году объяснял, что точная причина выбора восьми символов для имени и трех для расширения неизвестна. По его предположению, разработчики CP/M могли просто посчитать такую длину удобной.
Современная Windows в подобных ограничениях давно не нуждается. Файловая система NTFS поддерживает гораздо более длинные названия, а в самой Windows 11 встречаются системные компоненты вроде SecurityHealthService.exe.
Почему тогда Microsoft не переименует старые библиотеки?
