Меню

Главная
Случайная статья
Настройки
Windows NT 3.1
Материал из https://ru.wikipedia.org

Windows NT 3.1 — первая крупная операционная система линейки Microsoft Windows NT для серверов и корпоративных рабочих станций на базе Intel x86, DEC Alpha и MIPS, выпущенная 27 июля 1993 года. Это была первая 32-разрядная операционная система Microsoft, предоставляющая преимущества по сравнению с ограниченной 16-разрядной архитектурой предыдущих версий Windows, которые полагались на DOS, но сохраняющая среду рабочего стол , знакомую пользователям Windows 3.1. Windows NT начиналась как переписанная версия операционной системы OS/2, которую Microsoft совместно разработала с IBM, но не смогла получить большой поддержки против Unix, поскольку поставщик Sun Microsystems доминировал на рынке мощных настольных рабочих станций. По нескольким причинам, включая рыночный успех Windows 3.0 в 1990 году, Microsoft решила продвигать Windows, а не OS/2, и отказалась от своих обязанностей по разработке OS/2. Расширяя бренд Windows и начиная NT с версии 3.1, как и Windows 3.1, которая установила узнаваемость бренда и долю рынка, Microsoft подразумевала, что потребители должны ожидать знакомый пользовательский интерфейс. Название Windows NT («Новая технология») рекламировало, что это была переработанная версия Windows[4].

Номер версии был выбран таким образом, чтобы соответствовать последней версии оболочки Windows 3.1, имевшей похожий интерфейс пользователя. Было доступно две редакции NT 3.1: Windows NT 3.1 и Windows NT Advanced Server. Основные функции ядра операционной системы, представленные в NT 3.1, используются в 32-битных версиях современных операционных систем семейства Windows, а в расширенном виде присутствуют и в 64-битных версиях. Также в NT 3.1 впервые появилась поддержка файловой системы NTFS[5].

Впервые публично продемонстрированная на Comdex 1991, NT 3.1 была выпущена в 1993 году в двух редакциях: Workstation и Advanced Server. Когда Windows NT дебютировала, ее продажи были ограничены высокими системными требованиями и общим отсутствием 32-разрядных приложений, которые могли бы использовать возможности обработки данных ОС. Было продано около 300 000 копий. Следующей операционной системой в линейке стала Windows NT 3.5, выпущенная в сентябре 1994 года. 31 декабря 2000 года Microsoft объявила Windows NT 3.1 устаревшей и прекратила предоставлять поддержку и обновления для системы[6].

Содержание

Разработка

Разработка Windows NT началась в ноябре 1988 года, после того, как Microsoft наняла коллектив разработчиков из Digital Equipment Corporation (DEC) во главе с Дэйвом Катлером. Многие основы дизайна отражали ранние опыты DEC с VMS и RSX-11. Операционная система была предназначена для работы на архитектурах с разными системами команд, а также на различных аппаратных платформах, принадлежащих к каждой из архитектур. Зависящие от оборудования части системы были в основном скрыты от остальной системы модулем режима ядра, получившим название HAL.

Windows NT изначально должна была быть выпущена как OS/2 3.0, третья версия операционной системы, совместно разрабатывавшейся IBM и Microsoft. После выпуска пользовавшейся большим успехом новой версии пользовательской оболочки для MS-DOS Windows 3.0 в мае 1990 года Microsoft решила изменить основной API для ещё не выпущенной NT OS/2: вместо расширенного API OS/2 стал использоваться расширенный Windows API. Это решение вызвало напряжённость в отношениях между Microsoft и IBM, в результате которой сотрудничество распалось. IBM продолжила разрабатывать OS/2, а Microsoft продолжила работу над Windows NT.

Первая публичная демонстрация Windows NT, тогда называвшейся Windows Advanced Server for LAN Manager, была представлена на конференции разработчиков в августе 1991 года[7], а формальное объявление продукта состоялось весной 1993 года на выставке COMDEX в Атланте, Джорджия.

Интерфейсы программирования приложений в Windows NT представляют собой подсистемы, работающие поверх недокументированного Native API; именно это позволило перейти к Windows API на достаточно поздней стадии разработки. Windows NT являлась первой операционной системой Microsoft, внутренние структуры данных которой использовали набор символов Unicode UCS-2. В Windows NT впервые был представлен Win32 API, который был 32-битной версией 16-битного Windows API. Большинство 16-битных приложений могло быть портировано на новую систему с минимальными изменениями путём повторной компиляции. В Win32 появилась поддержка многих новых API, в частности, сетевых операций и многопоточности.

Кодовым названием проекта было «NTOS». Данное обозначение сохранилось в имени файла ядра Windows NT, ntoskrnl.exe. Более официальным названием проекта было «NT OS/2». Это наименование сохраняется до настоящего времени в некоторых файлах комплекта для разработки драйверов Windows NT.

Поддержка архитектур

С самого начала NT проектировалась таким образом, чтобы её можно было легко портировать на другие платформы. Весь исходный код ядра и подсистем был написан на языках C и C++. Любые отличия в архитектуре аппаратного обеспечения, адаптация к которым не могла быть осуществлена простой перекомпиляцией (например, архитектура памяти, поддержка нескольких процессоров), выносились в HAL.

Кроме того, система загрузки NT была во многом заимствована из спецификации ARC, особенно на платформах, отличных от x86.

i860

Изначально NT разрабатывалась для процессора Intel i860 (кодовое название N10 — «N-Ten»). Однако, поскольку выпуск i860 задерживался, команде разработчиков NT приходилось использовать эмулятор, прежде чем стали доступны прототипы систем на основе i860. Затем была добавлена поддержка других систем, а версия NT для i860 так и не была выпущена для публики. Причиной, по которой изначально разработчики ориентировались на i860, было стремление облегчить портирование на другие архитектуры и избежать создания системы, ориентированной на процессоры с архитектурой x86[8].

x86

NT 3.1 поддерживала 32-битные процессоры Intel x86 (80386 и более поздние). В сравнении с 16-битной Windows 3.x, количество драйверов устройств для NT было довольно ограниченным. Хотя в Windows 9x могли использоваться драйвера от Windows 3.x, в NT нельзя было использовать ни драйвера для 9x, ни для 3.x. Windows NT 3.1 является единственной версией Windows NT, поддерживающей многопроцессорные компьютеры на основе процессора 80386[9].

MIPS

Windows NT 3.1 поддерживала процессор MIPS R4000, а также иные системы MIPS, соответствовавшие спецификации Advanced RISC Computing (ARC).

Alpha

Поддержка для процессора DEC Alpha была добавлена на стадии разработки бета-версий NT. Однако поскольку выпуск Alpha был отложен, разработчики Microsoft не имели доступа к компьютерам на основе Alpha почти до самого выпуска NT. В результате этого, поддержка Alpha не вошла в комплект поставки: в первые коробки с NT вкладывался купон, который можно было отправить по почте, чтобы получить бесплатный CD с NT 3.1 для процессоров Alpha.

Совместимость с приложениями

16-битные версии Windows

NT включала так называемую NTVDM/WOW (NT Virtual Dos Machine/Windows on Windows), которая представляла собой окружение для запуска 16-битных приложений. Была возможна эмуляция подсистемы операционной оболочки Windows 3.x, работающей в стандартном (286) режиме. Приложения, которые полагались на низкоуровневый доступ к аппаратному обеспечению, не поддерживались. 16-битные приложения также не могли использовать файл подкачки. Microsoft указывала, что NT была совместимой со всеми 16-битными приложениями, которые соответствовали официальным руководствам по созданию программного обеспечения (большинство коммерческих приложений).

В NT 3.1 все 16-битные приложения запускались в рамках одного процесса WOW. Это означало, что одно засбоившее 16-битное приложение могло закрыть всю сессию WOW вместе с остальными 16-битными приложениями. Однако сама операционная система была изолирована от подобных проблем, так что процесс WOW можно было прервать и перезапустить, что являлось значительным шагом вперёд в области обеспечения стабильности Windows.

Командная оболочка DOS в NT была заменена системой командной строки, известной как CMD.EXE. DOS-подсистема допускала запуск любых приложений, не требовавших низкоуровневого доступа к оборудованию (который в тот период использовался часто). Для запуска DOS-приложений, как и в Windows 3.x и 9x использовался режим виртуального 8086.

Окружение NTVDM/WOW осталось практически неизменным во всех 32-битных версиях Windows NT. В 64-битных версиях оно отсутствует, потому что процессоры архитектуры x64 не поддерживают 16-битные операции или переход в режим виртуального 8086 в «длинном» режиме.

32-битные версии Windows

В NT впервые появился API Win32, который представлял собой 32-битную реализацию Windows API, которая позволяла перекомпиляцию старых 16-битных приложений для новой системы с минимальными изменениями. Win32 позволяла растущему сообществу программистов для 16-битных Windows использовать свои навыки при программировании для новой системы. Windows 95 поддерживала API Win32 (несколько видоизменённый), что ещё больше усилило его роль в процессе перевода пользователей систем Microsoft с 16-битных платформ.

Win32 — это полноценный API, предоставляющий доступ к самым различным возможностям ОС, начиная с управлению памятью и заканчивая интерфейсом пользователя. NT не разрешало доступ к оборудованию для приложений уровня пользователя. Это увеличивало надёжность системы за счёт уменьшения производительности. Однако это также означало, что практически все приложения Win32 должны были опираться на API Win32, написанный на C/C++. Положительной стороной этого являлось то, что портирование приложения на другую архитектуру, поддерживаемую NT (например, с x86 на MIPS) обычно не требовало никаких действий, кроме перекомпиляции (некоторые приложения требовали изменений, если они предполагали использование определённого порядка байтов).

OS/2

Хотя система, которая изначально должна была называться «NT OS/2» была в итоге выпущена как «Windows NT», она осталась во многом совместимой с OS/2. Так, поддерживалась файловая система HPFS, а также работавшие в текстовом режиме 16-битные приложения OS/2 (в версии для x86). Многие API OS/2 (в частности сетевые API NetBIOS/LANMan) существовали в 16-битных версиях OS/2 и DOS/Windows практически в идентичной форме, так что они были включены в Win32 API. Большинство 16-битных программ OS/2 могли быть с минимальными изменениями исходного кода перекомпилированы как консольные приложения Win32.

Общей для Windows и OS/2 является концепция динамических библиотек (DLL). Хотя детали реализации DLL в Windows и OS/2 отличаются, сходство их является достаточно сильным, чтобы даже сложные приложения OS/2 могли быть перенесены на NT без значительных архитектурных изменений.

Кроме того, Microsoft отдельно подставляла дополнительную подсистему Windows NT для Presentation Manager (Windows NT Add-On Subsystem for Presentation Manager), которая делала возможным запуск графических приложений для OS/2.

POSIX

Windows NT 3.1 включала подсистему, которая предоставляла минимальную совместимость с POSIX. Она была добавлена в основном для того, чтобы способствовать заключению контрактов с правительством США, поскольку многие правительственные агентства включали POSIX-совместимость в качестве обязательного условия контракта.

Совместимость с POSIX поддерживалась лишь на уровне API, так что требовалась перекомпиляция исходного кода. Подсистема POSIX в NT 3.1 в основном включала поддержку разрешений доступа к файлам в стиле UNIX, а также длинных имён файлов.

Internet Explorer

Поддержка NT 3.1 впервые появилась в Internet Explorer 2. IE 1.5 поддерживал NT, но эта версия стала доступной лишь после выпуска IE 2.

Редакции
  • Windows NT
  • Windows NT Advanced Server (добавлена поддержка доменов, RAID-массивов, сетевых клиентов Apple Macintosh; поддерживаются до 4 процессоров вместо 2 в обычной версии).


Поддержка сети

NT 3.1 включала поддержку для 3 сетевых протоколов: NetBIOS Frames (с использованием API NetBEUI), TCP/IP и DLC.

NetBIOS Frames

На момент выпуска NT протокол NetBIOS Frames (NBF) чаще всего использовался в сетях на основе Microsoft LAN Manager/IBM LAN Server. В NT 3.1 этот протокол был единственным, который можно было использовать с уже существующими сетями на основе LAN Manager networks, а также при взаимодействии с системами на основе NT. При использовании NBF NT могла участвовать в общем доступе к файлам и принтерам, а NT Advanced Server могла выступать в роли контроллера домена (в том числе совместно с серверами OS/2 LAN Manager). NT Advanced Server также могла входить в уже существующий домен, но не могла использоваться как самостоятельный сервер для рабочих групп.

TCP/IP

Windows NT 3.1 была первой операционной системой семейства Windows, включавшей поддержку TCP/IP в обычном комплекте поставки. В качестве стека TCP/IP использовался SpiderTCP, разрабатывавшийся Spider Systems. В NT 3.5 он был заменён на стек собственной разработки[10].

Стек TCP/IP включал поддержку WinSock и STREAMS, но не мог использовался для построения сетей, включавших системы Microsoft LAN Manager или NT. Кроме того, не было поддержки DHCP, так что IP-адреса должны были настраиваться вручную. Поддержка NBT, DHCP и WINS была добавлена лишь в NT 3.5.

Data Link Control

Data Link Control (DLC) — протокол обмена данных с сетевыми принтерами, например, использующими интерфейс HP JetDirect. Он также мог использовать Microsoft SNA Server для взаимодействия с мейнфреймами IBM.

Восприятие

Windows NT 3.1 реализовала около 300 000 копий в первый год своего существования. В то время системные требования были довольно высокими; рекомендуемым процессором был 486 с 16 мегабайтами оперативной памяти, что значительно превышало средние характеристики компьютеров, что делало работу с операционной системой медленной. 32-разрядных приложений, способных использовать возможности Windows NT 3.1, было недостаточно, и пользователи были вынуждены использовать старые 16-разрядные программы, которые работали медленнее, чем в Windows 3.1. По данным на ноябрь 1993 года, существовало всего 150 приложений для Windows NT. Популярные офисные пакеты не были доступны для данной операционной системы. В ходе разработки API изменились, что сделало невозможным запуск 32-битных приложений, созданных на основе бета-версии Windows NT 3.1 1992 года, на финальной версии. Это затронуло такие программные продукты, как Microsoft Visual C++ 1.0 и Microsoft Fortran PowerStation[11][12][13][14][15].

Системы RISC, использующие Windows NT 3.1, имели еще более серьезные недостатки: хотя они были более мощными, 32-разрядные приложения и драйверы на этих платформах практически отсутствовали. 16-разрядные приложения работали заметно медленнее на системах RISC из-за эмуляции 80286, в отличие от систем x86, которые могли запускать их изначально. Приложения DOS и те, что зависели от вызовов 386, вообще не работали на RISC[16][17].

Тем не менее, не все отзывы были негативными. Многозадачные возможности операционной системы были положительно оценены, особенно в сравнении с Windows 3.1. Установка операционной системы была довольно простой, хотя процесс установки с дискет был трудоемким. Advanced Server, который должен был стать преемником неудачного LAN Manager, значительно превосходил своего предшественника, но не достиг успеха из-за аналогичных проблем, таких как низкая производительность при запуске 16-разрядных приложений. Advanced Server предлагал финансовые преимущества для крупных сетей, поскольку его стоимость не зависела от количества клиентов, в отличие от Novell NetWare[18][19][20][21].

С выходом Windows NT Microsoft смогла войти на рынок, который ранее был доминирован Unix, Novell NetWare и OS/2. Тест, проведенный журналом InfoWorld в ноябре 1993 года, продемонстрировал серьезные недостатки Windows NT 3.1 в межклиентском взаимодействии: она могла подключаться только к своему собственному серверу через NetBEUI, а попытки подключения к Unix, NetWare и OS/2 потерпели неудачу из-за отсутствия соответствующего клиентского ПО. Для Advanced Server только их собственный клиент, а также ограниченно Macintosh и OS/2 могли подключаться к серверу[22][23].

Хотя фактический успех операционной системы был умеренным, ее долгосрочное влияние оказалось значительным. Разработчики производных Unix начали стремиться к стандартизации своих систем, а Novell, обеспокоенная своей долей рынка, приобрела поставщика Unix. Производители микропроцессоров хотели использовать переносимость новой операционной системы для увеличения продаж и анонсировали порты Windows NT для различных платформ, таких как Sun SPARC и Clipper. Признавалось, что Windows NT станет доминирующей на рынке настольных ПК, как только оборудование достигнет необходимой мощности для ее запуска на приемлемой скорости. В итоге, восемь лет спустя Microsoft объединила потребительскую линейку Windows (которая оставалась на базе MS-DOS) с линейкой NT, выпустив в октябре 2001 года Windows XP — первую потребительскую версию Windows на архитектуре NT[24][25][26][27][28].

Примечания
  1. 1 2 Windows NT History — if (ms) blog++; — Site Home — TechNet Blogs. Дата обращения: 28 августа 2011. Архивировано из оригинала 19 апреля 2010 года.
  2. Microsoft Product Lifecycle for Windows NT Workstation 3.1. Дата обращения: 28 августа 2011. Архивировано 13 июля 2021 года.
  3. [1] Архивная копия от 13 июля 2021 на Wayback Machine Microsoft Product Lifecycle for Windows NT Advanced Server 3.1
  4. Markoff, John (24 мая 1993). Microsoft Soft-Pedaling Its Latest. The New York Times (англ.). 0362-4331. Дата обращения: 22 февраля 2025.
  5. Sun launches technology to run Windows programs - UPI Archives (англ.). UPI. Дата обращения: 22 февраля 2025.
  6. Microsoft secrets : how the world's most powerful software company creates technology, shapes markets, and manages people | WorldCat.org (англ.). search.worldcat.org. Дата обращения: 22 февраля 2025.
  7. Windows Products and Technologies History: Windows Server Products History. Microsoft (30 июня 2003). Дата обращения: 4 сентября 2009. Архивировано 6 августа 2012 года.
  8. Mark Lucovsky. Windows A Software Engineering Odyssey. USENIX (9 августа 2000). Дата обращения: 4 сентября 2009. Архивировано 4 февраля 2012 года.
  9. STOP screen when installing Windows NT 3.5 on 386 SMP machine. Дата обращения: 4 октября 2009. Архивировано 6 августа 2012 года.
  10. Adam Barr. Microsoft, TCP/IP, Open Source, and Licensing. Kuro5hin (19 июня 2001). Дата обращения: 4 сентября 2009. Архивировано 6 августа 2012 года.
  11. Zehn Jahre Windows NT. c't – Magazin fr Computertechnik (27 июля 2003). Дата обращения: 9 июня 2012.
  12. Ошибка в сносках?: Неверный тег <ref>; для сносок ct1994 не указан текст
  13. Running Visual C++ for Windows with Windows NT. Microsoft Support (1 ноября 2006). Дата обращения: 9 мая 2019. Архивировано 27 февраля 2013 года.
  14. Ошибка в сносках?: Неверный тег <ref>; для сносок PCMag28Sep1993_S211 не указан текст
  15. Ошибка в сносках?: Неверный тег <ref>; для сносок ctrueckblick2 не указан текст
  16. Ошибка в сносках?: Неверный тег <ref>; для сносок ct1993 не указан текст
  17. Ошибка в сносках?: Неверный тег <ref>; для сносок IW15Nov1993_S138 не указан текст
  18. Ошибка в сносках?: Неверный тег <ref>; для сносок ZacharyShowstopper не указан текст
  19. Windows XP review. CNET (4 сентября 2001). Дата обращения: 24 мая 2013.


Литература
  • G. Pascal Zachary (1994). «Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft», Free Press, ISBN 0-02-935671-7


Ссылки
Downgrade Counter