Софт
Рэймонд Чен объяснил, почему в Windows 11 сохранились имена файлов в стиле MS-DOS
Ветеран Microsoft Рэймонд Чен объяснил, что формат имён «8.3» в Windows 11, например kernel32.dll и ntoskrnl.exe, сохраняется ради обратной совместимости.
Правило 8.3 пришло из MS-DOS: до восьми символов в имени и до трёх в расширении. Его унаследовали от CP/M, как писал Чен ещё в 2009 году в блоге «The Old New Thing». Он добавляет, что и сам не знает, почему в CP/M выбрали именно такие числа, и предполагает, что восьмёрка была просто удобным выбором.
Насколько можно судить по объяснению Чена (в 2007 году он оговаривал, что это не официальная позиция Microsoft), главная причина в том, что имя DLL нельзя менять, пока к нему привязаны другие программы. Переименование user32.dll сломало бы множество приложений. NTFS при этом давно поддерживает длинные имена, а Windows работает с ними с середины 90-х.
У коротких псевдонимов есть издержки: например, загрузчик может воспринять короткое и длинное имена одной DLL как два разных модуля и загрузить две копии в память. Некоторые программы жёстко прописывают такие псевдонимы, например C:\PROGRA~1. Но, по словам Чена, проблемы 8.3 хорошо изучены и находятся под контролем, а переход только на длинные имена создал бы новые сложности, не сделав систему быстрее или безопаснее.
- 8.3: до 8 символов имени и до 3 в расширении
- Формат унаследован от CP/M через MS-DOS
Источники
- Хабр Новости: В Microsoft объяснили использование имён файлов в стиле MS‑DOS в Windows 11 · 20 октября 2026, 09:08
Текст подготовлен автоматически по материалам источников и может содержать неточности.