- •Методические рекомендации по выполнению практических работ
- •Оп.04 «Операционные системы»
- •Практическая работа №1 Обзор аппаратного обеспечения компьютера: процессоры
- •Практическая работа №2 Обзор аппаратного обеспечения компьютера: память
- •Практическая работа №3 Обзор аппаратного обеспечения компьютера: устройства ввода-вывода
- •Практическая работа №4 Обзор аппаратного и программного обеспечения компьютерных сетей
- •Практическая работа №5 Обслуживание ввода-вывода
- •Практическая работа №6 Принцип уровней абстракции и его использование при разработке операционных систем
- •Практическая работа №7
- •Практическая работа №8 Оценка производительности системы
- •Практическая работа №9
- •Практическая работа №10
- •Практическая работа №11 Обзор многопоточности в unix
- •Практическая работа №12
- •Практическая работа №13 Обзор многопоточности в .Net
- •Практическая работа №14 Обзор многопоточности в Java
- •Практическая работа №15 Методы управления памятью в операционных системах
- •Практическая работа №16 Методы адресации в компьютерных системах
- •Практическая работа №17 Этапы обработки программы от исходного кода к исполняемому в операционных системах
- •Практическая работа №18
- •Практическая работа №19 Организация оверлейной структуры программ
- •Практическая работа №20 Реализация смежного распределения памяти
- •Методы распределения памяти без использования дискового пространства Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •Методы распределения памяти с использованием дискового пространства Страничное распределение
- •Сегментное распределение
- •Странично-сегментное распределение
- •Свопинг
- •Практическая работа №21
- •Практическая работа №22 Реализация хешированных таблиц страниц
- •Практическая работа №23 Создание резервных копий
- •Практическая работа №24 Восстановление данных
- •Практическая работа №25 Работа с антивирусными программами
- •Практическая работа №26 Основные правила и требования к парольной защите
- •Практическая работа №28 Осуществление мероприятий по защите персональных данных
- •Практическая работа №29
- •Приложение а
- •Практическая работа №30 Обеспечение работы системы регистрации и авторизации пользователей сети
- •Практическая работа №31 Осуществление системного администрирования локальных сетей
- •Практическая работа №32 Типы и решения сетевых проблем
- •Сети имеют сложную структуру
- •Средство устранения неполадок сети поможет решить проблему
- •Практическая работа №33 Установка контроллера домена и dns–сервера
- •Установка контроллера домена в существующий домен с использованием интерфейса Windows
- •Практическая работа №34 Добавление роли dhcp-сервера и его настройка
Практическая работа №7
Составление архитектуры ОС с микроядром
Цель работы: Научиться составлять архитектуру ОС с микроядром
Оборудование: Персональный компьютер с ОС Windows 7, ХР
Задание: Составить архитектуру ОС с микроядром
Теоретические сведения
В отличие от традиционной архитектуры, согласно которой операционная система представляет собой монолитное ядро, реализующие основные функции по управлению аппаратными ресурсами и организующее среду для выполнения пользовательских процессов, микроядерная архитектура распределяет функции ОС между микроядром и входящими в состав ОС системными сервисами, реализованными в виде процессов, равноправных с пользовательскими приложениями.
Микроядро реализует базовые функции операционной системы, на которые опираются эти системные сервисы и приложения. В результате, такие важные компоненты ОС как файловая система, сетевая поддержка и т. д. превращаются в по-настоящему независимые модули, которые функционируют как отдельные процессы и взаимодействуют с ядром и друг с другом на общих основаниях. Это означает, что имевшее место раньше четкое разделение программного обеспечения на системные и прикладные программы размывается, т. к., фактически, между процессами, реализующими функции ОС, и прикладными процессами, выполняющими программы пользователя, нет никаких различий. Все компоненты системы используют средства микроядра для обмена сообщениями, но взаимодействуют непосредственно. Микроядро лишь проверяет законность сообщений, пересылает их между компонентами и обеспечивает доступ к аппаратуре.
В основе архитектуры микроядерных ОС лежат следующие базовые концепции:
- минимизация набора функций, поддерживаемых микроядром, и реализация традиционных функций ОС (файловая система, сетевая поддержка) вне микроядра;
- организация синхронного и асинхронного взаимодействия между процессами исключительно через механизм обмена сообщениями;
- все отношения между компонентами строятся на основе модели клиент/сервер;
- применение объектно-ориентированного подхода при разработке архитектуры и программировании системы.
Микроядро отвечает за выполнение следующих функций:
связь между процессами - Микроядро управляет маршрутизацией сообщений; оно также поддерживает две другие формы IPC - прокси и сигналы;
сетевой интерфейс низкого уровня - Микроядро осуществляет доставку всех сообщений, предназначенных для процессов на других узлах сети;
диспетчеризация процессов - входящий в состав Ядра планировщик решает, какому из запущенных процессов должно быть передано управление;
первичная обработка прерываний - все аппаратные прерывания и исключения сначала проходят через Микроядро, а затем передаются соответствующему драйверу или системному менеджеру.
Рисунок 1- Архитектура ОС с «многослойным» ядром
Современная тенденция в разработке операционных систем состоит в перенесении значительной части системного кода на уровень пользователя и одновременной минимизации ядра. Речь идет о подходе к построению ядра, называемом микроядерной архитектурой(microkernel architecture) операционной системы, когда большинство ее составляющих являются самостоятельными программами. В этом случае взаимодействие между ними обеспечивает специальный модуль ядра, называемый микроядром. Микроядро работает в привилегированном режиме и обеспечивает взаимодействие между программами, планирование использования процессора, первичную обработку прерываний, операции ввода-вывода и базовое управление памятью.
Рисунок 2 - Микроядерная архитектура операционной системы
Остальные компоненты системы взаимодействуют друг с другом путем передачи сообщений через микроядро.
Основное достоинство микроядерной архитектуры – высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства. Микроядернаяархитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра.
В то же время микроядерная архитектура операционной системы вносит дополнительные накладные расходы, связанные с передачей сообщений, что существенно влияет на производительность. Для того чтобы микроядерная операционная система по скорости не уступалаоперационным системам на базе монолитного ядра, требуется очень аккуратно проектировать разбиение системы на компоненты, стараясь минимизировать взаимодействие между ними. Таким образом, основная сложность при создании микроядерных операционных систем – необходимость очень аккуратного проектирования.
Из-за того что различные микроядра обладают разными возможностями и размером, невозможно четко сформулировать правила, определяющие круг функций, предоставляемых микроядром, и его структуру. Чтобы дать представление об архитектуре микроядра, в этом разделе представлен минимальный набор его функций и сервисов.
Рисунок 3- Архитектуры ОС
В микроядро должны входить те функции, которые непосредственно зависят от аппаратного обеспечения, а также те, которые нужны для поддержки серверов и приложений, работающих в пользовательском режиме. Эти функции относятся к общим категориям функций низкоуровневого управления памятью, межпроцессного взаимодействия, а также управления вводом-выводом и прерываниями.
Ход работы
1. Изучить теоретические сведения
2. Провести анализ функций микроядра
3. Схематично составить архитектуру ОС с микроядром
