Как известно, атавизЬм -- "возвращение в прародительским формам, проявляющееся в истории развития в виде возникновения некоторых провизорных органов, как, напр., эмбриональный хвост у человека, а у сформированных особей в виде аномальных уклонений, как, напр., трехпалость у лошадей, напоминающая трехпалость ископаемых предков лошади".
Многие знают, что ископаемым предком операционной системы Microsoft Windows XP была MS-DOS -- Microsoft Disk Operating System ("дисковая операционная система Microsoft").
Несколько меньшее количество людей знает о том, что ещё более ископаемым предком их обеих была QDOS -- Quick and Dirty Operating System ("быстрая и грязная операционная система"), разработанная в 1980-м году Тимом Патерсоном из Seattle Computer Products и продававшаяся под брендом 86-DOS (потому как для процессоров Intel x86).
Так вот, на этом месте мы и подходим вплотную к трёхпалому ископаемому предку Microsoft Windows XP -- чудесной операционной системе CP/M -- Control Programs for Microcomputers ("управляющие программы для микрокомпьютеров") -- написанной в 1976-м году в 1973 году программистом Гэри Килдаллом на языке программирования PL/M и продававшейся компанией (Intergalactic) Digital Research, принадлежавшей супругам Килдалл.
CP/M уже имела представление о том, что на свете существуют диски (пока ещё не очень жёсткие) -- они ешё не имели каталогов (все файлы лежали в корневом), но уже могли обозначаться шестнадцатью разными буквами -- от A до P. Кроме дисков, операционка знала о существовании устройств вывода, каковыми могли быть: терминал TTY (электрическая пишмашинка с выводом на бумагу), быстрый терминал CRT (консоль -- клавиатура и монитор), устройство чтения перфоленты RDR (paper tape ReaDeR device), записи на перфоленту PUN (paper tape PUNch device) и принтер LPT. Были и другие устройства, но они до нашего времени в массе своей не дожили; исключением стала логическая консоль CON, которая физически могла указывать и на TTY, и на CRT, и на пару RDR+PUN, и даже на специальное пользовательское устройство UC1.
К чему я всё это рассказываю? А вот к чему: компания Microsoft, феноменально умеющая выстраивать эволюционные цепочки из несовместимых друг с другом операционных систем (пробовали играть под Windows в DOS-овские компьютерные игры?), с трогательной сентиментальностью тащила за собой названия устройств из CP/M. Исчезали одни, на их место приходили другие... В наше время полный список устройств выглядит так: PRN, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, AUX, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, CON и NUL.
На эти устройства (например, на принтер LPT1) можно посылать данные. С них (например. с консоли CON) можно даныне получать. И так далее (например, с их помощью можно испортить жизнь читателям твоего поста в ЖЖ, если есть такое странное желание). Полный аналог Unix-овых устройств /dev/* за одним ма-а-а-аленьким исключением -- Microsoft Windows XP позволяет "разместить" устройство в любом подкаталоге. Соответственно, если вы пытаетесь создать в каталоге подкаталог с названием, допустим, aux, то у вас ничего не получится -- оно там уже есть, и при этом никак не каталог.
Как я с этим столкнулся? Очень просто: мой коллега, работающий под Unix, создал новый каталог в проекте, и назвал его, естественно, aux. После чего наши проекты перестали синхронизироваться. Весело было.
Остаётся отметить, что человечество нашло таки шаманский способ, позволяющий создать каталог с зарезервированным именем устройства под Microsoft Windows XP. Зачем -- мне решительно непонятно, ведь дальше его можно только удалить (причём тоже по-шамански)... Зггогология на марше.