hard007 Цитата: привожу дословно
Не знаю, кто это писал, но звучит очень похоже на то, как если бы человек нахватался по верхам всякой информации, ни в чём не разобрался и скомпоновал то, что удалось запомнить, заодно многое переврав...
Во-первых, если говорить о процессорах, то 64-битностей, имеющих отношение к Windows, не четыре, а лишь две, а именно:
x86-64 и
ia64. (64-битные архитектуры ppc64, s390x и прочие оставляем за кадром, т.к. к ним винда, насколько я знаю, не выпускается). Эти две архитектуры друг с другом несовместимы, а
ia64 к тому же несовместима ещё и со стандартной
x86, использовавшейся с древнейших времён (за счёт чего и погорела).
x86-64 же была разработана именно как расширение
x86 фирмой AMD, в результате чего её ещё называют
AMD64. Позже Intel реализовала практически тот же набор команд (чуток отличающийся), назвав это расширение другим именем —
EM64T. Что касается упомянутого MT64, я лично о таком вообще никогда не слышал, но в интернете удалось найти крайне редкие упоминания оного в применении к разрядности PCI-шины. Разумеется, к разрядности архитектуры процессора это ни малейшего отношения не имеет.
В результате имеем архитектуры
x86-64 (а-ля
AMD64,
EM64T), под которую выпускается Windows семейства
x64 (Windows XP/2003/Vista x64 Edition), и IA64 (Intel Itanium), под которую тоже есть свой Windows (Windows XP/2003 64-bit Itanium Edition), несовместимый с
x64. Под каждую, разумеется, нужен свой драйвер. 32-битный драйвер в 64-битной винде установить не удастся при всём желании! Точно так же, не удастся установить в систему
x64 драйвер, рассчитанный на Итаниум, и наоборот, несмотря на то, что оба они 64-битные. Драйвера же под
EM64T и
AMD64 по отдельности не пишутся (по крайней мере, мне такие пока не попадались). Более того, сам по себе инструмент компиляции драйверов (WDK) попросту не содержит средств для такого раздельного создания драйверов под эти две модификации архитектуры
x86-64 — там просто-напросто три среды:
x86,
x64 и
ia64: в какой запустишь компиляцию, такой архитектуры драйвер и получишь. Разумеется, можно директивами условной компиляции создать отдельные драйвера, оптимизированные именно под
EM64T и
AMD64, как, скажем, оптимизируют программы отдельно под Intel и под AMD, но, во-первых, это даст совершенно ничтожную разницу в производительности, во-вторых, как я уже написал выше, мне такие драйвера ещё не встречались (хотя, конечно, это не означает, что так никто не делает).
Ну и, наконец, я не знаю, откуда автор процитированного сообщения нахватался бреда о пересборке ядра. Windows — это не Linux! В ней ядро не пересобирается из исходников, оно поставляется уже собранное, скомпилированное, ибо исходники закрыты и защищены всякими авторскими правами. (Более того, даже в большинстве Линуксов ядро поставляется уже в готовом виде!) Разве что под пересборкой автор подразумевает что-то совершенно другое, но даже в этом случае содержание остаётся непонятным, поскольку лично мне неизвестно, какие такие ужасные действия умудряется выполнять винда на этапе установки, что их результат нельзя заменить дальнейшей установкой драйверов в готовой системе. Ведь возможность подключения драйверов с дискетки на этапе инсталляции винды — это не какая-то мистическая интеграция их в ядро, а просто-напросто возможность для инсталлятора увидеть необходимые устройства. Ведь он же сильно урезан по сравнению с самой виндой, у него нет возможности загрузить все мыслимые и немыслимые драйвера, чтобы автоматом определить все устройства, вот мы на дискетке ему и предоставляем дополнительные драйвера. И никакого существенного отличия такого подсовывания драйверов от обычной установки драйверов в самой винде, насколько мне известно, нет.