Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к экзамену СМО(ответы. Еличева).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.96 Mб
Скачать

Рабочие станции

Рис. 1-1. Соединение разнородных систем.

Windows NT существует не в вакууме. Она может взаимодействовать с дру­гими ОС Microsoft, с Apple Macintosh и с UNIX-подобными ОС по сетям различ­ного типа, в том числе Microsoft LAN Manager. Пример сетевой конфигурации показан на рис. 1-1.

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

  1. Цели проекта Windows nt: расширяемость и переносимость.

Проект Windows NT требовал тщательной предварительной проработки. Чтобы система удовлетворяла требованиям рынка, критически важно с самого начала было придать ей такие свойства, как поддержка POSIX и наличие защиты.

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

Ниже перечислены свойства системы, которых стремились достичь проек­тировщики Windows NT:

• Расширяемость. Код должен быть написан так, чтобы его удобно было дополнять и модифицировать при изменении требований рынка.

• Переносимость. В соответствии с требованиями рынка код должен лег­ко переноситься с одного процессора на другой.

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

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

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

Расширяемость

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

Гарантировать целостность кода Windows NT по мере изменения ОС с тече­нием времени было основной целью проекта. Уникальный подход к решению этой проблемы нашли для ОС Mach: создать основу, которая реализует примитивные средства ОС. Прикладные программы, называемые серверами, обеспечивают дополнительные системные средства, включая полные API. При изменении требований базовая часть системы не меняется, а серверы модернизи­руются или создаются новые (Здесь термин "сервер" обозначает процесс на локальной машине, и его не следует путать с удален­ными компьютерами в сети, предоставляющими файловые или сетевые сервисы.).

Windows NT позаимствовала этот подход. Она состоит из привилегиро­ванной исполнительной системы (executive) и набора непривилегированных серверов, называемых защищенными подсистемами (protected subsystems). Тер­мин привилегированный указывает на режим работы процессора. Большинство процессоров имеют привилегированный режим (возможно, несколько), в кото­ром разрешено выполнение всех машинных команд и доступны системные области памяти, а также непривилегированный , в котором некоторые команды запре­щены, а системные области памяти недоступны. В терминологии Windows NT при­вилегированный режим называется режимам ядра (kernel mode), а непривилеги­рованный — пользовательским режимам (user mode).

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

Кроме защищенных подсистем, Windows NT имеет множество других свойств, гарантирующих ее расширяемость:

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

• Использование объектов для представления системных ресурсов. Объекты (objects), абстрактные типы данных, доступ к которым осуще­ствляется только через специальный набор сервисов объектов, позво­ляют однотипно управлять системными ресурсами. Добавление новых объектов не нарушает работу старых и не требует изменения существую­щего кода.

• Загружаемые драйверы. Подсистема ввода-вывода Windows NT поддер­живает драйверы, которые могут добавляться к системе в процессе ра­боты. Для поддержки новых файловых систем, устройств и сетей необ­ходимо написать драйвер устройства, драйвер файловой системы или драйвер транспорта и загрузить его в систему.

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