Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСиС 3 лаба.docx
Скачиваний:
28
Добавлен:
30.07.2019
Размер:
50.57 Кб
Скачать
  1. Определите назначение уровня hall и службы, которые в него включены

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

  • доступ к регистрам устройств;

  • адресация к устройствам, независящим от шины;

  • обработка прерываний и возврат из прерываний;

  • операции DMA (Direct Memory Access – прямой доступ к памяти);

  • управление таймерами, часами реального времени, блокировками нижнего уровня;

  • синхронизация многопроцессорных конфигураций;

  • интерфейс с BIOS и доступ к CMOS-памяти.

  1. Определите назначение и основные функции ядра операционной системы Windows 2000.

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

Например, уровень HAL содержит вызовы для связывания процедур обработки прерываний с прерываниями и установки их приоритетов, а ядро предоставляет полный механизм для переключения контекста: сохраняет все регистры центрального процессора, изменяет таблицы страниц, сохраняет кэш центрального процессора и т.д. Когда все действия выполнены, работавший ранее поток2 оказывается полностью сохраненным в таблицах, расположенных в памяти. Затем ядро настраивает карту памяти нового потока и загружает его регистры, после чего новый поток готов к работе.

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

Третья ключевая функция ядра заключается в: предоставлении низкоуровневой поддержки двум классам объектов – управляющим объектам и объектам диспетчеризации, которые представляют собой внутренние объекты, на основе которых исполняющая система строит объекты пользователя. Управляющие объекты – это объекты, управляющие системой, включая примитивные объекты процессов, объекты прерываний, объект DPC (Deferred Procedure Call), отложенный вызов процедуры; объект АРС (Asynchronous Procedure Call), асинхронный вызов процедуры.

Объект DPC используется, чтобы отделить часть процедуры обработки прерываний, для которой время является критичным, от той ее части, для которой время некритично. Как правило, процедура обработки прерываний сохраняет несколько аппаратных регистров, связанных с прерывающим устройством ввода-вывода, чтобы их можно было восстановить, и разрешает аппаратуре продолжать работу. Очередь DPC представляет собой механизм напоминания о том, что есть работа, которую следует выполнить позднее. Объект АРС отличается тем, что асинхронный вызов процедуры выполняется в контексте определенного процесса. К объектам диспетчеризации относятся: семафоры3, мьютексы4, события5, таймеры6 и другие объекты, изменение состояния которых могут ждать потоки. Эти объекты напрямую связаны с планированием потоков, поэтому частично обрабатываются ядром.

  1. На каких службах построено ядро Windows 2000?

См. 18

  1. Опишите отличие объекта АРС от объекта DPC в Windows 2000.

Очередь DPC представляет собой механизм напоминания о том, что есть работа, которую следует выполнить позднее. Объект АРС отличается тем, что асинхронный вызов процедуры выполняется в контексте определенного процесса.

  1. Определите назначение исполняющей системы и ее модулей.

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

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

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

При загрузке операционная система Windows 2000 загружается в память как набор файлов. Основная часть операционной системы, состоящая из ядра и исполняющей системы, хранится в файле ntoskml.exe. Уровень HAL представляет собой библиотеку общего доступа, расположенную в отдельном файле hal.dll. Интерфейс Win32 и интерфейс графических устройств хранятся вместе в файле win32k.sys. После загрузки ядра операционной системы и исполняющих модулей загружаются драйвера устройств, большинство из которых имеет расширение .sys.

  1. Определите назначение драйверов устройств в Windows 2000.

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

  1. Определите назначение объектов в Windows 2000.

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

  1. Какой механизм предоставляет доступ к объектам в Windows 2000?

. Доступ к объектам предоставляется при помощи дескрипторов объектов и осуществляется через менеджер объектов.

  1. Определите термин «исполняемый объект».

Исполняемый объект представляет собой набор последовательных слов (структуру данных) в памяти (в виртуальном адресном пространстве ядра).

  1. Опишите структуру объектов в Windows 2000.

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

  1. Опишите механизм реализации объектов в Windows 2000.

4.1.3 - просмотреть

  1. Определите назначение и виды пула в Windows 2000.

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

  1. С помощью какого механизма определяется тип объекта в Windows 2000?

Объекты подразделяются на типы. Тип объекта определяется указателем на объект типа (рис. 4.3). Информация о типе объекта включает: название типа; данные о том, может ли поток ждать изменения состояния этого объекта; должен ли объект этого типа храниться в выгружаемом или невыгружаемом пуле. Самой важной частью объекта являются указатели на программы для определенных стандартных операций (open, close, delete). Когда вызывается одна из этих операций, используется указатель на типовой объект, в котором выбирается и выполняется соответствующая процедура.

  1. Перечислите общие типы объектов исполняющей системы и опишите их назначение.

Процесс - процесс пользователя.

Поток - поток внутри процесса.

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

Мьютекс - двоичный семафор, используемый для входа в критическую область.

Событие - объект синхронизации с перманентным состоянием.

Порт - механизм для передачи сообщений между процессами.

Таймер - объект, позволяющий потоку спать в течение фиксированного интервала времени.

Очередь - объект, используемый для уведомления о завершении асинхронного ввода-вывода.

Открытый файл - объект, ассоциированный с открытым файлом.

Маркер доступа - описатель защиты для некоторого объекта

Профиль - структура - данных, используемая для анализа использования центрального процессора.

Секция - структура, используемая для отображения файлов на виртуальное адресное пространство.

Ключ - ключ реестра.

Каталог объектов - каталог для группирования объектов в менеджере объектов.

Символьная ссылка - указатель на другой объект по имени

Устройство - объект устройства ввода-вывода.

Драйвер устройства - у каждого загруженного драйвера устройства есть свой объект.

  1. Определите термин «пространство имен объектов» и опишите его типы назначение.

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

  1. Перечислите типичные каталоги пространства имен объектов.

?? - Начальное место для поиска устройств MS-DOS.

Device - Все обнаруженные устройства ввода-вывода.

Driver - Объекты, соответствующие каждому загруженному драйверу устройства.

ObjectTypes - Объекты типов.

Windows - Объекты для отправки сообщений всем окнам.

BaseNamedObjs - Объекты, создаваемые пользователем, такие как семафоры, мьютексы и др.

Arcname - Имена разделов, обнаруженные загрузчиком.

NLS - Объекты языковой поддержки.

FileSystem - Объекты драйверов файловой системы и объекты распознавателя файловой системы.

Security - Объекты системы безопасности.

KnownDLLs - Совместно используемые библиотеки, находящиеся в открытом состоянии.

  1. Перечислите ключевые файлы Windows 2000 и их режим работы.

- hal.dll – режим работы ядра.

- ntoskrnl.exe – режим работы ядра.

- win32k.sys – режим работы ядра.

- ntdll.dll режим работы ядра.

- csrss.exe – режим работы пользователя .

- kernel32.dll – режим работы пользователя.

- gdi32.dll – режим работы пользователя.

- user32.dll – режим работы пользователя.

- advapi32.dll –режим работы пользователя.

  1. Определите основное назначение операционной системы UNIХ.

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

  1. Кратко опишите структуру операционной системы UNIХ.

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

  1. Опишите назначение каждого уровня структуры UNIХ.

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

  1. Опишите структуру ядра операционной системы UNIХ.

Ядро операционной системы UNIX состоит из нескольких уровней (рис. 4.5). Нижний уровень ядра состоит из драйверов устройств и процедуры диспетчеризации процессов. Драйверы системы UNIX подразделяются на два класса: драйверы символьных устройств и драйверы блочных устройств. Основное различие между ним заключается в том, что на блочных устройствах разрешается операция поиска, а на символьных нет.

  1. Определите термин «сокеты».

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

1 Дескриптор – описание файла

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

3 Семафор – целая переменная для подсчета сигналов запуска. Переменная может иметь значение 0 (в случае отсутствия сохраненных сигналов активации процесса) или некоторое положительное число, соответствующее количеству отложенных активизирующих сигналов.

4 Мьютекс – переменная, которая может находиться в одном из двух состояний: блокированном или неблокированном. Используется для блокирования/разблокирования процесса.

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

6 Таймеры (часы) – следят за временем суток, не позволяют одному процессу надолго занять центральный процессор и выполняют др. функции.

7 Пул (англ. pool – общий котел) – временное объединение.