Представьте середину 90-х: интернет только пробивает себе дорогу в повседневную жизнь, компьютеры в офисах есть далеко не везде, а Microsoft, уверенно удерживающая лидерство на рынке домашних ПК с Windows 3.1, решает выйти за пределы привычного и потягаться с сильнейшими игроками в серверном мире. 21 сентября 1994 года выходит Windows NT 3.5, известная под кодовым названием Daytona. Это был вроде как скромный апдейт, но именно он показал, что у Microsoft есть все шансы закрепиться в более серьезном сегменте.

Если NT 3.1, появившаяся годом раньше, выглядела скорее как проба пера и демонстрация возможностей, то Daytona превратила эксперимент в рабочий инструмент, который можно было ставить рядом с Novell NetWare и UNIX. В первую очередь благодаря доработке производительности, сетевых функций и переносимости кода — основ, на которых позже выросли все поколения Windows. Команда Дейва Катлера довела систему до зрелости, именно в NT 3.5 оформились черты архитектуры, которые в том или ином виде живут в Windows до сих пор, вплоть до одиннадцатой версии. Давайте разберемся, как этот релиз стал поворотной точкой, опираясь на технические достижения и рыночный контекст, которые сделали NT конкурентоспособной.

От прототипа к полноценной системе: ключевые технические улучшения

Сначала вспомним предшественницу — Windows NT 3.1. Эта полностью 32-битная ОС с гибридным ядром, поддержкой превентивной многозадачности и изоляцией памяти резко контрастировала с 16-битными системами на базе DOS. К сожалению, у нее были недостатки. Это медленная работа, высокие требования к оборудованию (12 Мб RAM в эпоху, когда 4 Мб стали нормой, а 8 — роскошью) и слабая интеграция сетевых функций, которые делали ее скорее экспериментом, чем решением для реальных задач.

Команда разработчиков сосредоточилась на оптимизации, и кодовое имя Daytona, отсылающее к знаменитой гоночной трассе, подчеркивало главную цель — скорость и эффективность. NT 3.5 не просто устранила недостатки, но и перестроила ключевые компоненты, сделав систему компактной, отзывчивой и пригодной для широкого круга сценариев.

Источник

Главное достижение — переработка сетевого стека, она вывела NT на новый уровень в корпоративной среде. В NT 3.1 поддержка TCP/IP была ограниченной, опиралась на устаревший API из UNIX System V, что уступало возможностям протоколов вроде IPX/SPX от Novell. В Daytona Microsoft полностью переосмыслила сетевые протоколы, внедрив полноценные стеки TCP/IP и IPX/SPX, а также поддержку Winsock — интерфейса, ставшего стандартом для сетевых приложений в Windows.

Например, клиенты и серверы для DHCP и WINS, а также инструменты вроде Telnet и FTP-сервера. Он позволял обмениваться файлами, хотя и не заменял SMB для сетевого шаринга в стиле NetWare. Добавились серверы для протоколов Gopher, HTTP и WAIS, актуальных в эпоху раннего интернета, а также поддержка печати через LPD. Эти улучшения ускорили обмен данными и позволили NT интегрироваться в сети, где интернет-протоколы начинали играть ключевую роль. Переход к NetBIOS over TCP/IP (NetBT) обеспечил совместимость с существующими инфраструктурами, а Remote Access Service (RAS) для модемного доступа через SLIP или PPP сделал возможной удаленную работу — важное новшество для времени, когда корпоративный интернет только зарождался.

Оптимизация производительности и памяти также сыграла решающую роль в повышении удобства использования. Разработчики сократили объем кода, усовершенствовали кэширование и механизмы ввода-вывода, что позволило снизить требования к оперативной памяти и ускорить работу на существующем оборудовании. Использование компиляторов Visual C++ 1.x и 2.x обеспечило прирост скорости по сравнению с NT 3.1. Введена поддержка длинных имен файлов через NTFS на уровне ядра, что улучшило совместимость с DOS-приложениями.

Появилась полноценная IDE ATAPI для CD-ROM, расширяющая возможности работы с новыми носителями. Улучшения в портах завершения I/O усилили многопользовательские сценарии, делая NT 3.5 подходящей как для рабочих станций, так и для серверов — релиз вышел в двух редакциях, Workstation и Server, подчеркивая универсальность. Портируемость ядра благодаря Hardware Abstraction Layer (HAL) позволяла запускать систему на архитектурах IA-32 (x86), DEC Alpha и MIPS, закладывая основу для дальнейшего расширения поддержки в будущих версиях. Все эти изменения позволили NT адаптироваться к разному оборудованию, но при доминировании x86 именно они сделали систему практичной для реального использования, снижая затраты на обучение и интеграцию.

Windows NT Server. Источник
Windows NT Server. Источник

Интерфейс остался знакомым — Program Manager и File Manager, унаследованные от Windows 3.x, — чтобы не отпугнуть пользователей, привыкших к предыдущим версиям. Однако это не помешало внедрить новые функции, такие как поддержка OLE 2.0 для разработчиков и улучшенная совместимость с 16-битными приложениями. Эти оптимизации сделали NT 3.5 инструментом, который IT-администраторы могли рассматривать для серьезных задач, обеспечивая стабильность и интеграцию в смешанные сетевые среды.

Поворотный момент: от нишевого проекта к фундаменту империи Microsoft

Значение NT 3.5 невозможно понять без контекста 1994 года. Тогда Novell NetWare господствовала в сетевых сервисах, а UNIX-системы доминировали в высокопроизводительных вычислениях, оставляя Microsoft в роли поставщика десктопного ПО. Daytona изменила расклад, предложив комплексное решение: стабильную ОС со встроенными инструментами для работы в сети, способную функционировать как на клиентских машинах, так и на серверах, без необходимости дополнительных продуктов от других вендоров.

Оптимизированная производительность и сниженные требования к ресурсам сделали ее доступной для компаний среднего масштаба. Улучшенная совместимость с Windows-приложениями также сыграла свою роль, особенно в смешанных средах, где NetWare ранее не имела равных. Возможность разворачивать простые веб-сервисы или интегрироваться с зарождающимся интернетом через встроенные протоколы дала NT 3.5 преимущество, которое конкуренты осознали не сразу.

Этот релиз обозначил стратегический поворот для Microsoft: движение от раздробленных линеек (DOS-based для потребителей и NT для корпоративного сегмента) к единой платформе. Хотя графический интерфейс остался прежним — настоящий прорыв в UI случился с NT 4.0, заимствовавшей shell от Windows 95, — Daytona создала техническую основу для будущей унификации.

Без нее Windows 2000, объединившая потребительские и корпоративные ветки, могла бы задержаться или не состояться вовсе. NT 3.5 начала вытеснять NetWare, особенно в средах, где важна была совместимость с Windows-экосистемой, а предприятия, ранее скептически настроенные к серверным решениям Microsoft, увидели в ней реальную альтернативу. Этот шаг уберег компанию от стагнации на устаревающей DOS-основе, предотвратив потенциальную потерю позиций в пользу Apple или зарождающегося Linux.

В целом, NT 3.5 стала основой всей современной Windows. Архитектура с разделением пользовательского и системного режимов и слой HAL для работы с разным «железом» дошли до Windows XP, 7, 10 и 11. Сетевые решения, появившиеся в Daytona, развились в такие привычные вещи, как встроенный брандмауэр и поддержка IPv6, а идея портируемости упростила переход к ARM-версии Windows. Windows 2000 взяла стабильность NT 3.5 и добавила Active Directory и усиленную безопасность, став стандартом для бизнеса. А Windows XP окончательно перенесла эту платформу и в домашний сегмент, вытеснив старую линейку 9x.

Даже в Windows 11 мы по-прежнему видим наследие NT: изоляция процессов защищает систему от сбоев, многозадачность делает работу плавной, а сетевые функции позволяют без проблем подключаться к облакам. Без NT 3.5 Microsoft вряд ли заняла бы такие сильные позиции и в серверном сегменте, и на домашних ПК.

Комментарии (1)


  1. Nikeware
    29.09.2025 08:21

    превентивной многозадачности

    Наверное в оригинале было preemptive? В те годы это переводилось как вытесняющая многозадачность. А в Window 95 была так называемая cooperative multitasking (кооперативная). Кто знаком с программированием под Win 95, тому хорошо знакома такая функция из Win API как Yield().

    Проще говоря такой код как while (true) {} под Win NT уже не блокировал всю систему, в то время как на Win95 нужно было написать так: while (true) { Yield(); }. Иначе всё просто висло :-)