WNT: правдивая история Windows NT. 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), которое используется для связи клиентов и серверов, расположенных на разных машинах сети.

Всем привет Скажу сразу, что Windows NT это не совсем программа, это семейство виндовс от Microsoft. Под названием Windows NT скрывается понятие операционных систем от Майкрософт, не какой-то конкретной, а всех систем. Виндовс сегодня оч популярная операционка и популярнее ее нет. Мое мнение что популярность обусловлена в первую очередь тем что достойной альтернативы нет и уже не будет — глупо сейчас соревноваться с гигантом Майкрософт.

Но тем не менее все верно — у вас реально может быть что-то, что будет иметь название Windows NT, ибо данное название фигурирует много где. Точных примеров я не приведу, не помню, но встретить у себя в винде вы можете эту надпись спокойно.

Если перед вами стал вопрос удалять ПО Windows NT или нет то я отвечу так — лучше не удалять. Ибо могут быть потом проблемы. Логично если подумать, то становится ясно, что все где написано Windows NT, то деинсталлировать это стоит только тогда, когда вы в этом точно уверены.

Windows NT была разработана в 1990-х годах, после того как Майкрософт перестала работать с фирмой IBM (эх, крутые ноутбуки они делали), вместе эти компании разрабатывали OS/2, это тоже была операционка, непонятная мне до сих пор, но неважно. Короче тогда и начали пилить винду и сами знаете что из этого получилось — мега крутецкая винда, монополия одна, всем не нравится, но все пользуются

Да, есть еще Линукс, но увы, он для узкого круга юзеров — совсем не для тех кому нужно просто и красиво и чтобы несложно. Мне лично винда нравится, хотя многим она чем-то не угодила, особенно Windows 10, но я ничего в ней кривого не вижу..

Древняя винда, когда-то давно это было шедевром и пределом мечтания:


А вот сравните, это уже семерка, ну то есть Windows 7, многие до сих пор на ней сидят и слазить не собираются:


Я был долгим поклонником Windows XP, даже оч долгим, сидел пока сиделося — вышла уже Windows 7, а я тусовался на XP… И вот я купил новое железо, это был 1150 сокет, все новое, но мне удалось туда поставить Windows XP и я еще сидел годика два. Дальше вышла Windows 10, и я перешел со временем на нее. Комп работает неделями и все норм, нет глюков и синих экранов, ошибок нет. Все работает как часы. Правда в XP этого тоже почти не было. Так что мне винда как-то всем нравится..

Я написал списочек где именно вы можете заметить такое как Windows NT:

  1. описания каких-то системных файлов;
  2. настройки винды, системные настройки, там везде может встречаться Windows NT;
  3. в справочных материалах к программе или даже в инструкциях к какому-то оборудованию;
  4. вряд ли но возможно что под Windows NT будет косить какой-то вирус;
  5. в системных папках, например в C:\Windows есть куча барахла всякого, в описании которого встречается Windows NT;

Совсем забыл написать, я сам точно сказать не могу, но вроде бы есть и сама операционка под названием Windows NT, вот ее загрузочный экран.

Корни

Началось все в 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, посмотрим, что будет дальше…

В конце 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), которое используется для связи клиентов и серверов, расположенных на разных машинах сети.

Операционная система Windows NT или New Technology была создана группой разработчиков под руководством Дэйва Катлера.

Windows NT является 32-разрядной операционной системой с приоритетной многозадачностью. В качестве фундаментальных ком­понент в состав операционной системы входят средства обеспече­ния безопасности и развитый сетевой сервис. Windows NT также обеспечивает совместимость со многими другими операционными и файловыми системами, а также с сетями. Windows NT способна функционировать как на компьютерах, оснащенных CISC - про­цессорами со сложной системой команд (complex instruction set computing), так и на компьютерах с RISC - процессорами, имею­щими сокращенный набор инструкций (reduced instruction set com­puting). Операционная система Windows NT также поддерживает высокопроизводительные системы с мультипроцессорной конфигу­рацией.

Знакомым в Windows NT является только внешний облик. За графическим пользовательским интерфейсом скрываются новые мощные возможности.

Задачи, поставленные при создании Windows NT. Систе­ма Windows NT не является дальнейшим развитием ранее существо­вавших продуктов. Ее архитектура создавалась заново с учетом предъявляемых к современной операционной системе требований. Особенности системы, разработанной на основе этих требований, следующие.

Стремясь обеспечить совместимость новой операционной сис­темы, разработчики Windows NT сохранили привычный интерфейс Windows и реализовали поддержку существующих файловых систем (таких, как FAT) и различных приложений (написанных для MS-DOS, OS/2 1.x, Windows 3.x и POSIX). Разработчики также включи­ли в состав Windows NT средства работы с различными сетевыми средствами.

Достигнута переносимость (portability) системы, которая может теперь работать как на CISC, так и на RISC-процессорах. К CISC относятся Intel-совместимые процессоры 80386 и выше. RISC пред­ставлены системами с процессорами MIPS R4000, Digital Alpha AXP и Pentium серии Р54 и выше.

Масштабируемость (scalability) означает, что Windows NT не привязана к однопроцессорной архитектуре компьютеров, а способ­на полностью использовать возможности, предоставляемые симмет­ричными мультипроцессорными системами. В настоящее время Windows NT может функционировать на компьютерах с числом процессоров от 1 до 32. Кроме того, в случае усложнения стоящих перед пользователями задач и расширения предъявляемых к компь­ютерной среде требований, Windows NT позволяет легко добавлять более мощные и производительные серверы и рабочие станции " корпоративной сети.

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


Windows NT имеет однородную систему безопасности (security), удовлетворяющую спецификациям правительства США и соответст­вующую стандарту безопасности В2. В корпоративной среде крити­ческим приложениям обеспечивается полностью изолированное окружение.

Распределенная обработка (distributed processing) означает, что Windows NT имеет встроенные в систему сетевые возможности. Windows NT также позволяет обеспечить связь с различными типа­ми хост-компьютеров благодаря поддержке разнообразных транс­портных протоколов и использованию средств «клиент-сервер» вы­сокого уровня, включая именованные каналы, вызовы удаленных Процедур (RPC - remote procedure call) и Windows-сокеты.

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

Возможности локализации (allocation) представляют средства для роботы во многих странах мира на национальных языках, что достигается применением стандарта Unicod (разработан международной организацией по стандартизации - ISO).

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

В пакет входит ряд прикладных программ: Internet Information Server 2.0, Index Server, FrontPage, Internet Explorer, Domain Name System (DNS) Server, Proxy Server и Internet Resource Center, все пакеты Service Pack, Plus! и ряд дополнительных утилит, среди кото­рых имеются как новые, например Administrative Wizards или Imager, так и усовершенствованные версии старых программ, например Task Manager.

Administrative Wizard позволяет автоматизировать типичные задачи, возникающие при управлении сетью, а обновленные версии программ Windows NT Diagnostic, Perfomance Monitor служат для оперативного контроля за состоянием системы. Диалоговое окно Task Manager трансформировалось в мощную программу, которая предоставляет массу полезной информации - от степени загружен­ности процессора до имен всех активных системных процессоров.

Один из ключевых компонентов Windows NT 4.0 - Internet In­formation Server 2.0. Это гибкое и многофункциональное решение как для подключения к сети Internet, так и для создания собствен­ной частной сети intranet. От пользователя требуется только настро­ить параметры протокола TCP/IP (при установленном сервисе DHCP IP-адрес присваивается автоматически), запустить IIS и со­здать одну или несколько собственных Web-страниц. После этого Web-документы доступны для всех пользователей вашей сети, у ко­торых установлено ПО, обеспечивающее функционирование прото­кола TCP/IP и стандартный браузер World-Wide Web.

Появились некоторые изменения в подсистеме дистанционного доступа, Remote Access Service (RAS). Теперь имеется возможность использовать защищенные каналы связи, новый протокол Point-To-Point Tunneling Protocol (PPTP), возможность использовать несколь­ко модемов для организации каналов связи с удаленными сетями.

Особенности сетевой архитектуры прежних версий Windows NT (многоуровневая модель защиты от несанкционированного доступа, специфика модульного построения системы и пр.) ограничивали ее пропускную способность при работе в сетях Fast Internet. В версии 4.0 были улучшены алгоритмы кэширования сетевых запросов, оп­тимизированы модули подсистемы разделения ресурсов, изменен механизм генерации прерываний (при переходе к высокоскорост­ным сетям эта функция неожиданно стала источником проблем для сетевых ОС). Второе изменение, на которое указывает Microsoft, - увеличенная производительность ОС при выполнении графических операций.

Сочетание мощной сетевой ОС и графического интерфейса, со­зданного для неквалифицированных пользователей, выглядит до­вольно непривычно. Windows NT 4.0 - это не просто очередная версия популярной операционной системы. Она представляет собой основу для нового поколения программных продуктов, ориентиро­ванных на работу в сети Internet.

Архитектурные модули Windows NT. Как показано, Windows NT представляет собой модульную (более совер­шенную, чем монолитная) операционную систему, которая состоит из отдельных взаимосвязанных относительно простых модулей.

Основными модулями Windows NT являются (перечислены в по­рядке следования от нижнего уровня архитектуры к верхнему): уро­вень аппаратных абстракций HAL (Hardware Abstraction Layer), ядро (Kernel), исполняющая система (Executive), защищенные подсистемы (protected subsystems) и подсистемы среды (environment subsystems).

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

Ядро является основой модульного строения системы и коорди­нирует выполнение большинства базовых операций Windows NT. Этот компонент специальным образом оптимизирован по занимае­мому объему и эффективности функционирования. Ядро отвечает за планирование выполнения потоков, синхронизацию работы нескольких процессоров, обработку аппаратных прерываний и исключительных ситуаций.

Исполняющая система включает в свой состав набор программных конструкций привилегированного режима (kernel mode), представляющих базовый сервис операционной системы подсистемам среды. Исполняющая система состоит из нескольких компонент,

Рис. 2.32. Модульная структура Windows NT

каждая из них предназначена для поддержки определенного систем­ного сервиса. Так, один из компонент - монитор безопасности (Se­curity Reference Monitor) - функционирует совместно с защищен­ными подсистемами и обеспечивает реализацию модели безопасно­сти системы.

Подсистемы среды представляют собой защищенные серверы пользовательского режима (user-mode), которые обеспечивают вы­полнение и поддержку приложений, разработанных для различно!" 0 операционного окружения (различных операционных систем). Примером подсистем среды могут служить подсистемы Win32 и OS/2.

Уровень аппаратных абстракций (HAL) представляет собой создаваемый производителями аппаратных средств слой программногообеспечения, который скрывает (или абстрагирует) особенности, различия аппаратуры от верхних уровней операционной системы. Таким образом, благодаря обеспечиваемому HAL фильтру, различ­ные аппаратные средства выглядят аналогично с точки зрения опе­рационной системы; снимается необходимость специальной настройки операционной системы под используемое оборудование.

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

Процедуры HAL называются как средствами операционной сис­темы (включая ядро), так и драйверами устройств. При работе с драйверами устройств уровень аппаратных абстракций обеспечивает поддержку различных технологий ввода-вывода (вместо традицион­ной ориентации на одну аппаратную реализацию или требующей значительных затрат адаптации под каждую новую аппаратную платформу).

Уровень аппаратных абстракций позволяет также «скрывать» от остальных уровней операционной системы особенности аппаратной реализации симметричных мультипроцессорных систем.

Ядро (Kernel) работает в тесном контакте с уровнем аппаратных абстракций. Этот модуль в первую очередь занимается планирова­нием действий процессора. В случае, если компьютер содержит не­сколько процессоров, ядро синхронизирует их работу с целью достижения максимальной производительности системы.

Ядро осуществляет диспетчеризацию потоков (threads - нитей управления, которые иногда называются подзадачами, ответвлениями), которые являются основными объектами в планируемой системе. Потоки определяются в контексте процесса; процесс включает адресное пространство, набор доступных процессу объектов и совокупность выполняемых в контексте процесса потоков управления. Объектами являются управляемые операционной системой ресурсы.

Ядро производит диспетчеризацию потоков управления таким образом, чтобы максимально загрузить процессоры системы и обеспечить первоочередную обработку потоков с более высоким приоритетом. Всего существует 32 значения приоритетов, которые сгруппированы в два класса: real-time и variable. Подобный подход позволяет достичь максимальной эффективности операционной системы.

Подкомпоненты исполняющей системы, такие, как диспетчер ввода-вывода и диспетчер процессов, используют ядро для синхронизации действий. Они также взаимодействуют с ядром для более высоких уровней абстракции, называемых объектами ядра; некото­рые из этих объектов экспортируются внутри пользовательских вызовов интерфейса прикладных программ (API).

Ядро управляет двумя типами объектов.

Объекты диспетчеризации (dispatcher objects) характеризуются сигнальным состоянием (signaled или nonsignaled) и управляют дис­петчеризацией и синхронизацией системных операций. Эти объекты включают события, мутанты, мутэксы, семафоры, потоки управле­ния и таймеры (events, mutants, mutexes, semaphores, threads, timers).

Управляющие объекты (control objects) используются для опера­ций управления ядра, но не воздействуют на диспетчеризацию или синхронизацию.

Управляющие объекты включают в себя асинхронные вызовы процедур, прерывания, уведомления и состояния источника пита­ния, процессы и профили (asynhcronous procedure calls, interupts, po­wer notifies, power statuses, processes, profiles).

Исполняющая система (Executive), в состав которой входит ядро и уровень аппаратных абстракций HAL, обеспечивает общий сервис системы, который могут использовать все подсистемы среды. Каж­дая группа сервиса находится под управлением одной из отдельных составляющих исполняющей системы:

Диспетчера объектов (Object Manager);

Диспетчера виртуальной памяти (Virtual Memory Manager);

Диспетчера процессов (Process Manager);

Средства вызова локальных процедур (Local Procedure Call Fa­cility);

Диспетчера ввода-вывода (I/O Manager);

Монитора безопасности (Security Reference Monitor).

Монитор безопасности совместно с процессором входа в систе­му (Logon) и защищенными подсистемами реализует модель безопас­ности Windows NT.

Верхний уровень исполняющей системы называется системным сервисом (System Services). Показанный на рис. 2.33 системный сервис представляет собой интерфейс между подсистемами среды пользовательского режима и привилегированным режимом.

Диспетчер кэша. Архитектура ввода-вывода содержит единственный диспетчер кэша (Cache Manager), который осуществляет кэширование для всей системы ввода-вывода. Кэширование (Caching) - метод, используемый файловой системой для увеличения эффективности.

Рис.2.33. Системный интерфейс

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

Диспетчер кэша использует модель отображения файла, которая интегрирована с диспетчером виртуальной памяти Windows NT. Диспетчер кэша обеспечивает службу кэширования для всех файловых систем и сетевых компонентов, функционирующих под управ­лением диспетчера ввода-вывода. В зависимости от объема доступ­ной оперативной памяти диспетчер кэша может динамически увели­чивать или уменьшать размер кэш-памяти. Когда процесс открывает Файл, который уже находился в кэше, диспетчер кэша просто копирует данные из кэша в виртуальное адресное пространство.

Диспетчер кэша поддерживает службы типа замедленной записи (lazy write) и замедленной фиксации (lazy commit), которые могут Рачительно увеличить эффективность файловой системы. В процессе замедленной записи изменения регистрируются в кэше файловой структуры, обеспечивающем более быстрый доступ. Позднее, когда загрузка центрального процессора снижена, диспетчер кэша заносит изменения на диск. Замедленная фиксация подобна замедленной за­писи. Вместо немедленной маркировки транзакции, как успешно за­вершившейся, переданная информация кэшируется и позднее в фо­новом режиме записывается в журнал файловой системы.

Драйверы файловой системы. В архитектуре ввода-вывода Win­dows NT управление драйверами файловой системы осуществляет диспетчер ввода-вывода. Windows NT допускает использование множества файловых систем, включая существующие файловые си­стемы типа FAT. Для обеспечения совместимости снизу вверх с операционными системами MS-DOS, Windows 3.x и OS/2 Win­dows NT поддерживает файловые системы FAT и HТFS.

Кроме того, Windows NT также поддерживает NTFS - новую файловую систему, разработанную специально для использования с Windows NT. NTFS обеспечивает ряд возможностей, включая сред­ства восстановления файловой системы, поддержку Unicode, длин­ных имен файлов и поддержку для POSIX.

Архитектура ввода-вывода Windows NT не только поддерживает традиционные файловые системы, но и обеспечивает функциониро­вание сетевого редактора и сервера в качестве драйверов файловой системы. С точки зрения диспетчера ввода-вывода, нет разницы между работой с файлом, размешенным на удаленном компьютере сети, и работой с файлом на локальном жестком диске. Редиректо­ры и серверы могут быть загружены и выгружены динамически так же, как и любые другие драйверы; на одном компьютере может од­новременно находиться большое число редиректоров и серверов.

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

Драйверы транспортного протокола общаются с редиректорами и серверами через уровень, называемый интерфейсом транспортно­го драйвера (TD1 - Transport Driver Interface). Windows NT включа­ет следующие транспортные средства:

  • протокол управления передачей/межсетевой протокол TCP/IP, который обеспечивает возможность работы с широ­ким диапазоном существующих сетей;
  • NBF - потомок расширенного интерфейса пользователя Net­BIOS (NetBEUI), который обеспечивает совместимость с сушествующими локальными вычислительными сетями на базе LAN Manager, LAN Server и MS-Net;
  • управление передачей данных (DLC - Data Link Control), ко­торое обеспечивает интерфейс для доступа к мэйнфрэймам и подключенным к сети принтерам;
  • NWLink - реализация IPX/SPX, обеспечивающая связь с No-well NetWare.

В нижней части сетевой архитектуры находится драйвер платы сетевого адаптера. Windows NT в настоящее время поддерживает драйверы устройств, выполненные в соответствии со специфика­цией NDIS (Network Device Interface Specification) версии 3.0. NDIS предоставляет гибкую среду обмена данными между транспортными протоколами и сетевыми адаптерами. NDIS 3.0 позволяет отдельно­му компьютеру иметь несколько установленных в нем плат сетевых адаптеров. В свою очередь, каждая плата сетевого адаптера может поддерживать несколько транспортных протоколов для доступа к различным типам сетевых станций.

Модель безопасности Windows NT - представлена монитором безопасности (Security Reference Monitor), а также двумя другими компонентами: процессором входа в систему (Logon Process) и без­опасными защищенными подсистемами.

В многозадачной операционной системе, каковой является Win­dows NT, приложения совместно используют ряд ресурсов системы, включая память компьютера, устройства ввода-вывода, файлы и процессор (ы) системы. Windows NT включает набор компонентов безопасности, которые гарантируют, что приложения не смогут об­ратиться к этим ресурсам без соответствующего разрешения.

Монитор безопасности отвечает за проведение в жизнь политики проверки правильности доступа и контроля определенной локальной подсистемой безопасности. Монитор безопасности обеспечивает услуги по подтверждению доступа к объектам, проверке привилегий пользователя и генерации сообщений как для привилегированного режима, так и для режима пользователя. Монитор безопасности, по­добно другим частям операционной системы, выполняется в приви­легированном режиме.

Процесс входа в систему в Windows NT предусматривает обяза­тельный вход в систему безопасности для идентификации пользова­теля. Каждый пользователь должен иметь бюджет и должен исполь­зовать пароль для обращения к этому бюджету.

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

Защищенность ресурсов - одна из особенностей, предоставляе­мая моделью безопасности. Задачи не могут обращаться к чужим ресурсам (типа памяти) иначе, чем через применение специальных механизмов совместного использования.

Windows NT также предоставляет средства контроля, которые позволяют администратору фиксировать действия пользователей.

Управление памятью Windows NT. Windows NT Workstation 3.51 по существу представляет собой операционную систему серве­ра, приспособленную для использования на рабочей станции. Этим обусловлена архитектура, в которой абсолютная защита прикладных программ и данных берет верх над соображениями скорости и со­вместимости. Чрезвычайная надежность Windows NT обеспечивает­ся ценой высоких системных затрат, поэтому для получения прием­лемой производительности необходимы быстродействующий ЦП и по меньшей мере 16 Мбайт ОЗУ. В системе Windows NT безопас­ность нижней памяти достигается за счет отказа от совместимости с драйверами устройств реального режима. В среде Windows NT рабо­тают собственные 32-разрядные NT-прикладные программы, а так­же большинство прикладных программ Windows 95. Так же как и Windows 95, система Windows NT позволяет выполнять в своей сре­де 16-разрядные Windows- и DOS-программы.

Схема распределения памяти Windows NT отличается от распре­деления памяти системы Windows 95. Собственным прикладным программам выделяется 2 Гбайт особого адресного пространства, от границы 64 Кбайт до 2 Гбайт (первые 64 Кбайт полностью недоступ­ны). Прикладные программы изолированы друг от друга, хотя могут общаться через буфер обмена Clipboard, механизмы DDE и OLE.

В верхней части каждого 2-Гбайт блока прикладной программы размещен код, воспринимаемый прикладной программой как сис­темные библиотеки DLL кольца 3. На самом деле это просто за­глушки, выполняющие перенаправление вызовов, называемые DLL клиентской стороны (client-side DLLs). При вызове большинства функций API из прикладной программы библиотеки DLL клиент­ской стороны обращаются к локальным процедурам (Local Process Communication - LPC), которые передают вызов и связанные с ним параметры в совершенно изолированное адресное пространство, где содержится собственно системный код. Этот сервер-процесс (server process) проверяет значение параметров, исполняет запрошенную функцию и пересылает результаты назад в адресное пространство прикладной программы. Хотя сервер-процесс сам по себе остается процессом прикладного уровня, он полностью защищен от вызыва­ющей его программы и изолирован от нее.

Между отметками 2 и 4 Гбайт расположены низкоуровневые си­стемные компоненты Windows NT кольца 0, в том числе ядро, пла­нировщик потоков и диспетчер виртуальной памяти. Системные страницы в этой области наделены привилегиями супервизора, ко­торые задаются физическими схемами кольцевой защиты процессо­ра. Это делает низкоуровневый системный код невидимым и недо­ступным по записи для программ прикладного уровня, но приводит к падению производительности во время переходов между кольцами. Для 16-разрядных прикладных Windows-программ Windows NT реализует сеансы Windows on Windows (WOW). Windows NT дает возможность выполнять 16-разрядные программы Windows индиви­дуально в собственных пространствах памяти или совместно в раз­деляемом адресном пространстве. Почти во всех случаях 16- и 32-разрядные прикладные программы Windows могут свободно взаимо­действовать, используя OLE (при необходимости через особые про­цедуры thunk) независимо от того, выполняются они в отдельной или общей памяти. Собственные прикладные программы и сеансы WOW выполняются в режиме вытесняющей многозадачности, осно­ванной на управлении отдельными потоками. Множественные 16-разрядные прикладные программы Windows в одном сеансе WOW выполняются в соответствии с кооперативной моделью многозадач­ности. Windows NT может также выполнять в многозадачном режи­ме несколько сеансов DOS. Поскольку Windows NT имеет полно­стью 32-разрядную архитектуру, не существует теоретических огра­ничений на ресурсы GDI и USER.

Основные отличия Windows 2000 . Windows 2000 или W2k - операционная система (ОС) Microsoft, основанная на технологии Windows NT, что было отражено в первоначальном названии проек­та W2k - Windows NT 5.0. Windows 2000 - полностью 32-разрядная ОС с приоритетной многозадачностью и улучшенной реализацией работы с памятью. В основе проекта W2k лежат те же принципы, которые когда-то обеспечили успех NT.

Интерфейс W2k подобен интерфейсу Windows 98 с установлен­ным IE 5.0. Однако некоторые детали мы все-таки отметим.

Первое, что бросается в глаза, это то, что изменилась цветовая гамма. Теперь она напоминает одну из схем, используемых в рабочем столе KDE для Linux. Еще одной заметной деталью является тень под курсором мыши, которая снимается/выставляется в Control panel -> Mouse -> Pointers, галочкой на Enable pointer shadow. Кроме это­го, добавлен новый эффект при появлении меню, теперь они посте­пенно проявляются из воздуха. Управляется из Desktop Properties, на закладке Effects галочкой Use transition effects for menu and tooltips.

В Start Menu введена функция, знакомая по Office 2000, когда при открытии показываются только наиболее часто употребляемые пункты, остальные открываются, если нажать стрелочку вниз. Управлять этим эффектом можно в Taskbar Properties, в закладке General галочкой Use Personalized Menus (аналогично, в 1Е5 данная опция отключается в Tools -> Internet Options -» Advanced -> Enable Personalized Favorites Menu). В Desktop Properties есть еще несколько пунктов, в том числе и Hide keyboard navigation indicators until I use the Alt key. Если он выбран, то убирается подчеркивание под буквами, которые означают Keyboard shortcut в программах Windows, до тех пор, пока не нажат .

На второй закладке Taskbar Properties, Advanced, находится окошко Start Menu Settings, которое позволяет добавить/удалить строки, входящие в Start Menu, и расширить некоторые пункты. На­пример, если отметить галочкой Expand Control Panel, то при наведе­нии курсора мыши на Control Panel в Start Menu от него вправо от­кроется еще одно меню, в котором будут все элементы, входящие в нее. Полезной функцией на этой закладке является кнопка Re-sort. W2k, по умолчанию, ставит папки с последними инсталлированны­ми программами в самом низу Start Menu, папки могут быть даже ниже линков на файлы. Re-sort устраняет эту несправедливость и расставляет все папки сверху вниз по алфавиту. Впрочем, этого же эффекта можно добиться, нажав правую кнопку мыши в Start Menu -> Programs и выбрав Sort by name. Кроме этого, правой кнопкой можно «перетащить» (drag and drop) оттуда любые элементы в лю­бое место.

Еще одним отличием, часто подводящим людей, ранее работав­ших с NT и W9x, как ни странно, является широкое применение Checkbox- Особенно тех, которые представляют из себя просто квадратик на белом фоне. Так что если вы обнаружите, что не мо­жете чего-то сделать, то просмотрите еще раз все окна, возможно, вы просто не обратили внимания на такой Checkbox.

Task Manager - это один из самых мощных и удобных инстру­ментов в NT, предназначенных для управления процессами. Вызы­вается он либо , либо выбором в меню, появляю­щимся после нажатия правой кнопкой на Taskbar. Можно его вы­брать и после .

Task manager состоит из трех закладок - Performance, Proces­ses, Applications. Начнем с Performance. На этой закладке показыва­ется информация о загрузке процессора(ов) в реальном времени, показывается загрузка физической памяти, причем показано, сколь­ко занято/свободно оперативной памяти и сколько занято систем­ного Swap"a. Кроме этого, там же дается другая дополнительная ин­формация, например Threads и Processes - количество нитей и про­цессов, исполняемых сейчас на машине, Peak - пиковый размер Swap"a в течение сессии, Nonpaged - количество памяти, отведен­ное под ядро. Эта информация может использоваться, когда надо будет ответить на вопрос, какой фактор в системе является «буты­лочным горлышком», замедляющим работу (хотя для этих целей лучше использовать Performance Monitor).

Вторая закладка, Processes, содержит список процессов, актив­ных в данный момент. Для каждого процесса можно узнать неко­торую дополнительную информацию, как то: PID (Process ID), ко­личество используемой оперативной памяти, количество нитей, сгенерированных процессом, и многое другое. Добавить/удалить показываемые параметры можно через View -> Select Columns. Кро­ме этого, с любым из этих процессов можно произвести вполне определенные действия. Для этого надо просто нажать на нем пра­вой кнопкой мыши, появится контекстное меню, через которое можно закончить процесс, End Process, можно «убить» сам про­цесс и все остальные, которые он «породил», End Process Tree. Можно выставить приоритет процессу, от высшего RealTime до са­мого низкого, Low. Если на машине установлено два процессора и многопроцессорное ядро, то в этом меню появляется еще один пункт, Set Affinity, который позволяет перевести процесс на другой процессор, Сpu 0, Cpu l, и так далее до Сри31.

Последняя закладка Task Manager - Applications, позволяет про­смотреть список работающих приложений и завершить любое из них. Task Manager позволяет не только завершать приложения, он может также запускать новые приложения. File -> New task (Run).

Active Directory - это новое средство управления пользователями и сетевыми ресурсами. Оно призвано облегчить работу администра­торам больших сетей на базе W2k и вокруг него строится вся систе­ма управления сетью и ее безопасности. Для установки Active Direc­tory необходимо иметь W2k Server. W2kPro может работать в среде Active Directory, но не может создавать ее. Active Directory строится на следующих принципах:

1. Единая регистрация в сети. Благодаря технологии IntelliMirror можно подойти к любому компьютеру в офисе, ввести свой пароль

и перед вами будет ваш рабочий стол, ваши документы и ваши на­стройки.

2. Безопасность информации. В службу Active Directory встрое­ны средства идентификации пользователя. Для каждого объекта в сети можно централизованно выставлять права доступа, в зависимо­сти от групп и конкретных пользователей. Благодаря системе без­опасности Kerberos можно осуществлять защищенную связь даже по открытым сетям, таким, как Интернет. При этом данные, передава­емые по сети, шифруются, а пароли не передаются и не хранятся на клиентских машинах. Система безопасности Kerberos (называется по имени мифического трехголового пса, который, согласно грече­ской мифологии, охранял адские врата) известна довольно давно, но в ОС от Microsoft она используется впервые. Если не вдаваться в подробности, то работает эта система так:

Клиент посылает запрос серверу аутентификации на разреше­ния доступа к нужной информации;

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

Однако, как мы все помним, в греческом мифе Kerberos не смог противостоять могучему Гераклу. Так и в нашем случае, несмотря на все свои преимущества, система безопасности Kerberos не может противостоять всем видам атак. Например, можно засыпать прило­жение ложными запросами, так называемая атака «Deny of service», что может привести к тому, что приложение не будет использовать протокол Kerberos.

3. Централизованное управление. При использовании службы Active Directory у администратора отпадает необходимость вручную конфигурировать каждую машину, если, к примеру, необходимо по­менять права доступа к какому-либо одному объекту или установить новый сетевой принтер. Такие изменения можно производить сразу Для всей сети.

4 . Гибкий интерфейс. Структуры каталогов меняются быстро и легко. Например, можно создать каталог своей фирмы, выделить в отдельные подкаталоги бухгалтерию, отделы маркетинга, секретари­ат и представить все это в виде древовидной структуры. Или, на­пример, создать несколько деревьев, представляющих различные офисы в разных зданиях или регионах и с легкостью задать связь и права доступа между ними. Подключить сетевой принтер к директо­рии бухгалтеров одним движением мыши. (При этом драйверы уста­новятся на эти компьютеры автоматически.) Или мышью перета­щить весь бухгалтерский отдел с одного сервера на другой, со всеми их правами, папками и документами.

5. Интеграция с DNS. Благодаря тесной интеграции с DNS в Ac­tive Directory в локальной сети используются те же имена ресурсов, что и в Интернет, что приводит к меньшей путанице и способствует более тесному взаимодействию локальной и глобальной сети.

6. Масштабируемость. Несколько доменов Active Directory могут быть объединены вместе под одним управлением.

7. Простота поиска. В домене Active Directory различные объекты можно находить по самым различным признакам, таким, как имя пользователя или компьютера, адрес электронной почты пользова­теля и т. д.

DFS (Distributed File System) - один из инструментов Active Direc­tory. Он позволяет создавать сетевые ресурсы, в которые может вхо­дить множество файловых систем на различных машинах. Для поль­зователя Active Directory это абсолютно прозрачно и не имеет ника­кого значения, где и на каких машинах физически расположены те файлы, с которыми он работает, - для него они все расположены в одном месте. Кроме этого, при использовании DFS и Active Directory упрощается управление такими ресурсами. Оно централизовано, можно просто и безболезненно добавлять новые ресурсы или уда­лять старые, менять физическое месторасположение файлов, входя­щих в DFS, и т. д.