
Привет, Хабр! Меня зовут Виктор Сергеев. Я редактор МТС Диджитал и люблю рассказывать о технологиях. Сегодня поговорим об ОС, чьи времена уже прошли, но с которой знакомы многие из нас.
Windows NT 4.0 вышла 29 июля 1996 года. Она нативно работала сразу на четырех архитектурах — x86, Alpha, MIPS и PowerPC. В следующих Windows оставили только x86. В 4.0 появилось много новых важных функций, но и проблемы тоже были. Подробно об этом — под катом.
Что нового в Windows NT 4.0?

Какие сервисы и функции появились в Windows NT 4.0:
Crypto API — интерфейс программирования приложений. Обеспечивает разработчиков Windows-приложений стандартным набором функций для работы с криптопровайдером.
Telephony API 2.0 — позволяет подключать ПК, работающие под управлением Windows, к системам передачи голосовой информации — офисным телефонным станциям, аналоговым телефонным каналам. Так пользователи могут сочетать речевые переговоры с обменом компьютерными данными.
DCOM и новые функции OLE.
Microsoft Transaction Server — входит в состав серверных операционных систем Microsoft и предназначена для поддержки систем обработки транзакций.
MSMQ (Microsoft Message Queuing) — улучшенная обработка очередей сообщений.
Winsock 2 — API, который позволяет создавать и использовать сокеты (sockets).
Улучшения TCP/IP.
Поддержка API-дефрагментации (программы дефрагментации нет).
Инструмент развертывания Sysprep.
Эмуляция NTVDM — в версии RISC была обновлена с 286 до 486.
Интерфейс был почти такой же, как у Windows 95 — появились все ключевые элементы, которые актуальны для Windows и сейчас. Это рабочий стол, корзина, панель инструментов, меню «Пуск», «Мой компьютер». Впервые разработчики добавили сглаживание шрифтов, отображение содержимого окна при перетаскивании, функцию «Портфель» для синхронизации файлов.

Windows NT 4.0 поставлялась в двух вариантах: операционная система для рабочей станции (Windows NT Workstation) и серверные версии (Windows NT Server). Ниже — список системных требований обеих версий:

Серверных версий было три:
Windows NT 4.0 Server вышла в 1996 году, разработана для платформ малого бизнеса.
Windows NT 4.0 Server, Enterprise Edition вышла в 1997 году. Первая система в линейке серверных продуктов семейства Enterprise. Разработана для серверных платформ крупных предприятий и сетей с высоким трафиком.
Windows NT 4.0 Terminal Server вышла в 1998 году. Позволяла удаленно подключаться к компьютеру и работать на нем, не находясь рядом с машиной. Та же самая функция была названа Terminal Services в Windows 2000 и в следующих серверных релизах. В ней появилась функция Remote Desktop, которую затем добавили и в Windows XP.
А еще именно в этой ОС впервые появился диспетчер задач. В одном приложении объединили несколько инструментов и его архитектура до сих пор почти не изменилась:
управление открытыми приложениями;
управление процессами;
анализ системных ресурсов.

Важное нововведение ОС — концепция системных политик и редактор системных политик.

В NT появился софт для поддержки работы в Internet и во внутрикорпоративных сетях. Например, браузер Всемирной паутины IE (Internet Explorer) 2.0, Web-сервер PWS (Peer Web Services) и протокол PPTP (Point-to-Point Tunneling Protocol).

В качестве основной файловой системы в новой ОС использовалась NT File System (NTFS). Она разрабатывалась, чтобы быстро работать с информацией на носителях большой емкости. ФС получилась настолько удачной, что применяется до сих пор.
После выхода у NT 4.0 было не очень много документации. Сисадмины, конечно, справлялись, с настройкой, но отмечали, что разработчики могли бы дать больше технической информации.
Пакеты обновлений выходили вплоть до 2001 года:
Release To Manufacture (RTM) — 29 июля 1996;
Service Pack 1 — 16 октября 1996;
Service Pack 2 — 14 декабря 1996;
Service Pack 3 — 15 мая 1997;
Service Pack 4 — 25 октября 1998;
Service Pack 5 — 4 мая 1999;
Service Pack 6 — 22 ноября 1999;
Service Pack 6a — 30 ноября 1999;
Post Service Pack 6a Security Rollup — 26 июля 2001.
Windows NT 4.0 и Windows 95
Windows NT 4.0 была похожа на Windows 95. Первая была стабильнее за счет использования защищенной памяти и слоя аппаратных абстракций. В среде ОС запрещен прямой доступ к «железу», а приложения, которые работали неправильно, останавливались без ребута операционной системы.

Теперь про недостатки. Например, у NT 4.0 не было Plug and Play и диспетчера устройств. А вот у Windows 95 все это в наличии — несмотря на то, что NT 4.0 новее. Но это еще ладно, гораздо более серьезный недостаток — отсутствие поддержки USB и возможности работы с FAT32.
Большая часть приложений, созданных для Windows 95, работает и в Windows NT 4.0. Не запускаются только некоторые 3D-игры, поскольку в NT ограниченная поддержка DirectX.
Про Windows NT 4.0 не забывают
Энтузиасты работают с этой операционной системой до сих пор. В середине июля 2024 года один из умельцев смог запустить Windows NT 4 на старых компьютерах Apple Macintosh с процессорами PowerPC. Получается, он решил проблему совместимости, которая существовала около 30 лет.
NT требовался один конкретный тип прошивки для работы на RISC-компьютерах, совместимый со спецификацией ARC консорциума ACE. Для машин PowerPC существовал другой стандарт прошивки: открытая и ратифицированная IEEE. В результате Windows NT для PowerPC не могла работать на компьютерах Apple.
Энтузиасту с ником Wack0 на GitHub удалось портировать как прошивки PowerPC ARC, так и загрузчик в оперативную память. Во время работы он использовал код других проектов, включая OpenBIOS и Coreboot. Цели удалось добиться — теперь Windows NT 4 запускается на iMac G3, PowerMac G3 «Blue and White», PowerBook G3 «Lombard» и PowerMac G4 «Yikes».
Но все это уже игрушки — времена ОС прошли. Правда, в некоторых организациях ее до сих пор используют, но это исключение из правил. Еще есть старые рабочие станции и серверы с Windows NT 4.0 — их просто не трогают, раз все работает.
Комментарии (25)
CitizenOfDreams
26.07.2024 10:03Впервые разработчики добавили сглаживание шрифтов, отображение содержимого окна при перетаскивании, функцию «Портфель» для синхронизации файлов.
Если быть точным, впервые эти функции добавили в Microsoft Plus! для Windows 95, за год до выхода NT 4.0.
unreal_undead2
26.07.2024 10:03Возможно, имеется в виду "впервые в линейке NT".
Mingun
26.07.2024 10:03А разве линейка NT не с нее началась?
unreal_undead2
26.07.2024 10:03+6До этого были 3.1, 3.5 и 3.51 (с интерфейсом в стиле "обычной" Windows 3.x).
0xC0CAC01A
26.07.2024 10:03+9А вот кто бы мне объяснил, почему то, что шустро работало 28 лет назад на 16 мегабайтах сегодня требует на два-три порядка больше памяти?
saege5b
26.07.2024 10:03+1Да не сказал бы, что оно на 16 метрах шустро шевелилось, тем более на 486.
Там для этого и палитра в 256 цветов была, а разрешение 1024 на 768 было прям избыточным :)
Просто если 9х могли в процессе и помереть, то НТ мал по малу тянула, пусть там и система реагировала спустя минуту. В этом НТ на пингвина была похожа, за что её и любили.
Так то да, абстрактная абстракция на абстракции, взгромождённые на фреймворки и жы́рно обмазанные безопасностью мало кушать не могут, но при нужде, вполне и сейчас всё пишется в минимальные ресурсы.
По-моему и сейчас, если в кедах включить все красивости, с ними едва справятся какой-нибудь 32 ядерный проц с турбовидеокартой.
unreal_undead2
26.07.2024 10:03а разрешение 1024 на 768 было прям избыточным
На домашнем компе у меня в те годы 1024x768 было максимумом для видеокарты и монитора ( который умел его только в чресстрочном режиме, так что в основном использовал 800x600); NT4 из интереса ставил, на 8Mb оно даже загружалось - но и только. На работе было 128, вот этого вполне хватало на VS 97 и всяческие Word/Excel/Powerpoint.
axe_chita
26.07.2024 10:03+3Да не сказал бы, что оно на 16 метрах шустро шевелилось, тем более на 486.
Именно 486, в реинкарнации от AMD 5x86-133, и 16мб EDO RAM (в в последствии доведенные до 32мб) порождали стабильную и предсказуемую среду окружения. В отличии от того же 95-го который "шевелился" быстрее, но мог вылетать абсолютно случайным образом, в зависимости от фаз Луны, котировок акций на Нью-Йоркской фондовой биржи, и степени
запоя"работы с документами" Бориса Николаевича.Особенно ценилась стабильность работы NT4 у пользователей 3DMax, для которых аптайм системы в несколько суток был критически важен.
SIISII
26.07.2024 10:03+1Дык не было всяких мало кому нужных служб и т.п., запускаемых в обязательном порядке; про шпионские модули я уж молчу.
bogolt
26.07.2024 10:03А что именно шустро работало? Система загружается, идем ставить чайник. Запуск любой программы - тоже долго ждать. Установить диал-ап соеденение? открыть какую-то страницу в вебе - все долго. Помните как страницы грузились, вот появилась разметка, начал грузится текст.. потом картинки. Да я помню как книги на либ-ру где тупо текст только грузились по минуте.
Так что именно было быстро, что сегодня стало долго ?
SIISII
26.07.2024 10:03+1Работа в браузере -- не показатель, ибо очень сильно зависит от скорости передачи данных, т.е. от внешних факторов.
Сама по себе система работала, с точки зрения пользователя, примерно с такой же скоростью, что и современные версии, однако железо-то было во много-много-много раз слабее.
bogolt
26.07.2024 10:03Ну так и данных обрабатывала система в разы меньше. Сайты были примитивнее, экраны меньше. Я вот привел примеры того что реально куча вещей тогда тормозила, ну нельзя было установить ОС за 15 минут ( как сегодня ставится убунта ), да даже установка игры ( с диска например ) занимала ощутимо много времени. Ну или вот я помню как играл в "Проклятые Земли" на эээ 486 компе кажется. Загрузка игры ( а загружаться приходилось часто ) занимала вечность. Натуральную вечность. Да даже в примитивном БГ1 или Фоллауте загрузки были долгими.
speshuric
26.07.2024 10:03+3Ну про 12 и 16 мегабайт это больше маркетинг - реально работать было очень больно.
На 32 - я еще поверю, что можно было что-то делать. Например, запустить блокнот и диспетчер задач (хаха).
На 64 МБ можно было запустить Access 97, SQL Server Enterprise manager (божечки, модальные окна редактирования хранимок с пропорциональным шрифтом - это не забыть) и Query Analyzer. В принципе, можно даже BOL было открыть одновременно. Не скажу, что комфортно, но возможно.
На тех же 64 МБ можно было запустить мааааленький контроллер домена - пользователей на 20. Но только больше ничего нельзя было в этом случае туда больше ставить (дисковые чтения становились некешируемыми).
На 128-256 можно было поднять SQL Server 6.5, 7.0 или 2000.Но вашего вопроса "почему то, что шустро работало 28 лет назад
на 16 мегабайтахсегодня требует на два-три порядка больше памяти" это не отменяет.
И даже ответ понятен.
Во-первых, шустро оно не работало. Диски были медленными. Память была медленной (SIMM еще). Процессоры были медленными и 32-битными. Интернет был только в сказках.
Во-вторых, было меньше "прослоек", "фреймворков" и "уровней виртуализации". Это честный обмен - эти штуки сильно облегчают разработку ПО, но съедают много памяти и сколько-то производительности.
В-третьих, программы стали больше. Несоизмеримо больше. В воспоминаниях может и притупилось, но если вы возьмете СУБД 1997 года (ну тот же SQL Server 7.0, про 6.5 без слёз вообще сложно вспоминать), и попробуете его поднять в виртуалке (есть сложности, но вполне возможно), то удивитесь тому, насколько много относительно небольших неудобств, которые как раз и побеждались усложнением ПО.
Ну а в большом объёме, к сожалению, больше мусора. Обычно этот мусор остаётся именно потому что с ним бороться дороже, чем оставить. Память-то подешевела.
Ds02006
26.07.2024 10:03Июль 2000 года, мой первый работодатель после моего вуза.
Я работал на компьютере с NT 4.0, и у него действительно не было USB-портов. Dialup-модем был подключен через СОМ-порт...
ОЗУ - 16 мегабайт, монитор 800 на 600 пикселей...
Старшие коллеги мне тогда впервые показали команды ping и tracert. А сисадмин Яков показал arp -a, и подробно всё разжевал...
SIISII
26.07.2024 10:03Использовал её на своём первом собственном компе, пока не появилась Вынь-2000. 95/98 только на работе использовались.
Bagatur
26.07.2024 10:03+2Ооо, да. NT домен был весьма занятен, ибо централизованная аутентификация и прочие прикольные плюшки, правда, до сих пор, даже в AD инстинктивно делишь контроллеры домена на PDC и BDC...
jackcrane
26.07.2024 10:03домен NT4 был отвратителен в плане безопасности (в основе MS RPC + MS SMB, что вы хотели) и масштабирования. я часто хотел его заменить на логин в RADIUS через ранние версии https://github.com/pgina/pgina , а потом вышла 2000 и стало почти как надо.
salnicoff
26.07.2024 10:03+1Windows не может представлять из себя. У вас там в МТСе у всех с русским языком проблемы?
DMGarikk
26.07.2024 10:03PWS это не peer web service, а personal web server
Этот компонент был и в win95, легковесный вебсервер чтобы сложный iis не таскать
В 95 винде я на нем свою первую страничку делал
iliabvf
"интерфейс программирования приложений" - Хабр, который мы заслужили! Отдельное спасибо за то, что напомнили про говно под названием DCOM и OLE.
Интересно, что про OS2 и IBM ни слова в статье! Или про сущий ад с драйверами и синими экранами
unreal_undead2
А что про них писать в контексте NT4? "Развод" с IBM случился задолго до её выхода, осталась разве что OS/2 subsystem...
Особых проблем с драйверами не помню, хотя на работе несколько лет на ней сидел - возможно, просто изначально закупали совместимое железо. Синие экраны да, время от времени вылезали.
Politura
Хм, а что в них было плохого? В NT 4 с ними дел не имел, но во времена Вин 98 и XP довелось заниматься 1С-кой и было очень удобно как-раз благодаря легкому доступу к OLE. Например, можно было прям из 1с работать с базами данных, я так делал выгрузку в Оракл, когда делали миграцию из 1С в другую систему, а работать напрямую с MS SQL вообще бог велел. Делал отчеты в Эксель, опять-же через ОЛЕ, ну и еще всякую фигню.
Точно также писал для себя мелкие утилиты на жабаскрипте, который запускался в wsh, а там WScript.CreateObject и вперед с песнями, доступно что угодно, помимо тех-же баз с офисом, всякие системные приколюхи, типа, управление юзерами на компе, или там данные выкачать с инета и обработать. Тогда xml был вперде, json вообще не было, вот с ним тоже норм было работать.
DMGarikk
Это вы сугубо один аспект COM/DCOM помните, чтобы локально коннектится к приложениям...в 1С фактически функционал старого OLE использовали ...а ДКОМ куда более грандиозная
еба..штуковина , вы пробовали её по сети использовать, эту самую D в аббривеатуре и ковырятся в настройкас dcomcnfg ?Мне вот довелось настраивать систему видеонаблюдения у которой сервер и компы на которых запущена софтина мониторинга работали именно черех эту штуку... это один из тех раз когда я максимально угорел эту хрень настраивать, это такого размера *опа что я понимаю зачем MS решили ее закопать, она оказалась гораздо сложнее и глючнее чем можно охватить мозгом любого адвекватного человека и чтобы его в дурку не забрали
Там достаточно неправильно поменять какойто параметр в настройках dcomcnfg чтобы полностью убить ОС с полной невозможностью ее оживить..потому что через DCOM работает (работало) половина системных компонентов винды, и там очень извращенным образом расставлены права доступа для различных частей этих компонентов, и если вы неосторожно снимите или поставите какуюто галочку которая напрямую какбы не должна на чтото влиять....гдет в фоне поменяются права доступа, ОС перестанет загружаться даже в безопасном режиме, а восстановить эти хитроумные сплетения прав и доступов вручную невозможно в принципе
я уж молчу про отладку коммуникаций по сети этой всей хрени...я честно пытался осознать эту вещь пару недель, в итоге накатил чистую винду на все компы и не меняя ничего...оно заработало...ей выделили отдельны vlan где не было фаерволлов и компы были в стороне от общего скоупа безопасности...это одна из немногих вещей от которых я откажусь если меня попросят ей заняться еще раз