Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 103
Текст из файла (страница 103)
Это означает, что некорректно написанный драйверустройства может разрушить вычисления, выполняемые собственно операционной системой. Поэтому необходимо очень осторожно относиться к выбору такихдрайверов и использовать только те, которые были тщательно оттестированы. Последние версии операционных систем, включая поколение Windows 2000, имеютспециальный механизм проверки цифровой подписи Microsoft, наличие которойозначает, что драйвер прошел всестороннее тестирование. Это должно выступатьгарантом качества системного кода.Остальные системные модули операционной системы, относящиеся к организации соответствующей среды выполнения, выполнению ряда функций, связанныхс обеспечением защиты, модуль серверного процесса, который обеспечивает возможность приложениям обращаться к операционной системе с соответствующими запросами, и многие другие выполняются в пользовательском режиме работыпроцессора.Диспетчеризация в системах Windows NT/2000/XP организована почти так же,как и в системах Windows 95/98/ME.
Все эти операционные системы относятся кмультизадачным и поддерживают потоковые вычисления. 16-разрядные приложения Windows, работая на одной виртуальной машине, разделяют процессорноевремя кооперативно. 32-разрядные потоки разделяют процессорное время, вытесняя друг друга через некоторые моменты времени.
При этом диспетчер задач (пла123Здесь можно было бы употребить термин «системы управления файлами».Этот модуль перехватывает запрос па ввод-вывод и проверяет, к каким ресурсам он относится, локальным (расположены непосредственно на том же компьютере) пли удаленным (предоставлены вобщий доступ через сеть и могут быть расположены на любом компьютере).В данном контексте речь идет о модуле системного сетевого программного обеспечения, которыйполучает запрос па обслуживание или ресурс от другого компьютера (посылаемый им после прохождения через свой модуль редиректора) и генерирует соответствующий запрос к операционнойсистеме.386Глава 11. Операционные системы Windowsнировщик потоков) работает с несколькими очередями.
Всего существует 32 уровняприоритетов — от 0 до 31. Распределение приоритетов между выполняющимисяпроцессами и потоками осуществляется по следующим правилам:Q Low — 4 (низкий приоритет);Q BelowNormal — ниже среднего;Q Normal — 8 (нормальный приоритет);•AboveNormal — выше среднего;•High — 16 (высокий приоритет);•RealTime — 24 (приоритет реального времени).Собственно исполняемыми элементами процесса являются потоки.
Как мы ужезнаем, каждый процесс имеет, по крайней мере, один поток. Поток получает базовый приоритет от своего процесса, а фактическое значение приоритета присваивается потоку операционной системой. Те потоки, которые выполняются на переднем плане (foreground), получают приращение приоритета относительно базового.У потоков, выполняемых в фоновом режиме (background), приоритет уменьшается. По умолчанию все задачи запускаются с нормальным приоритетом. Обычныйпользователь может изменить приоритет задачи вплоть до высокого.
Приоритетреального времени может присвоить только администратор.Используемые дисциплины диспетчеризации у всех этих операционных системодинаковы. Однако если внимательно понаблюдать за тем, как ведут себя системыWindows NT/2000/XP и системы Windows 95/98/ME, выполняя параллельномножество запущенных приложений, то можно без особого труда заметить, чтомногозадачность у первых реализована значительно лучше. Причина такого явления заключается в том, что с разными затратами времени происходят изменения вподсистеме управления памятью. При переключении с одного вычислительногопроцесса на другой необходимо поменять значение регистра CR3, с помощью которого линейные адреса команд и операндов пересчитываются в реальные физические.
В операционных системах Windows NT/2000/XP (как и в OS/2, и в Linux)используется вся та аппаратная поддержка двухэтапного вычисления физическихадресов, которая имеется в микропроцессорах. То есть при переключении процессора на новую задачу смена значения регистра CR3, а значит, и замена всех дескрипторных таблиц, описывающих местонахождение виртуальных страниц процессаи его потоков, осуществляется автоматически.
А в системах Windows 95/98/MEвместо инициализации одного регистра, указывающего на адрес таблицы PDE (см.в главе 4 описание страничного способа организации виртуальной памяти в микропроцессорах i80x86), операционная система переписывает все содержимое целой физической страницы, на которую указывает регистр CR3 вместо простой замены содержимого этого регистра. И поскольку такая операция требует совершенноиных затрат времени, мы и наблюдаем тот факт, что многозадачность в системахWindows 95/98/ME реализована намного хуже, чем в системах класса NT.Полезно знать, что операционные системы, предназначенные для построения рабочих станций (ранее Workstation, позже Professional), и серверные варианты строятся практически на одном ядре, но имеют разные настройки в реестре. Более того,Операционные системы Windows NT/2000/XP387их дистрибутивы почти полностью совпадают (более чем на 90 %).
Однако серверы не имеют ограничений на количество сетевых подключений к ним (эти ограничения определяются только количеством приобретенных лицензий) и позволяютустановить и выполнять различные сетевые службы, например службу именования Windows для Интернета (Windows Internet Name Service, WINS), системудоменного именования (Domain Name System, DNS), протокол управления динамической адресацией компьютеров (Dynamic Host Control Protocol, DHCP), контроллер домена (domain controller) в локальной вычислительной сети и многиедругие.
В доказательство этому можно упомянуть известную утилиту NTSwitch.exe,которая при запуске превращает рабочую станцию в сервер или, наоборот, сервер — в рабочую станцию.В заключение заметим, что мы очень кратко познакомились с архитектурой операционных систем Windows NT/2000/XP. Для более детального изучения целогоряда вопросов, связанных с этой темой, рекомендую такие известные книги, как[16,42].Модель безопасностиПри разработке всех операционных систем семейства Windows NT/2000/XP компания Microsoft уделяла самое пристальное внимание обеспечению информационной безопасности. Как следствие, эти системы предоставляют надежные механизмы защиты, которые просты в использовании и легки в управлении.
Сертификатбезопасности на соответствие уровню С2 имеют операционные системы Windows NT 3.5 и Windows NT 4.0. Операционные системы семейства Windows 2000имеют еще более серьезные средства обеспечения безопасности, однако на моментнаписания этой книги они еще не сертифицировались.В отличие от операционных систем семейства Windows 9x, как, впрочем, и от системы OS/2, в разработке первой версии которой Microsoft тоже принимала участие, системы класса Windows NT имеют совершенно иную модель безопасности.Средства защиты изначально глубоко интегрированы в операционную систему.Подсистема безопасности осуществляет контроль за тем, кто и какие действия совершает в процессе работы, к каким объектам пытается получить доступ.
Все действия пользователя, в том числе и обращения ко,всем объектам, как нетрудно догадаться, на самом деле могут быть совершены только через соответствующиезапросы к операционной системе. Операционная система использует этот факт иимеет все необходимые механизмы для тотального контроля всех запросов к ней.Запрашиваемые у операционной системы операции и обращения к конкретнымобъектам разрешаются, только если у пользователя для этого имеются необходимые права и/или разрешения. При этом обязательно следует различать эти понятия.Права (rights) определяют уровень полномочий при работе в системе. Например,если нет права форматировать диск, то выполнить это действие пользователь несможет.
Кстати, конкретно таким правом при работе с Windows NT/2000/XP обладают только члены группы администраторов. Можно говорить и о праве изменения настроек дисплея, и о праве работать на компьютере. Очевидно, что пере-388Глава 11, Операционные системы Windowsчень прав является достаточно большим.
Права могут быть изменены посредствомприменения соответствующих политик.Термин разрешение (permission) обычно применяют по отношению к конкретнымобъектам, таким как файлы и каталоги, принтеры и некоторые другие. Можно говорить о разрешениях на чтение, на запись, на исполнение, на удаление и проч.Например, можно иметь разрешения на чтение и запуск некоторой программы, ноне иметь разрешений на ее переименование и удаление.Важно, что права имеют преимущество перед разрешениями. Например, если унекоторого пользователя нет разрешения «стать владельцем» того или иного файлового объекта, но при этом мы дадим ему право стать владельцем любого объекта,то он, дав запрос на владение упомянутым объектом, получит его в свою собственность.Модель безопасности Windows NT гарантирует, что не удастся получить доступ к ееобъектам без того, чтобы предварительно пройти аутентификацию и авторизацию.Для того чтобы иметь право работать на компьютере, необходимо иметь учетнуюзапись (account).
Учетные записи хранятся в базе данных учетных записей, котораяпредставлена файлом SAM (Security Account Management). Каждая учетная записьв базе данных идентифицируется не по имени, а по специальному системному идентификатору. Такой идентификатор в Windows NT называется идентификаторомбезопасности (Security IDentifier, SID). Подсистема безопасности этих операционных систем гарантирует уникальность идентификаторов безопасности. Они генерируются при создании новых учетных записей и никогда не повторяются. Имеютсявстроенные учетные записи, но они тоже уникальны.