Операционные системы Windows NT

Автор работы: Пользователь скрыл имя, 14 Ноября 2011 в 22:58, курсовая работа

Описание

Семейство операционных систем windows NT, 2000, XP являются прорывом в организации общения пользователя и операционной системы, предоставляя более обширное число возможностей для сетевых операций, периферийного оборудования, также расширяя возможности «машинной части» ПК. Поэтому в этой курсовой работе я бы хотел показать основные характеристики этих ОС.

Содержание

Введение……………………………………………………………………2
Краткая историческая справка……………………………………………3
Основные особенности архитектуры…………………………………….9
Модель безопасности……………………………………………………...16
Распределение оперативной памяти……………………………………..20
Заключение…………………………………………………………………27
Литература…………………………………………………………………28
Приложение………………………………………………………………..29

Работа состоит из  1 файл

Операционные системы Windows NT.docx

— 327.30 Кб (Скачать документ)

    Системы типа Windows NT построены по микроядерной технологии. Конечно, их ядро никак нельзя назвать маленьким, особенно в сравнении с ядром операционной системы QNX. Однако в целом архитектура Windows NT безусловно отвечает идеям построения операционной системы, в которой управляющие модули организованы с четким выделением центральной части и взаимодействием этой части с остальными по принципу клиент-сервер. Это означает, что в состав ядра включены только самые важные основообразующие управляющие процедуры, а остальные управляющие модули операционной системы вызываются из ядра как службы. Причем только часть служб использует процессор в режиме ядра, а остальные — в пользовательском режиме, как и обычные приложения пользователей (см. приложение рис. 1).

    А для обеспечения надежности они  располагаются в отдельном виртуальном адресном пространстве, к которому ни один модуль и ни одна прикладная программа, помимо системного кода, не может иметь доступа.

    Ядро (микроядро) систем Windows NT выполняет диспетчеризацию задач (точнее, потоков), обработку прерываний и исключений, поддерживает механизмы синхронизации потоков и процессов, обеспечивает взаимосвязи между всеми остальными компонентами операционной системы, работающими в режиме ядра [2].

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

    Помимо собственно ядра в том же режиме супервизора работают модуль HAL (Hardware Abstraction Layer — уровень абстракции аппаратных средств), низкоуровневые драйверы устройств и исполняющая система Windows NT, называемая Win32 Executive. Начиная с Windows NT 4.0 в режиме ядра работают и диспетчер окон (Window Manager), который иногда называют «User», и модули графического интерфейса устройств (GDI).

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

    Одним из важнейших компонентов операционных систем Windows NT/2000/XP, который появился вследствие следования микроядерному принципу их построения, является исполняющая система (Win32 Executive). Она выполняет такие базовые функции операционной системы, как управление процессами и потоками, управление памятью, взаимодействие между процессами, защиту, операции ввода-вывода (включая файловые операции, кэширование, работу с сетью и некоторые другие). Ниже перечислены компоненты исполняющей системы.

    • Диспетчер процессов (Process Manager) создает, отслеживает и удаляет процессы. Для выполнения этих функций создается соответствующий дескриптор, определяются базовый приоритет процесса и карта адресного пространства, создается и поддерживается список всех готовых к выполнению потоков.

    • Диспетчер виртуальной памяти (Virtual Memory Manager) предоставляет виртуальную память выполняющимся процессам. Каждый процесс имеет отдельное адресное пространство, используется страничное преобразование линейных адресов в физические, поэтому потоки одного процесса не имеют доступа к физическим страницам, отведенным для другого процесса.

    • Диспетчер объектов (Object Manager) создает и поддерживает объекты. В частности, поддерживаются дескрипторы объектов и атрибуты защиты объектов. Объектами считаются каталоги, файлы, процессы и потоки, семафоры и события и многие другие.

    • Монитор безопасности (Security Reference Monitor) обеспечивает санкционирование доступа к объектам, контроль полномочий доступа и ведение аудита. Совместно с процессом входа в систему (logon) и защищенными подсистемами реализует модель безопасности Windows NT.

    Микроядро может одновременно выполняться  на всех процессорах, а потоки одного процесса могут одновременно выполняться на нескольких процессорах.

    • Диспетчер ввода-вывода (Input/Output Manager) управляет всеми операциями ввода-вывода в системе. Организует взаимодействие и передачу данных между всеми драйверами, включая драйверы файловых систем, драйверы физических устройств, сетевые драйверы, для чего используются структуры данных, называемые пакетами запросов на ввод-вывод  ( I/O Request Packet, IRP).

    Запросы на ввод-вывод обрабатываются в порядке приоритетов, а не в порядке их поступления. Операции ввода-вывода кэшируются, этим процессом управляет диспетчер кэша (Cache Manager). Поддерживаются различные файловые системы, причем драйверы этих систем воспринимаются диспетчером ввода-вывода как драйверы физических устройств. Специальное сетевое системное программное обеспечение (редиректоре и сервере) трактуются как сетевые драйверы и также имеют непосредственную связь с диспетчером ввода-вывода.

    • Средства вызова локальных процедур (Local Procedure Call, LPC) обеспечивают выполняющиеся подсистемы среды выполнения и приложения пользователей коммуникационным механизмом, в котором взаимодействие строится по принципу клиент-сервер.

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

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

    Диспетчеризация в системах Windows NT/2000/XP организована почти так же, как и в системах Windows 95/98/МЕ. Все эти операционные системы относятся к мультизадачным и поддерживают потоковые вычисления. 16-разрядные приложения Windows, работая на одной виртуальной машине, разделяют процессорное время кооперативно. 32-разрядные потоки разделяют процессорное время, вытесняя друг друга через некоторые моменты времени. При этом диспетчер задач (планировщик потоков) работает с несколькими очередями. Всего существует 32 уровня приоритетов — от 0 до 31. Распределение приоритетов между выполняющимися процессами и потоками осуществляется по следующим правилам:

    • Low — 4 (низкий приоритет);

    • BelowNormal — ниже среднего;

    • Normal — 8 (нормальный приоритет);

    • AboveNormal— выше среднего;

    • High — 16 (высокий приоритет);

    • RealTime — 24 (приоритет реального времени).

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

    У потоков, выполняемых в фоновом  режиме (background), приоритет уменьшается. По умолчанию все задачи запускаются с нормальным приоритетом. Обычный пользователь может изменить приоритет задачи вплоть до высокого. Приоритет реального времени может присвоить только администратор.

    Используемые  дисциплины диспетчеризации у всех этих операционных систем одинаковы. Однако если внимательно понаблюдать за тем, как ведут себя системы Windows NT/2000/XP и системы Windows 95/98/МЕ, выполняя параллельно множество запущенных приложений, то можно без особого труда заметить, что многозадачность у первых реализована значительно лучше. Причина такого явления заключается в том, что с разными затратами времени происходят изменения в подсистеме управления памятью. При переключении с одного вычислительного процесса на другой необходимо поменять значение регистра CR3, с помощью которого линейные адреса команд и операндов пересчитываются в реальные физические.         

    В операционных системах Windows NT/2000/XP (как и в OS/2, и в Linux) используется вся та аппаратная поддержка двухэтапного вычисления физических адресов, которая имеется в микропроцессорах. То есть при переключении процессора на новую задачу смена значения регистра CR3, а значит, и замена всех дескрипторных таблиц, описывающих местонахождение виртуальных страниц процесса и его потоков, осуществляется автоматически. А в системах Windows 95/98/МЕ вместо инициализации одного регистра, указывающего на адрес таблицы PDE, операционная система переписывает все содержимое целой физической страницы, на которую указывает регистр CR3 вместо простой замены содержимого этого регистра. И поскольку такая операция требует совершенно иных затрат времени, мы и наблюдаем тот факт, что многозадачность в системах Windows 95/98/МЕ реализована намного хуже, чем в системах класса NT.

    Полезно знать, что операционные системы, предназначенные для построения рабочих станций (ранее Workstation, позже Professional), и серверные варианты строятся практически на одном ядре, но имеют разные настройки в реестре. Более того, их дистрибутивы почти полностью совпадают (более чем на 90 %). Однако серверы не имеют ограничений на количество сетевых подключений к ним (эти ограничения определяются только количеством приобретенных лицензий) и позволяют установить и выполнять различные сетевые службы, например службу именования Windows для Интернета (Windows Internet Name Service, WINS), систему доменного именования (Domain Name System, DNS), протокол управления динамической адресацией компьютеров (Dynamic Host Control Protocol, DHCP), контроллер домена (domain controller) в локальной вычислительной сети и многие другие. В доказательство этому можно упомянуть известную утилиту NTSwitch.exe, которая при запуске превращает рабочую станцию в сервер или, наоборот, сервер — в рабочую станцию.

    Модель  безопасности

    При разработке всех операционных систем семейства Windows NT/2000/XP компания Microsoft уделяла самое пристальное внимание обеспечению информационной безопасности. Как следствие, эти системы предоставляют надежные механизмы защиты, которые просты в использовании и легки в управлении. Сертификат безопасности на соответствие уровню С2 имеют операционные системы Windows NT 3.5 и Windows NT 4.0. Операционные системы семейства Windows 2000 имеют еще более серьезные средства обеспечения безопасности, однако на момент написания этой книги они еще не сертифицировались.

    В отличие от операционных систем семейства Windows 9х, как, впрочем, и от системы OS/2, в разработке первой версии которой Microsoft тоже принимала участие, системы класса Windows NT имеют совершенно иную модель безопасности.

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

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

    Права (rights) определяют уровень полномочий при работе в системе. Например, если нет права форматировать диск, то выполнить это действие пользователь не сможет. Кстати, конкретно таким правом при работе с Windows NT/2000/XP обладают только члены группы администраторов. Можно говорить и о праве изменения настроек дисплея, и о праве работать на компьютере. Очевидно, что перечень прав является достаточно большим. Права могут быть изменены посредством применения соответствующих политик.

    Термин  разрешение (permission) обычно применяют по отношению к конкретным объектам, таким как файлы и каталоги, принтеры и некоторые другие. Например, можно иметь разрешения на чтение и запуск некоторой программы, но не иметь разрешений на ее переименование и удаление.

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

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

    Для того чтобы иметь право работать на компьютере, необходимо иметь учетную запись (account). Учетные записи хранятся в базе данных учетных записей, которая представлена файлом SAM (Security Account Management). Каждая учетная запись в базе данных идентифицируется не по имени, а по специальному системному идентификатору. Такой идентификатор в Windows NT называется идентификатором безопасности (Security IDentifier, SID). Подсистема безопасности этих операционных систем гарантирует уникальность идентификаторов безопасности. Они генерируются при создании новых зачетных записей и никогда не повторяются. Имеются встроенные учетные записи, но они тоже уникальны. Помимо учетных записей пользователей имеются учетные записи групп. Учетные записи имеют и компьютеры. Идентификаторы несут в себе информацию о типе учетной записи.

Информация о работе Операционные системы Windows NT