22 - hal (Ответы на экзаменационные билеты)
Описание файла
Файл "22 - hal" внутри архива находится в папке "Ответы на экзаменационные билеты". Документ из архива "Ответы на экзаменационные билеты", который расположен в категории "". Всё это находится в предмете "системное программное обеспечение (спо)" из 8 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "спо" в общих файлах.
Онлайн просмотр документа "22 - hal"
Текст из документа "22 - hal"
Слой абстрагирования от аппаратуры
Windows NT предназначена для работы на различных процессорах и аппаратных платформах. Эта ОС отделяет код операционной системы от аппаратуры компьютера, используя изолирующий уровень - слой абстрагирования от аппаратуры (Hardware Abstraction Layer, HAL). Он позволяет Windows NT, не теряя производительности на любой платформе, оставаться независимой от аппаратуры.
-
Лекция №3. Windows NT как ОСРВ
-
Введение
-
Сегодня становится широко распространенным желание потребителей использовать Windows NT в системах реального времени. Все больше компаний пытается использовать Windows NT как стандартную ОС на всех уровнях индустриальной иерархии.
Для этого имеется ряд причин: Win32 API считается стандартом, а на его базе разработано огромное количество программ; графический интерфейс стал сегодня очень популярным; для NT имеется немало готовых решений для коммерческих применений; в среду NT включены многие виды средств разработки. Использование ее как сервера или рабочей станции понятно, но встречаются попытки использовать ее непосредственно в производственном процессе. Однако установка "в цехе" требует, чтобы ОС работала в режиме реального времени.
Удовлетворяет ли Windows NT этому требованию?
Мы рассмотрим как и почему Windows NT не удовлетворяет требованиям, предъявляемым жесткими системами реального времени. Мы покажем однако, что в некоторых простых мягких системах реального времени Windows NT может использоваться при некоторых обстоятельствах.
Несмотря на то, что сегодня Windows NT не отвечает в полной мере требованиям, предъявляемым к операционной системе реального времени, давление рынка привело к появлению коммерческих решений, расширяющих NT возможностями обработки в реальном времени.
При проектировании Windows NT требования, предъявляемые к ОС реального времени (ОСРВ) не учитывались: она спроектирована как многоцелевая ОС (МОС) или, более точно, как сетевая ОС (СОС). Тем не менее, в силу того, что Windows NT создавалась разработчиками ОС VMS, в нее включены элементы системы реального времени. Например Microsoft ввела понятие класса процессов реального времени. Они диспетчеризуются таким же образом как это было бы в ОСРВ. Механизм прерываний ISR (Interrupt Service Routine) также реализован очень эффективно. Однако позволяет ли это классифицировать Windows NT как ОСРВ?
-
Операционная система 90-х годов
Осенью 1988 года Microsoft пригласила на работу Дэвида Н. Катлера (David N. Cutler), чтобы возглавить новый проект создания ОС Microsoft 90-х годов. Были сформулированы основные требования, предъявляемые рынком к новой ОС:
Переносимость. Новшества в аппаратном обеспечении возникают быстро и часто непредсказуемо. Например, RISC-процессоры существенно отличаются от традиционных CISC. Написание NT на переносимом языке позволило бы быстро переходить от одной архитектуры к другой.
Мультипроцессорная обработка и масштабируемость. Необходимо, чтобы приложения могли использовать преимущества множества разновидностей компьютеров, известных в настоящее время. Создание NT как масштабируемой многопроцессорной ОС позволило бы запускать одно и то же приложение как на однопроцессорных, так и на многопроцессорных машинах. В предельном случае несколько приложений выполнялось бы одновременно с максимальной скоростью, а приложения, требующие большого объема вычислений, могли бы повысить свою производительность, распределяя работу между несколькими процессорами.
Распределенные вычисления. В связи с тем, что в 80-е годы персональные компьютеры стали более доступными, характер вычислений необратимо изменился. Там, где раньше одна большая ЭВМ обслуживала всю фирму, теперь появились персональные компьютеры для рядовых служащих. Улучшенные возможности работы в сети позволили малым компьютерам связываться друг с другом, совместно используя аппаратные или вычислительные ресурсы (в форме файл-серверов, серверов печати и серверов вычислений). Учитывая эти изменения, разработчики NT планировали встроить функцию поддержки сети непосредственно в ОС и обеспечить приложениям возможность распределять работу между несколькими вычислительными системами.
Совместимость с POSIX. Во второй половине 80-х годов правительственные учреждения США стали определять POSIX в качестве стандарта программного обеспечения, поставляемого по правительственным контрактам. POSIX -сокращение, которое расшифровывается как “переносимый интерфейс операционных систем, основанный на UNIX” (portable operating system interface basic on UNIX) — обозначает набор международных стандартов для интерфейсов ОС UNIX-типа. Стандарт POSIX (стандарт IEEE 1003.1-1988) поощряет1 фирмы, реализующие UNIX-подобные интерфейсы, делать их совместимыми, чтобы программисты могли легко переносить свои приложения .с одной системы на другую. Чтобы удовлетворять требованиям к поставкам по заказам правительства, NT должна была обеспечивать среду исполнения приложений POSIX.
-
Надежность
Одной из целей проекта Windows NT была надежность. Под надежностью подразумеваются два взаимосвязанных момента. Во-первых, ОС должна быть устойчивой, дающей предсказуемый отклик на ошибочные состояния, даже если они вызваны сбоями аппаратуры. Во-вторых, ОС должна активно защищать себя и своих пользователей от вреда со стороны пользовательских программ, случайного или умышленного.
Структурная обработка исключений (structured exception handling) — это метод перехвата ошибочных состояний и унифицированной их обработки. Она является основным способом защиты Windows NT от программных или аппаратных ошибок. Всякий раз, когда возникает ненормальное событие, ОС; или процессор возбуждают исключение; код обработки исключений, присутствующий по всей системе, вызывается в таком случае автоматически, гарантируя, что пользовательским программам и самой системе не будет нанесен вред из-за не обнаруженной ошибки.
Повышению устойчивости способствуют и другие свойства ОС:
-
Модульная структура, разделяющая исполнительную систему на группы хорошо организованных пакетов. Отдельные компоненты системы взаимодействуют друг с другом через тщательно разработанные программные интерфейсы. Какой-либо компонент, например, диспетчер памяти, можно извлечь и заменить другим диспетчером памяти, реализующим те же самые интерфейсы.
-
Для Windows NT разработана новая файловая система, называемая файловой системой NT(NT file system, NTFS). NTFS способна к восстановлению после всех типов дисковых ошибок, включая ошибки в критически важных секторах диска. Для обеспечения восстанавливаемости в ней используется избыточное хранение данных и обработка транзакций.
Перечисленные ниже средства защищают Windows NT от внешнего вторжения:
-
Архитектура защиты от несанкционированного доступа, основанная на требованиях правительства США, которая предоставляет разнообразные механизмы защиты: регистрация пользователей в системе, квоты на ресурсы и защита объектов.
Виртуальная память (virtual memory), предоставляющая каждой программе большой объем адресного пространства. При обращении программы по виртуальным адресам диспетчер памяти отображает (транслирует) их в настоящие адреса памяти. Так как ОС управляет расположением в памяти каждой программы, она предотвращает чтение или изменение одним пользователем памяти, занимаемой другим пользователем, если только они явно не объявили ее совместно используемой.
-
Производительность
Еще одной целью проекта Windows NT было достижение высокой производительности. Приложения с большим объемом вычислений требуют достаточно высокой производительности, чтобы обеспечить пользователю хорошее время отклика. Одного быстродействующего оборудования для этого недостаточно. ОС тоже должна быть быстрой и эффективной.
Производительность постоянно имелась в виду при разработке всех компонентов Windows NT. Проводилось тестирование и моделирование быстродействия компонентов, критичных для производительности системы. Системные вызовы, страничные ошибки и другие критические участки вычислений тщательно оптимизировались для достижения максимальной скорости обработки.
Защищенные подсистемы, серверы, которые выполняют функции ОС, должны часто взаимодействовать друг с другом и с приложениями-клиентами. Чтобы это взаимодействие не снижало производительность серверов, в состав ОС был включен высокоскоростной механизм передачи сообщений, так называемый локальный вызов процедур (local procedure call, LPC).
Каждая защищенная подсистема, обеспечивающая среду ОС, или подсистема среды (environment subsystem), была тщательно спроектирована, чтобы часто используемые системные вызовы выполнялись как можно быстрее.
Критические компоненты сетевой поддержки Windows NT для улучшения производительности были встроены в привилегированную часть ОС. Несмотря на это, они могут загружаться и выгружаться динамически.
-
Модели Windows NT
Структура Windows NT основана на комбинации нескольких моделей. Модель клиент—сервер (client/server) служит в Windows NT для того, чтобы предоставить пользователям различные среды ОС (исходно Windows, MS-DOS, OS/2 и POSIX), а объектная модель (object model) — для унификации управления системными ресурсами и выделения их пользователям. Третья модель, симметричная мультипроцессорная обработка (symmetric multiprocessing, SMP), позволяет Windows NT максимально использовать возможности многопроцессорных машин.
В структуре Windows NT есть элементы как послойной, так и клиент-серверной модели. Часть Windows NT, работающая в режиме ядра, называется исполнительной системой NT (NT executive). В нее входит набор компонентов, реализующих управление виртуальной памятью, управление объектами (ресурсами), ввод-вывод и файловые системы (включая сетевые драйверы), взаимодействие между процессами и фрагменты системы защиты от несанкционированного доступа. Эти компоненты взаимодействуют между собой главным образом как модули, а не как слои. Каждый компонент вызывает другие посредством набора тщательно оговоренных внутренних процедур.
Однако послойная модель применяется в системе ввода-вывода исполнительной системы NT, описываемой далее, и в самых низкоуровневых частях исполнительной системы: ядре NT (NT kernel) и слое абстрагирования от оборудования (hardware abstraction layer, HAL). Все другие компоненты исполнительной системы NT расположены поверх этих двух. Ядро NT выполняет функции ОС низкого уровня, похожие на те, с которыми мы встречаемся в клиент-серверных ОС с микроядром — например, планирование потоков, обработку прерываний и исключений, а также многопроцессорную синхронизацию. Оно также предоставляет набор процедур и базовых объектов, используемых остальными частями исполнительной системы для реализации конструкций более высокого уровня. Ниже ядра располагается динамически подключаемая библиотека (dynamic-link library, DLL) HAL — слой кода, изолирующий ядро и другие части исполнительной системы NT от платформенно-зависимых особенностей аппаратуры. HAL работает непосредственно с оборудованием.
Как показывает рис. 3-1, модель клиент-сервер используется в Windows NT главным образом для предоставления API и средств, которые обычно рассматривают как среду ОС. Хотя защищенная подсистема (сервер) Win32 обеспечивает пользовательский интерфейс и необходима для работы системы, другие серверы также могут подключаться к исполнительной системе, причем они могут загружаться и выполняться одновременно в любой желаемой комбинации. Серверы взаимодействуют с процессами приложений при помощи средства передачи сообщений, предоставляемого исполнительной системой NT.
Рис. 3-1. Клиент-серверная структура Windows NT.
Хотя Windows NT не является в строгом смысле объектно-ориентированной системой, она использует объекты для представления системных ресурсов. Каждый системный ресурс, который могут совместно использовать несколько процессов, — файлы, память и физические устройства — реализован как объект и обрабатывается объектными сервисами.
Системы с симметричной мультипроцессорной обработкой (symmetric multiprocessing, SMP), к которым относится и Windows NT, позволяют коду ОС системы выполняться на любом свободном процессоре или на всех процессорах одновременно, причем каждому из процессоров доступна вся память.
Windows NT обладает свойствами, которые принципиально важны для мультипроцессорной ОС:
-
Код ОС может выполняться на любом из доступных процессоров и на нескольких процессорах одновременно. За исключением ядра, которое выполняет планировку потоков и обработку прерываний, весь код ОС может быть вытеснен (принужден к освобождению процессора) потоком с более высоким приоритетом.
-
В одном процессе может быть несколько потоков управления. Поток позволяют процессу выполнять разные части его программы на не скольких процессорах одновременно4.
-
Серверные процессы могут использовать несколько потоков для одно временной обработки запросов от нескольких клиентов.
-
Имеются удобные механизмы совместного использования объектов разными процессами и гибкие возможности коммуникаций между процессами, включая совместно используемую память и оптимизированное средство передачи сообщений.
-
Структура Windows NT
Структурно Windows NT можно разделить на две части: одна работает в пользовательском режиме (защищенные подсистемы Windows NT), а другая — в режиме ядра (исполнительная система NT). Подробно структура Windows NT изображена на рис. 3-2.