Основные компоненты ос семейства windows nt. WNT: правдивая история Windows NT. Области использования Windows NT

В этой статье мы рассмотрим виды операционных систем Windows NT. Windows NT - это не Windows2000 или какая-нибудь еще. Это серия, а точнее платформа, на базе которой ведутся разработки ОС. Практически все семейство Windows базируется на этой платформе. Помимо NT есть еще платформа 9х, к которой относится Windows95, Windows98 и WindowsME.

Из-за того, что были опасения в неправильной работе программ, написанных с учётом старых версий ОС, в свет выпустили 10-ую версию операционной системы сразу после восьмой. Иначе 9-ка в версии могла толковаться программой как операционная система серии 9-х. Подробности о том, что же такое NT - в этой статье.

Windows NT (в просторечии просто NT) — линейка операционных систем (ОС) производства корпорации Microsoft и название первых версий ОС. Windows NT была разработана после прекращения сотрудничества Microsoft и IBM над OS/2, развивалась отдельно от других ОС семейства Windows (Windows 3.x и Windows 9x).

В отличие от Windows 3.x и Windows 9x, Windows NT позиционировалась как надёжное решение для рабочих станций (Windows NT Workstation) и серверов (Windows NT Server). Windows NT дала начало семейству операционных систем, в которое входят: собственно Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows 8. Информация из статьи Windows NT , Wikipedia.

Название ОС Windows

Номер версии NT

Windows NT 4.0 4.0.1381
5.0.2195
Windows XP 5.1.2600
6.0.6000
Windows 7 6.1.7600

Номер, который стоит после букв NT - это порядковый номер разработки ОС на базе NT. Сейчас выходит Windows7 (Windows NT6.1), седьмая разработка на базе NT. Vista - NT6.0, XP - NT5.1, Windows2000 - NT5.0. Win2K - это просто физическая интерпретация числа (2К=2000). Windows NT - это целое семейство ОС. С этим часто сталкиваешься, когда скачиваешь руководства по установке и настройке или драйвера устройств.

Со времён Windows95 интерфейс операционной системы принципиально не сильно изменился. Разумеется, он стал качественнее, совершеннее и удобнее, появилось много новых функций. Но человек, работавший на Windows2000 достаточно легко освоится и в последующих версиях ОС Windows (если говорить об интерфейсе системы в целом). Технически системы отличаются друг от друга, способы решения пользовательских задач на разных системах тоже различаются.

В целом, если описывать данное семейство ОС, то можно сказать, что история ОС Windows делится на 2 части - до выхода Windows Vista и после. Ничего принципиально нового (кроме визуальных эффектов) в интерфейс этой версии своей ОС разработчики Microsoft не привнесли, однако полностью было переписано ядро системы.

Из-за нового ядра была потеряна совместимость со старыми программами (разработка которых остановилась до выхода Vista) и драйверами старых устройств. Этим в большей мере объясняется дурная слава и непопулярность этой версии Windows. В Windows7 разработчики учли ошибки, производители софта и железа уже имели возможность выпускать ПО и оборудование с учётом новых требований ОС, однако большинство старых программ и старого оборудования этой операционной системой уже не поддерживается.

Совместимость версий Windows

Чтобы выйти из положения (множество промышленных программ не работает в Windows7), в версиях Windows7 Professional, Enterprise и Ultimate есть возможность запускать программы из-под XP-Mode. XP-Mode представляет собой виртуальную машину и образ лицензионной WindowsXP. Правда графические возможности эмуляции находятся на уровне S3 Trio64 без поддержки 3D, то есть самый минимум.

(NT 6.0)

2006 Не поддерживается
Почти, не используется (NT 6.1) 2009 Не поддерживается
Активно используется (NT 6.2) 2012 Не поддерживается
Почти, не используется (NT 6.3) 2013 Поддерживается
Почти, не используется (NT 10) 2015 Поддерживается
Активно используется

Серверные Windows

Логотип Версия Год Статус
1993 Не поддерживается
Как правило, не используется
1994
1995
1996
2000
2003 Не поддерживается
Пока еще используется
2005
2008
2009 Поддерживается
Активно используется
2012
2013
2016
2018 Начало использования

Все версии Windows по линейкам + хронология

Линейка Годы Перечисление версий
16 бит 1985 - 1995 Windows 1 / 2 / 3
32 бита
(9x)
1995 - 2001 Windows 95 / 98 / ME
NT
(32 и 64 бита)
с 1993 Windows NT 3.1 / NT 3.5 / NT 3.51 / NT 4.0 Workstation / 2000 / XP / Vista / 7 / 8 / 8.1 / 10
NT Servers
(32 и 64 бита)
с 1993 Windows NT 3.1 / NT 3.5 / NT 3.51 / NT 4.0 Server / 2000 Server / 2003 / 2003 R2 / 2008 / 2008 R2 / 2012 / 2012 R2 / 2016 / 2019

История успеха

Данная история успеха отражает частоту использования системы; количество глюков, с которыми столкнулись пользователи; отзывы.

Windows 1 Неудача
Windows 2 Нейтрально
Windows 3 Успех
Windows 95 Неудача
Windows 98 Успех
Windows Millenium Провал
Windows 2000 Нейтрально
Windows XP Большой успех
Windows Vista Провал
Windows 7 Успех
Windows 8 Провал
Windows 8.1 Неудача
Windows 10 Успех

* несмотря на провал некоторых версий операционной системы, они несли новые функции, которые перешли в уже успешные версии. Например, в миллениум появились красивые иконки и окна, которые перешли в Windows 2000. Поэтому провал не стоит оценивать, как неудачную работу.

Windows 1

Годы поддержки: 1985 - 2001. Ветка: 16 бит.

Издания: -

Что нового

До Windows 1 был MS-DOS, поэтому самое главное новшество — графический интерфейс и возможность управления при помощи мыши.

Системные требования

Windows 3

Годы поддержки: 1990 - 2008. Ветка: 16 бит.

Издания: -

Что нового

  • Первый (от Microsoft) удобный для пользователя интерфейс.
  • Появление диспетчера программ.
  • Появление мультимедийных возможностей.
  • Поддержка сети (с 3.1).

Системные требования

Windows NT 3.1

Издания: -

Что нового

  • Первая система на базе ядра NT.
  • Поддержка файловой системы NTFS .

Системные требования

Процессор Intel 80386
Оперативная память 2 Мб
Объем жесткого диска 8 Мб

Windows NT 3.5 Workstation

Издания: -

Что нового

  • Встроенная поддержка Winsock и TCP/IP .
  • Появление сервероа и клиента DHCP и WINS.
  • Поддержка VFAT.

Системные требования

Процессор 33 МГц
Оперативная память 12 Мб
Объем жесткого диска 70 Мб

Windows NT 3.51 Workstation

Издания: -

Системные требования

Windows NT 4.0 Workstation

Издания: -

Системные требования

Windows 98

Годы поддержки: 1998 - 2006. Ветка: 9x (32 бита).

Системные требования

Windows Millenium

Годы поддержки: 2000 - 2006. Ветка: 9x (32 бита).

Системные требования

Windows 2000

Годы поддержки: 2000 - 2010. Ветка: NT.

Системные требования

Windows XP

Редакции: XP, XP Professional

Системные требования

Windows Vista

Годы поддержки: 2006 - 2017. Ветка: NT. Разрядность: 32 и 64 бита.

Издания: Начальная (Starter), Домашняя базовая (Basic), Домашняя расширенная (Premium), Бизнес (Business), Корпоративная (Enterprise), Максимальная (Ultimate)

Системные требования

Windows 7

Годы поддержки: 2009 - 2020. Ветка: NT. Разрядность: 32 и 64 бита.

Издания: Начальная (Starter), Домашняя базовая (Home Basic), Домашняя расширенная (Home Premium), Профессиональная (Professional), Корпоративная (Enterprise), Максимальная (Ultimate)

Системные требования

Минимальные Рекомендуемые
Архитектура 32-бит 64-бит 32-бит 64-бит
Процессор 1 ГГц
Оперативная память 1 Гб 2 Гб 4 Гб
Объем жесткого диска 16 Гб 20 Гб 16 Гб 20 Гб

Windows 8

Годы поддержки: 2012 - 2016. Ветка: NT. Разрядность: 32 и 64 бита.

Системные требования

Минимальные Рекомендуемые
Архитектура 32-бит 64-бит 32-бит 64-бит
Процессор 1 ГГц
Оперативная память 1 Гб 2 Гб 4 Гб
Объем жесткого диска 16 Гб 20 Гб 16 Гб 20 Гб

Windows 8.1

Годы поддержки: 2013 - 2023. Ветка: NT. Разрядность: 32 и 64 бита.

Издания: 8, 8 Профессиональная (Pro), 8 Корпоративная (Enterprise)

Системные требования

Минимальные Рекомендуемые
Архитектура 32-бит 64-бит 32-бит 64-бит
Процессор 1 ГГц
Оперативная память 1 Гб 2 Гб 4 Гб
Объем жесткого диска 16 Гб 20 Гб 16 Гб 20 Гб

Windows 10 (последняя для персональных компьютеров)

Годы поддержки: 2015 - 2025. Ветка: NT. Разрядность: 32 и 64 бита.

Издания

  • Домашняя (Home). Для большинства домашних компьютеров. Нет возможности настроить удаленный рабочий стол для того, чтобы к систему можно было подключиться удаленно; нет возможности использования групповых политик и присоединения к домену.
  • Профессиональная (Pro). Содержит все функции домашней версии + возможность присоединения к домену, использования групповых политик, возможность подключения к компьютеру с использованием удаленного рабочего стола.
  • Корпоративная (Enterprise). Урезаны некоторые функции домашней версии. Есть все дополнительные функции версии Pro + DirectAccess, AppLocker.
  • S. Является урезанной версией; предустановлена на некоторые устройства. Не поддерживает стандартную установку приложений — возможна установка только из магазина Windows.

Что нового

Windows 10 претерпевает сильные изменения с выходом новых билдов. Поэтому нововведения будем рассматривать исходя из этого.

  • Улучшенная производительность.
  • Новый встроенный браузер Microsoft Edge.
  • Автоматическое сжимание соседнего окна, при прижимании активного окна в одной из сторон рабочего стола.
  • «Все приложения» в «Пуск» поддерживают отображение в 2048 элементов (раньше только 512).
  • Принудительная установка обновлений.
  • Использование виртуального голосового помощника Кортана.
  • Обновленный меню пуск — представляет из себя гибрид предыдущих версий и Windows 8 (вернулся старый вариант раскрытия, а в правой части появились плитки).
  • Возможность создания нескольких рабочих столов.
  • Отказ от плиточной системы Windows 8.
  • Возможность рукописного ввода (Windows Ink).
  • Идентификация с помощью веб-камеры.
  • Синхронизация с мобильного устройства уведомлений.
  • Изменение меню параметров системы.
  • Встроенная поддержка шлемов виртуальной реальности.
  • Игровой режим
  • По умолчанию предлагается командная строка в Powershell.
  • Доступ к классической панели управления скрыт из контекстного меню. Теперь его можно вызвать командой control .
  • Улучшение работы встроенного антивируса.
  • Идентификация с помощью веб-камеры для Active Directory.
  • Возможность создавать скриншот с выделением области с помощью сочетания клавиш Win + Shaft + S.
  • Поддержка шрифта Брайля.
  • Увеличенное время работы от батареи.
  • Возможность работы Cortana на одном устройстве и окончание работы на другом.
  • Отключение протокола SMBv1. Включить можно вручную.
  • Появление панели «Люди».
  • Информация о GPU в диспетчере задач.
  • Полноэкранный режим Microsoft Edge
  • Увеличенное время работы от батареи (функция Power Throttling).
  • Появление панели эмодзи.
  • Выборочная синхронизация OneDrive.
  • Исправление проблемы торможения в играх.
  • Возможность восстановить пароль с помощью контрольных вопросов.
  • Темная тема для проводника.
  • Возможность получения доступа к сообщения с телефона (функция «Ваш телефон»).

* данный список содержит часть нововведений. Полный список на странице в Википедии .

Системные требования

Минимальные Рекомендуемые
Архитектура 32-бит 64-бит 32-бит 64-бит
Процессор 1 ГГц
Оперативная память 1 Гб 2 Гб 4 Гб
Объем жесткого диска 16 Гб 20 Гб 16 Гб 20 Гб

Windows NT 3.1 Advanced Server

Годы поддержки: 1993 - 2001. Ветка: NT. Разрядность: 16, 32 и 64 бита.

Издания: -

Системные требования

Процессор Intel 80386
Оперативная память 2 Мб
Объем жесткого диска 8 Мб

Windows NT 3.5 Server

Годы поддержки: 1994 - 2001. Ветка: NT. Разрядность: 16, 32 и 64 бита.

Издания: -

Что нового

  • Встроенная поддержка Winsock и TCP/IP .
  • Появление сервероа DHCP и WINS.
  • Предоставление общего доступа к файлам и принтерам.
  • Поддержка VFAT.

Системные требования

Процессор 33 МГц
Оперативная память 16 Мб
Объем жесткого диска 70 Мб

Windows NT 3.51 Server

Годы поддержки: 1995 - 2001. Ветка: NT. Разрядность: 16, 32 и 64 бита.

Издания: -

Системные требования

Процессор 33 МГц
Оперативная память 16 Мб
Объем жесткого диска 70 Мб

Windows NT 4.0 Server

Годы поддержки: 1996 - 2004. Ветка: NT. Разрядность: 32 и 64 бита.

Издания: Server, Enterprise Edition, Terminal Server

Системные требования

Windows 2000 Server

Годы поддержки: 2000 - 2010. Ветка: NT. Разрядность: 32 и 64 бита.

Издания: Server, Advanced Server и Datacenter Server

Системные требования

Windows Server 2003

Годы поддержки: 2003 - 2015. Ветка: NT. Разрядность: 32 и 64 бита.

Издания: Web, Standard, Enterprise, Datacenter

Системные требования

Web, Standard, Enterprise:

Datacenter Edition:

Windows Server 2003 R2

Годы поддержки: 2005 - 2015. Ветка: NT. Разрядность: 32 и 64 бита.

Издания: Standard, Enterprise, Datacenter

Системные требования

Standard, Enterprise:

Datacenter Edition:

Windows Server 2008

Годы поддержки: 2008 - 2020. Ветка: NT. Разрядность: 32 и 64 бита.

Издания: Web, Standard, Enterprise, Datacenter, HPC, Storage, Itanium

Системные требования

Минимальные Рекомендуемые
Архитектура 32-бит 64-бит 32-бит 64-бит
Процессор 1 ГГц 1.4 ГГц 2 ГГц
Оперативная память 512 Мб 2 Гб
Объем жесткого диска 10 Гб 40 Гб

Windows Server 2008 R2

Годы поддержки: 2009 - 2020. Ветка: NT. Разрядность: 64 бита.

Издания: Foundation, Small Business, Web, Standard, Enterprise, Datacenter, HPC, Itanium

Системные требования

Windows Server 2012

Годы поддержки: 2012 - 2023. Ветка: NT. Разрядность: 64 бита.

Системные требования

Windows Server 2012 R2

Годы поддержки: 2013 - 2023. Ветка: NT. Разрядность: 64 бита.

Издания: Foundation, Essentials, Standard, Datacenter

Системные требования

Windows Server 2016

Годы поддержки: 2016 - 2026. Ветка: NT. Разрядность: 64 бита.

Издания: Essentials, Standard, Datacenter

Что нового

  • Лицензирование на физические ядра процессора (минимум 16).
  • Новый режим установки — Nano .
  • Появление контейнерной виртуализации.
  • OpenGL и OpenCL для RDP.
  • Шифрование виртуальных машин и внутреннего сетевого трафика.
  • Блочная репликация файловых хранилищ.

Системные требования

Windows Server 2019 (последняя для серверов)

Годы поддержки: 2018 - ?. Ветка: NT. Разрядность: 64 бита.

Издания: Standard, Datacenter

Что нового

  • Улучшенная безопасность — встроенные технологии Defender ATP и Defender Exploit Guard.
  • Windows Subsystem Linux (WSL) — контейнеры для поддержки проложений Linux.
  • Для построения кластера с четным количеством узлов в качестве диска-свиделетя может выступать USB-диск.

Корни

Началось все в 1975 г., когда корпорация Digital Equipment инициировала разработку своей 32-битной платформы VAX.

Руководство этим проектом поручили Катлеру, который уже заработал себе репутацию крепкого системщика, создавая RSX-11M для знаменитых мини-компьютеров PDP-11. В 1977 г. были анонсированы машина VAX-11/780 и операционная система для нее — VMS 1.0. Спустя четыре года Катлеру безумно надоело заниматься "приписыванием" цифр после неизменного префикса из трех букв, и он решил покинуть Digital. Однако функционеры корпорации оказались хитрее: раз уж талантливого разработчика не удается удержать в лоне организации, они решили сымитировать атмосферу стартапа и свободного творчества. Было создано автономное подразделение в Сиэтле, и Катлеру позволили набрать необходимое количество персонала (около 200 человек) непосредственно из сотрудников Digital. Новая структура занялась проектированием процессорной архитектуры и операционной системы под кодовым названием Prism.

Диаграмма развития операционных систем семейства Windows NT

Недолго длился "счастья миг", большие боссы не сумели довести начатое дело до логического завершения, и в 1988 г. Катлер вместе со своими 200 инженерами и программистами оказался на вольных хлебах. Но известный разработчик не остался не у дел: в то время в голове Билла Гейтса созрело решение о необходимости создания серверной ОС, конкурирующей с клонами Unix. Только чтобы заполучить Дэвида Катлера, будущий генеральный архитектор Microsoft согласился нанять 20 бывших инженеров Digital по его выбору. В ноябре 1988 г. команда, включавшая пять выходцев из Digital и одного программиста Microsoft, принялась за дело.

Задача состояла в написании ОС для нового RISC-процессора Intel i860 под кодовым названием N-Ten. Отсюда, кстати, и возникла аббревиатура NT, позднее трактованная маркетологами Microsoft как New Technology. Уже в декабре 1988 г. были готовы первые фрагменты системы. Загвоздка заключалась в том, что i860 существовал лишь на бумаге, поэтому код приходилось тестировать на программном эмуляторе. Разработка велась на "игрушечных", по нынешним меркам, машинах Intel 386 25 MHz с ОЗУ 13 MB и жесткими дисками 110 MB.

Архитектура микроядра, изначально положенная в основу NT, приобрела решающее значение, когда в 1989 г. обнаружилось — "железный" i860 не способен достаточно эффективно исполнять написанный код. Пришлось переориентироваться на MIPS R3000, а затем и на стандартный процессор Intel 386, что было сделано менее чем за год командой, увеличившейся до 28 инженеров.

В 1990 г. произошло важнейшее событие, ставшее ключевым в судьбе NT, — выход и головокружительный успех Windows 3.0. Фактически она стала первой многозадачной ОС Microsoft с приличным графическим интерфейсом, в которой можно было выполнять реальную работу. Именно заимствование данного интерфейса и API предопределили будущее NT. Вначале серверная ОС должна была стать римейком совместного с IBM проекта OS/2 и, соответственно, функционировать с существующими приложениями OS/2. Однако третья версия Windows появилась исключительно вовремя: Редмонд отказался от своих союзников и переориентировал команду разработчиков NT на проектирование Win32 API, сделанного по "образу и подобию" интерфейса Win16. Это обеспечивало столь необходимую преемственность, облегчившую портирование приложений из настольной на серверную платформу.

Группа разработки NT, превратившейся к тому моменту в Windows NT, стала стремительно разрастаться, и вскоре в ней работало около 300 человек. Отказ от ориентации на OS/2 привел к серьезным проблемам во взаимоотношениях между Microsoft и IBM. Официальных заявлений не поступало, просто на одной из межкорпоративных презентаций сотрудники IBM в замешательстве обнаружили, что созданная ОС не имеет никакого отношения к детищу их компании. Тем не менее в состав Windows NT 3.1 (нумерация была "подогнана" к текущей версии 16-разрядной Windows, существовавшей на тот момент) вошла поддержка DOS, Win16, POSIX и OS/2 API в том числе. В июле 1993 г. новая серверная система от Microsoft вышла в свет и начала свой путь.

Дальше дело пошло споро: в сентябре 1994 г. выпущена Windows NT 3.5. Предыдущая версия готовилась в лихорадочной спешке, все приходилось кодировать с нуля, и множество функций остались нереализованными. Теперь пришло время подумать об эффективности, быстродействии и… организации какого-то взаимодействия с сетями, построенными на NetWare — абсолютным лидером того времени, доминировавшим на рынке локальных сетей. Если бы в те годы так внимательно относились к вопросам регулирования монополий, как это делается сегодня, возможно, достаточно было бы написать соответствующую кляузу в соответствующую инстанцию. Увы, Microsoft пришлось самостоятельно разбираться в сложившейся ситуации. Novell колебалась: обеспечивать или нет клиентскую поддержку Windows NT. В Редмонде не могли больше ждать — они написали свой клиент NetWare, и он оказался настолько хорош, что его продолжали использовать и после выхода оригинального программного обеспечения от Novell. В мае 1995 г. благодаря архитектуре, основанной на микроядре, появилась специальная "PowerPC-редакция" ОС — Windows NT 3.51. По некоторым данным, ее выпуск был в свое время задержан вследствие неспособности IBM придерживаться плана по выводу этого процессора на рынок. Поэтому эволюция PowerPC-версии зашла несколько дальше, чем Windows NT 3.5, что позволило ей стать основой для следующей версии ОС.

Если до сего момента еще можно было говорить о каком-то сходстве архитектур Windows NT и даже Unix (в чем-то бесконечно далекой, а в чем-то весьма схожей с VMS ОС), то с релизом NT 4.0, который ввел графическую подсистему в ядро, исчез последний повод для подобных рассуждений. По идее, такое решение было абсолютно логичным выводом из печального опыта попытки интеграции в NT популярной оконной среды Windows 95. Вероятно, идея повторения архитектурной модели X Window — Unix — возникла именно из-за первоначальной "серверной ориентации" NT. Однако если собственно с "пересадкой" графической оболочки проблем не возникло, то ее быстродействие в пользовательском режиме (т. е. в виде обычного приложения) оставляло желать лучшего, что абсолютно закономерно — поддерживающая абстрагированное устройство вывода (будь то растровый дисплей, принтер или вообще что угодно) графическая подсистема Windows несоизмеримо сложнее и, соответственно, требовательнее к ресурсам, чем X Window, "понимающая" исключительно растровые дисплеи. Так, в составе ядра Windows NT 4.0, выпущенной в июле 1996 г., появился еще один модуль. Ревизия получила название Shell Update Release (SUR).

Следующим этапом стала Windows NT 5.0, выпущенная на рынке в 2000 г. под названием Windows 2000. Смена "титулов" произошла под влиянием маркетологов и оказалась, в целом, правильным решением, позволившим репозиционировать эту операционную систему. Работа продолжается и по сей день, чему свидетельство выход Windows Server 2003.

Битва за Windows Проектирование и реализация Windows Server подчинены Марку Луковски (Mark Lucovsky), одному из сторонников подразделения серверных ОС корпорации. Он руководит армией из 5 тыс. разработчиков, причисленных к семи лабораториям. Еще 5 тыс. программистов трудятся на своих рабочих местах в компаниях-партнерах, привнося ежедневно свою лепту в 50 млн. строк итогового кода ОС Windows Server 2003.

Каждый день выполняются полная компиляция и сборка системы для проверки на работоспособность и выявления ошибок. Списки обнаруженных ошибок рассылаются командам разработчиков. Сделанные исправления должны быть заявлены на электронной доске объявлений, что ставит их в очередь на внесение в основную сборку. Серверная ферма, занимающаяся компиляцией системы, постоянно модернизируется, тем не менее, как и много лет назад, полная сборка отнимает 12 ч машинного времени. И это несмотря на разделение колоссального массива кодов на отдельные независимые группы исходных текстов, организованные в древовидные иерархии.

Квинтэссенция процесса разработки — часовые совещания в так называемой "боевой комнате" (War Room), проводимые два или три раза ежедневно (в 9.30, 14.00 и 17.00). Им предшествуют аналогичные мероприятия в локальных "боевых комнатах" рабочих групп в 8.00. На главном совещании обсуждаются исправления обнаруженных ранее ошибок и определяется общее состояние проекта. В последние дни здесь, в основном, искали пути решения важной проблемы — переименования Windows.NET Server 2003 на Windows Server 2003. Тысячи имен в различных модулях, и это — в последний момент перед выпуском системы, что вызвало серьезную головную боль у разработчиков.

На совещании каждая команда должна отчитаться о ходе своей работы, о процессе исправления обнаруженных ошибок и возможных последствиях внесения или невнесения этих поправок. Если проблему не удается решить или ее посчитают недостаточно важной, баг, согласно оригинальной терминологии, "отфутболивается" в финальный релиз. Пропуск утреннего сбора приравнивается к дезертирству.

Сборка начинается каждый день в 16.30 и может быть отложена до 18.00, чтобы после третьего совещания в "боевой комнате" удалось включить в систему последние исправления. Команда не может прийти на совещание без готового решения существующих проблем, иначе им лучше вообще не появляться там. Каждая из семи лабораторий имеет полную копию исходных текстов системы, в которые они вносят свои поправки, компилируют и проверяют на работоспособность. Если все прошло гладко — новый код объединяется с кодом, созданным другими группами в главную сборку. Проблема может заключаться во взаимодействии нового кода, написанного различными группами. Не всегда главная сборка проходит удачно, иногда система оказывается нежизнеспособной. В таком случае, как только обнаруживается модуль-виновник (обычно около трех-четырех утра), писавшие его срочно вызываются на рабочее место и не покидают его вплоть до исправления ошибки. Поэтому программисты должны быть 24 ч в сутки 6 дней в неделю готовы к труду (шестидневка вводится по мере приближения даты выпуска продукта).

Основной принцип, на котором построены финальные стадии тестирования, — использование собственных продуктов в проектном процессе. Как только система достигает "первого уровня" стабильности, она становится основной ОС в рабочих группах. "Второй уровень" считается достигнутым, когда ОС приобретает способность функционировать. Только после этого допускается ее использование в кампусе Microsoft. Так было с файловым сервером под NT, первым использованием его стало хранение исходных текстов Windows NT, так поступили и с первой, и со всеми последующими версиями Active Directory.

Затем продукт передается на тестирование избранным партнерам по программе JDP (Joint Development Partners). Если обнаруживаются ошибки, принимается "волевое решение": оставить их в системе и сохранить дату старта продаж или перенести дату выпуска и заняться доработками. В последнем случае все результаты аннулируются, и тестирование начинается с нуля.

Гораздо сложнее осуществлять послепродажную поддержку. При выявлении недоработок, "дыр" в безопасности или необходимости добавления новых функций в продукт приходится формировать или локальный патч, или полноценный Service Pack. Поскольку до этого патча или Service Pack уже существовали другие, новый код тестируется на множестве вариантов системы, перебирая все возможные комбинации патчей и Service Pack’ов. Вдобавок, для осуществления полноценной проверки работоспособности корпорация поддерживает отдельные фрагменты своей сети, функционирующие на старых версиях продуктов (например, Windows Server 2000), где можно "обкатать" систему в "полевых условиях".

Как VMS превратилась в WNT

Некоторые остряки в свое время шутили, что если выполнить операцию инкремента (увеличения на единицу) каждой буквы названия катлеровской операционной системы VMS, то получится WNT или Windows NT. Как утверждают профессионалы, это чистая правда. Не предвзятое мнение, базирующееся на факте, что основные архитекторы NT являлись в свое время разработчиками VMS, а объективная реальность.

По сути, NT — воплощение радикально переработанных, реализованных на языке C для достижения лучшей мобильности, архитектурных идей ассемблерного ядра VMS, дополненных соответствующими интерфейсными API и новыми файловой и графической подсистемами. Общность архитектурных решений двух систем весьма велика. Так, у них одинаковые понятия процессов, приоритеты (32-х уровней), управление изменением приоритетов и контроль распределения процессорного времени между ними. Но несмотря на значительное сходство, несомненно, обусловленное предыдущим опытом команды главного архитектора — Катлера, NT изначально создавалась как ориентированная на многопоточную обработку ОС, — одно это "небольшое" отличие позволяет понять степень отдаления NT от "базовой" архитектуры VMS.

Драйверы в обеих ОС работают в рамках стековой модели, каждый слой которой изолирован от других, что позволяет организовывать многоступенчатую схему управления устройствами. Системы допускают своппирование как пользовательских процессов, так и системных, включая драйверы. Похожи и способы представления ресурсов, обе системы рассматривают их как объекты и распоряжаются ими с помощью Object Manager. Безопасность NT, как и положенные в ее основу Discretionary Access Control Lists или DACL, ведет свою родословную от VMS 4.0.

В 1993 г. инженеры Digital, просмотрев спецификации Windows NT, обнаружили ее разительное сходство с экспериментальной ОС Mica, создававшейся в рамках проекта Prism. Откуда такое внимание к продукции Редмонда? Не от хорошей жизни принялись изучать внутренности чужой системы сотрудники Digital. В 1992 г. корпорация попала в затяжное пике, деньги утекали сквозь пальцы, а продажи нового процессора Alpha буксовали. Теперь в поисках спасения боссы компании попытались обратиться за помощью к своему злейшему конкуренту Intel, на что ее президент, Эндрю Гроув (Andrew Grove), ответил отказом. В конце концов пришлось идти на поклон к "Гейтсу Третьему" и просить порт Windows NT под Alpha в обмен на обещание сделать NT, в ущерб VMS, своей основной операционной системой. Однако получив предварительную версию NT, инженеры Digital постепенно поняли, что эта ОС требует существенно больше ОЗУ, чем будет содержать их типичный "пятитысячедолларовый Alpha-ПК". Для массового рынка RISC-станций NT явно не годилась, попытка встать под флаги Microsoft для Digital (как, впрочем, и для большинства других компаний) обернулась потерей времени и денег.

Игра в "найди 10 отличий" между WNT и VMS принесла Digital немалые дивиденды. По одной из версий, опубликованной в те времена в Business Week, вместо того чтобы открыто подать в суд, президент Digital, имея на руках неопровержимые доказательства нарушения прав интеллектуальной собственности, решил получить больше, затратив меньше. Он обратился в Microsoft за разъяснениями, что вылилось в подписание масштабного контракта, по которому Digital становилась основным сетевым интегратором NT. Кроме того, в октябре того же года Редмонд отказался от поддержки в Windows NT обоих конкурирующих с Alpha процессоров: PowerPC и MIPS. К сожалению для руководства Digital, альянс вскоре был разрушен, и статус "NT network installation services for Microsoft" перешел к Hewlett-Packard, которой, впрочем, несколькими годами позже достался и другой тяжкий груз корпорации — ОС VMS.

Несмотря на то что пути NT и VMS разошлись, эти операционные системы продолжили серию своеобразных заимствований. В частности, Windows NT получила поддержку кластеров только в 1997 г., в то время как в VMS она была с 1984 г., еще позже появилась 64-разрядная версия Windows (VMS мигрировала на большую разрядность еще в 1996 г.). С другой стороны, в VMS 7.0 в 1995 г. анонсировали потоки на уровне ядра, а частью VMS 7.2 стали Registry-подобная база данных и глобальный журнал событий, аналогичный соответствующим средствам NT. В свет выходит Windows Server 2003, посмотрим, что будет дальше…

История разработки

Разработка Windows NT под рабочим названием «NT OS/2 » была начата в ноябре 1988 года группой специалистов во главе с Дэвидом Катлером (англ. Dave Cutler ), который перешёл в Microsoft из DEC , где они разрабатывали VAX и VMS . Работа шла параллельно с разработкой фирмой IBM собственной ОС, OS/2 2.0 , которая окончательно вышла только в апреле 1992 года . Одновременно с этим фирма Microsoft продолжала разрабатывать свои ОС семейства DOS и Windows , отличающиеся меньшими требованиями к ресурсам компьютера, чем IBM OS/2. После того, как в мае 1990 года была выпущена Windows 3.0 , Microsoft решила добавить в NT OS/2 программный интерфейс (API), совместимый с Windows API . Это решение вызвало серьёзные трения между фирмами Майкрософт и IBM, которые закончились разрывом совместной работы. IBM продолжила разработку OS/2 самостоятельно, а Майкрософт стала работать над системой, которая была в результате выпущена под названием Windows NT. Хотя эта система не сразу стала популярной, подобно DOS, Windows 3.x или Windows 9.x, с точки зрения маркетинга Windows NT оказалась существенно более удачной, чем OS/2.

Нужно отметить, что в качестве программных интерфейсов ОС NT изначально планировались API OS/2 и затем POSIX , поддержка Windows API была добавлена в последнюю очередь. Кроме того, в качестве аппаратной платформы для NT изначально планировались Intel i860 и затем MIPS , поддержка Intel x86 также была добавлена позднее. Затем, в процессе эволюции этой ОС исчезла поддержка обоих изначально запланированных программных интерфейсов и обеих изначально запланированных аппаратных платформ. Для i860 даже не было ни одной релизной версии этой ОС, хотя именно от кодового названия этого процессора, N10 (N Ten), происходит название самой ОС NT. Ныне Microsoft расшифровывает аббревиатуру NT как New Technology . А в качестве альтернативы POSIX-подсистеме Microsoft стала предлагать пакет Сервисы Microsoft Windows для UNIX .

Для разработки ОС NT фирма Microsoft пригласила группу специалистов из компании DEC во главе с Дэвидом Катлером (англ. ), обладающую опытом создания многозадачных операционных систем, таких как VAX/VMS и RSX-11 . Некоторое сходство, отмеченное между внутренними архитектурами Windows NT и ОС семейства VMS, дало основания обвинить вновь принятых сотрудников Microsoft в краже интеллектуальной собственности DEC. Возникший конфликт был разрешён мирным путём: DEC признала собственность Microsoft на технологии, лежащие в основе Windows NT, а Microsoft создавала и поддерживала версию Windows NT для архитектуры DEC Alpha.

Несмотря на общие корни, совместимость Windows NT и OS/2 уменьшалась с каждым новым выпуском этой ОС. Поддержка API OS/2 2.0, хотя планировалась в NT, так и не была завершена; в Windows NT 4.0 была удалена поддержка файловой системы HPFS , а в Windows XP была удалена подсистема поддержки программ для OS/2 1.x.

Версии

Название (кодовое название ), варианты номер версии первый выпуск последний выпуск /
Windows NT 3.1 3.1.528 27 июля SP3 (10 ноября )
Workstation, Advanced Server
Windows NT 3.5 (Daytona ) 3.5.807 21 сентября SP3 (21 июня )
Workstation, Server
Windows NT 3.51 (Tukwila ) 3.51.1057 30 мая SP5 (19 сентября )
Workstation, Server
Windows NT 4.0 (Indy ) 4.0.1381 29 июля SP6a (30 ноября )
Workstation, Server, Server Enterprise (Granite ), Terminal Server (Hydra ), Embedded (Impala )
Windows 2000 (Cairo ) 5.0.2195 17 февраля SP4 (26 июня )
Professional, Server, Advanced Server, Datacenter Server
Windows XP (Whistler ) 5.1.2600 25 октября SP3 (6 мая )
Home, Professional, 64-bit, Media Center (eHome ), Tablet PC, Starter, Embedded (Mantis ), N; Windows Fundamentals for Legacy PCs (Eiger )
Windows Server 2003 (Whistler Server , Windows .NET Server ) 5.2.3790 24 апреля SP2 (13 мая )
Standard, Enterprise, Datacenter, Web, Small Business Server (Bobcat ), Compute Cluster Server, Storage Server; Windows XP Professional x64
Windows Vista (Longhorn ) 6.0.6000 30 января SP2 (25 мая )
Starter, Home Basic, Home Premium, Business, Enterprise, Ultimate, N Home Basic, N Business; x64-варианты всех, кроме Starter
Windows Server 2008 (Longhorn Server ) 6.0.6001 27 февраля SP2 (27 мая )
Standard, Enterprise, Datacenter, HPC, Web, Storage, Small Business (Cougar ), Essential Business (Centro ), Itanium; x64-варианты всех, кроме HPC
Windows 7 (Blackcomb , Vienna ) 6.1.7600 22 октября SP1 (KB976932) (22 февраля )
Начальная, Домашняя базовая, Домашняя расширенная, Профессиональная, Корпоративная, Максимальная, Windows 7 N, Windows 7 E; x64-варианты всех, кроме Начальной
Windows Server 2008 R2 6.1.7600 22 октября SP1 (KB976932) (22 февраля )
Standard, Enterprise, Datacenter, HPC, Web, Storage, Small Business , Itanium; все версии - только 64-разрядные
Windows 8 6.2.9200 26 октября Pro (26 октября )
Windows 8, Windows 8 RT, Профессиональная, Профессиональная N, Профессиональная WMC, Корпоративная, Корпоративная N; x64-варианты всех, кроме Windows RT
Windows Server 2012 6.2.9200 26 октября RTM (1 августа )
Standard, Datacenter, Storage; все версии - только 64-разрядные

Внутренняя архитектура

Компоненты ядра

Компоненты пользовательского режима

Подсистема пользовательского интерфейса в Windows NT реализует оконный интерфейс , подобный интерфейсу предыдущих версий Windows. Двумя типами объектов этой подсистемы, отсутствовавшими в 16-битных версиях Windows и в Windows 9x, являются оконные станции и рабочие столы . Оконная станция соответствует одному сеансу пользователя Windows NT - например, при подключении через службу удалённого рабочего стола создаётся новая оконная станция. Каждый запущенный процесс принадлежит одной из оконных станций; службы, кроме помеченных как способные взаимодействовать с рабочим столом, запускаются в отдельных, невидимых оконных станциях.

Каждая оконная станция имеет собственный буфер обмена , набор глобальных атомов (используемых для операций DDE), и набор рабочих столов . Рабочий стол является контекстом всех глобальных операций подсистемы пользовательского интерфейса, таких как установка хуков и широковещательная рассылка сообщений. Каждый запущенный поток принадлежит к одному из рабочих столов - тому, где расположены обслуживаемые им окна; в частности, один поток не может создать несколько окон, принадлежащих к различным рабочим столам. Один из рабочих столов может быть активным (видимым пользователю и способным реагировать на его действия), остальные рабочие столы спрятаны. Возможность создать для одного сеанса работы несколько рабочих столов и переключаться между ними до настоящего времени не предоставлялась стандартными средствами пользовательского интерфейса Windows, хотя существуют сторонние программы, дающие доступ к этой функциональности.

Оконными станциями и рабочими столами исчерпываются объекты подсистемы пользовательского интерфейса Windows NT, которым могут быть назначены права доступа. Оставшиеся типы объектов - окна и меню - предоставляют полный доступ любому процессу, который находится с ними в одной оконной станции. Поэтому службы Windows NT по умолчанию запускаются в отдельных оконных станциях: они работают с повышенными привилегиями, и возможность процессов пользователя неограниченно манипулировать окнами служб могла бы привести к сбоям и/или проблемам безопасности.

Программные интерфейсы

Native API

Для прикладных программ системой Windows NT предоставляется несколько наборов API. Основной из них - так называемый «родной» API (NT Native API ), реализованный в динамически подключаемой библиотеке ntdll.dll и состоящий из двух частей: системные вызовы ядра NT (функции с префиксами Nt и Zw , передающие выполнение функциям ядра ntoskrnl.exe с теми же названиями) и функции, реализованные в пользовательском режиме (с префиксом Rtl). Часть функций второй группы используют внутри себя системные вызовы; остальные целиком состоят из непривилегированного кода, и могут вызываться не только из кода пользовательского режима, но и из драйверов . Кроме функций Native API, в ntdll также включены функции стандартной библиотеки языка Си .

Официальная документация на Native API весьма скудна, но сообществам энтузиастов удалось методом проб и ошибок собрать достаточно обширные сведения об этом интерфейсе. В частности, в феврале 2000 года опубликована книга Гэри Неббета «Справочник по базовым функциям API Windows NT/2000 » (ISBN 1-57870-199-6); в 2002 году она была переведена на русский язык (ISBN 5-8459-0238-X). Источником информации о Native API может служить Windows DDK , где описаны некоторые функции ядра, доступные посредством Native API, а также изучение кода Windows (обратный инжиниринг) - посредством дизассемблирования , либо используя исходные тексты Windows 2000, ставшие доступными в результате утечки, либо используя исходные тексты Windows 2003 , доступные в рамках программы Windows Research Kernel.

Программы, выполняющиеся до загрузки подсистем, обеспечивающих работу остальных API ОС Windows NT, ограничены использованием Native API . Например, программа autochk , проверяющая диски при загрузке ОС после некорректного завершения работы, использует только Native API.

Win32 API

Чаще всего прикладными программами для Windows NT используется Win32 API - интерфейс, созданный на основе API ОС Windows 3.1 , и позволяющий перекомпилировать существующие программы для 16-битных версий Windows с минимальными изменениями исходного кода. Совместимость Win32 API и 16-битного Windows API настолько велика, что 32-битные и 16-битные приложения могут свободно обмениваться сообщениями, работать с окнами друг друга и т. д. Кроме поддержки функций существовавшего Windows API, в Win32 API был также добавлен ряд новых возможностей, в том числе поддержка консольных программ , многопоточности , и объектов синхронизации, таких как мьютексы и семафоры . Документация на Win32 API входит в состав Microsoft Platform SDK и доступна на веб-сайте .

Библиотеки поддержки Win32 API в основном названы так же, как системные библиотеки Windows 3.x , с добавлением суффикса 32: это библиотеки kernel32 , advapi32 , gdi32 , user32 , comctl32 , comdlg32 , shell32 и ряд других. Функции Win32 API могут либо самостоятельно реализовывать требуемую функциональность в пользовательском режиме, либо вызывать описанные выше функции Native API, либо обращаться к подсистеме csrss посредством механизма LPC (англ. ), либо осуществлять системный вызов в библиотеку win32k , реализующую необходимую для Win32 API поддержку в режиме ядра. Четыре перечисленных варианта могут также комбинироваться в любом сочетании: например, функция Win32 API WriteFile обращается к функции Native API NtWriteFile для записи в дисковый файл, и вызывает соответствующую функцию csrss для вывода в консоль .

Поддержка Win32 API включена в семейство ОС Windows 9x ; кроме того, она может быть добавлена в Windows 3.1x установкой пакета Win32s . Для облегчения переноса существующих Windows-приложений, использующих для представления строк MBCS-кодировки, все функции Win32 API, принимающие параметрами строки, были созданы в двух версиях: функции с суффиксом A (ANSI ) принимают MBCS-строки, а функции с суффиксом W (wide ) принимают строки в кодировке UTF-16 . В Win32s и Windows 9x поддерживаются только A-функции, тогда как в Windows NT, где все строки внутри ОС хранятся исключительно в UTF-16, каждая A-функция просто преобразует свои строковые параметры в Юникод и вызывает W-версию той же функции. В поставляемых H-файлах библиотеки также определены имена функций без суффикса, и использование A- либо W-версии функций определяется опциями компиляции , а в модулях Delphi до 2010 версии, например, они жёстко завязаны на варианты с суффиксом A. При этом важно отметить, что большинство новых функций, появившихся в Windows 2000 или более поздних ОС семейства Windows NT, существуют только в Unicode-версии, потому что задача обеспечения совместимости со старыми программами и с ОС Windows 9x уже не стоит так остро, как раньше.

POSIX и OS/2

Первый выпуск Windows NT 4 поддерживал четыре платформы (x86, Alpha, MIPS и PowerPC), но поддержка менее распространённых платформ сокращалась по мере выхода пакетов обновления : из SP1 была удалена поддержка MIPS, из SP3 - поддержка PowerPC. Последними выпусками Windows NT 4 поддерживались только x86 и Alpha; хотя поддержка Alpha планировалась к включению в Windows 2000, она была исключена из версии RC2. В результате единственной платформой, поддерживаемой на Windows 2000, стала x86.

Поддержка 64-битных процессоров была впервые реализована в Windows XP для IA-64 - архитектуры процессоров Intel Itanium . На основе 64-битной версии Windows XP были созданы также 64-битные серверные версии Windows 2000; позже поддержка процессора Itanium была добавлена и в часть версий Windows Server 2003 . Второй 64-битной архитектурой, поддерживаемой в ОС семейства Windows NT, стала созданная AMD архитектура x86-64 , позже реализованная в процессорах Intel под названием EM64T . Одновременно были выпущены Windows Server 2003 SP1 x64 и Windows XP Professional x64, представляющие собой серверный и настольный варианты одной и той же версии Windows - в частности, к этим выпускам применимы одни и те же обновления. С 2005 года корпорацией Майкрософт было принято решение прекратить поддержку IA-64.; последней версией ОС Windows NT, полноценно поддерживающей Itanium , является Windows NT 5.2 (XP Professional 64-bit Edition и Server 2003). Однако для более дорогих (и, соответственно, труднее модернизируемых) серверов были выпущены специальные версии Windows Server 2008 и Windows Server 2008 R2 , а Windows Server 2012 поддержки IA-64 уже не получила.

Примечания

См. также

  • ReactOS - операционная система с открытым кодом, совместимая с приложениями и драйверами Windows NT.

В конце 88-го года Microsoft поручила Дэвиду Катлеру (David Cutler) возглавить новый проект в области программного обеспечения: создать новую операционную систему корпорации Microsoft для 1990-х годов. Он собрал команду инженеров для разработки системы новой технологии (New Technology - NT).

Первоначально планировалось разработать NT с пользовательским и программным (API) интерфейсами в стиле OS/2, однако OS/2 плохо продавалась, а Windows 3.0 имела большой и постоянный успех на рынке. Увидев рыночные ориентиры и сложности, связанные с развитием и поддержкой двух несовместимых систем, Microsoft решила изменить свой курс и направить своих инженеров в сторону стратегии единой цельной операционной системы. Эта стратегия состяла в том, чтобы разрабатывать семейство базирующихся на Windows операционных систем, которые охватывали бы множество типов компьютеров, от самых маленьких ноутбуков до самых больших мультипроцессорных рабочих станций. Так, следующее поколение Windows-систем было названо Windows NT.

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

В июле 1993 года появились первые операционные системы семейства NT - Windows NT 3.1 и Windows NT Advanced Server 3.1.

Версии

  • Windows NT 3.1 (27 июля 1993 г.)
  • Windows NT 3.5 (21 сентября 1994 г.)
  • Windows NT 3.51 (30 мая 1995 г.)
  • Windows NT 4.0 (24 августа 1996 г.)
  • Windows 2000 (17 февраля 2000 г.)
  • Windows XP (25 октября 2001 г.)
  • Windows XP 64-bit Edition (28 марта 2003 г.)
  • Windows Server 2003 (25 апреля 2003 г.)
  • Windows XP Media Center Edition 2003 (18 декабря 2003 г.)
  • Windows XP Media Center Edition 2005 (12 октября 2004 г.)
  • Windows XP Professional x64 Edition (25 апреля 2005 г.)
  • Windows Fundamentals for Legacy PCs (8 июля 2006 г.)
  • Windows Vista (30 ноября 2006 г.)
  • Windows Home Server (7 ноября 2007г.)
  • Windows Server 2008 (27 февраля 2008 г.)

Структура Windows NT

Структурно Windows NT может быть представлена в виде двух частей: часть операционной системы, работающая в режиме пользователя, и часть операционной системы, работающая в режиме ядра

Часть Windows NT, работающая в режиме ядра, называется исполнительной частью (executive). Она включает ряд компонентов, которые управляют виртуальной памятью, объектами (ресурсами), вводом-выводом и файловой системой (включая сетевые драйверы), взаимодействием процессов и частично системой безопасности. Эти компоненты взаимодействуют между собой с помощью межмодульной связи. Каждый компонент вызывает другие с помощью набора тщательно специфицированных внутренних процедур.

Вторую часть Windows NT, работающую в режиме пользователя, составляют серверы - так называемые защищенные подсистемы. Так как подсистемы автоматически не могут совместно использовать память, они общаются друг с другом посредством посылки сообщений. Сообщения могут передаваться как между клиентом и сервером, так и между двумя серверами. Все сообщения проходят через исполнительную часть Windows NT. Ядро Windows NT планирует нити защищенных подсистем точно так же, как и нити обычных прикладных процессов.

Поддержку защищенных подсистем обеспечивает исполнительная часть. Ее составными частями являются:

  • Менеджер объектов. Создает, удаляет и управляет объектами исполнительной части - абстрактными типами данных, используемых для представления ресурсов системы.
  • Монитор безопасности. Устанавливает правила защиты на локальном компьютере. Охраняет ресурсы операционной системы, выполняет защиту и регистрацию исполняемых объектов.
  • Менеджер процессов. Создает и завершает, приостанавливает и возобновляет процессы и нити, а также хранит о них информацию.

Менеджер виртуальной памяти.

  • Подсистема ввода-вывода. Включает в себя следующие компоненты:
    • менеджер ввода-вывода, предоставляющий средства ввода-вывода, независимые от устройств;
    • файловые системы - NT-драйверы, выполняющие файл-ориентированные запросы на ввод-вывод и транслирующие их в вызовы обычных устройств;
    • сетевой редиректор и сетевой сервер - драйверы файловых систем, передающие удаленные запросы на ввод-вывод на машины сети и получающие запросы от них;
    • драйверы устройств исполнительной части - низкоуровневые драйверы, которые непосредственно управляют устройством;
    • менеджер кэша, реализующий кэширование диска.

Исполнительная часть, в свою очередь, основывается на службах нижнего уровня, предоставляемых ядром NT. В функции ядра входит:

  • планирование процессов,
  • обработка прерываний и исключительных ситуаций,
  • синхронизация процессоров для многопроцессорных систем,
  • восстановление системы после сбоев.

Ядро работает в привилегированном режиме и никогда не удаляется из памяти. Обратиться к ядру можно только посредством прерывания.

Защищенные подсистемы Windows NT работают в пользовательском режиме и создаются Windows NT во время загрузки операционной системы. Сразу после создания они начинают бесконечный цикл своего выполнения, отвечая на сообщения, поступающие к ним от прикладных процессов и других подсистем. Среди защищенных подсистем можно выделить подкласс, называемый подсистемами окружения. Подсистемы окружения реализуют интерфейсы приложений операционной системы (API). Другие типы подсистем, называемые интегральными подсистемами, исполняют необходимые операционной системе задачи. Например, большая часть системы безопасности Windows NT реализована в виде интегральной подсистемы, сетевые серверы также выполнены как интегральные подсистемы.

Наиболее важной подсистемой окружения является Win32 - подсистема, которая обеспечивает доступ для приложений к 32-bit Windows API. Дополнительно эта система обеспечивает графический интерфейс и управляет вводом/выводом данных пользователя.

Каждая защищенная подсистема работает в режиме пользователя, вызывая системный сервис исполнительной части для выполнения привилегированных действий в режиме ядра. Сетевые серверы могут выполняться как в режиме пользователя, так и в режиме ядра, в зависимости от того, как они разработаны.

Подсистемы связываются между собой путем передачи сообщений. Когда, например, пользовательское приложение вызывает какую-нибудь API-процедуру, подсистема окружения, обеспечивающая эту процедуру, получает сообщение и выполняет ее либо обращаясь к ядру, либо посылая сообщение другой подсистеме. После завершения процедуры подсистема окружения посылает приложению сообщение, содержащее возвращаемое значение. Посылка сообщений и другая деятельность защищенных подсистем невидима для пользователя.

Основным средством, скрепляющим все подсистемы Windows NT в единое целое, является механизм вызова локальных процедур (Local Procedure Call - LPC). LPC представляет собой оптимизированный вариант более общего средства - удаленного вызова процедур (RPC), которое используется для связи клиентов и серверов, расположенных на разных машинах сети.



gastroguru © 2017