- •Часть 1. Функции, состав и назначение ос
- •Место ос в структуре вычислительной системы
- •Две основные функции, выполняемые операционными системами.
- •Эволюция ос. Многозадачность и режим разделения времени
- •Эволюция ос. Дружественный интерфейс. Сетевые и распределенные ос
- •Классификация ос и краткая характеристика каждого класса
- •Требования, предъявляемые к современным ос. Их краткая характеристика
- •Часть 2. Архитектура ос
- •Монолитные ос
- •Многоуровневые ос. Основные и вспомогательные модули
- •Ядро ос в привилегированном положении
- •Многослойная структура ос и ядра
- •Виртуальные машины и гипервизоры
- •Микроядерная архитектура ос
- •Структура типовой unix-подобной ос
- •Структура ос семейства Windows nt
- •Аппаратная зависимость ос
- •Переносимость ос
- •Часть 3. Управление процессами и потоками
- •Мультипрограммирование или многозадачность. Вытесняющая и невытесняющая многозадачность.
- •Описатели процессов и потоков. Состояния процессов и потоков.
- •Описатели процессов и потоков. Операции над процессами и потоками.
- •20. Планирование и диспетчеризация. Контекст потока
- •Обработка прерываний. Типы прерываний.
- •Системные вызовы. Синхронный и асинхронный режим.
- •Синхронизация процессов и потоков. Блокирующие переменные и семафоры Дийкстры.
- •24. Сигналы. Реакция ос и приложений на сигналы.
- •Часть 4. Управление памятью
- •25. Функции ос по управлению памятью. Организация памяти.
- •26. Иерархия зу. Классификация зу.
- •27. Типы адресов памяти. Способы структурирования вап процесса.
- •28. Алгоритмы распределения памяти без использования внешней памяти. Достоинства и недостатки.
- •29. Виртуальная память и свопинг. Реализация виртуальной памяти.
- •30. Страничное распределение памяти. Преобразование виртуальных адресов в физические.
- •31. Методы выбора страницы для выгрузки ее на диск. Примеры.
- •32. Сегментное и сегментно-страничное распределение памяти. Отличительные особенности.
- •33. Разделяемые и невыгружаемые области памяти.
- •Часть 5. Управление данными
- •34. Основные функции подсистемы управления вводом-выводом.
- •35. Многослойная организация по ввода-вывода.
- •36. Менеджер (диспетчер) ввода-вывода.
- •37. Многоуровневые драйверы.
- •38. Файловая система. Логическая организация. Цели и задачи.
- •39. Типы файлов. Иерархическая структура фс.
- •40. Именование файлов. Типы имен файлов. Примеры.
- •41. Атрибуты файлов. Способы их хранения в конкретных файловых системах.
- •43. Физическая организация и адресация файла. Примеры.
- •Часть 6. Сетевые ос 46. Концепции распределенной обработки данных. Двухзвенные приложения.
- •48. Механизм сокетов. Примитивы передачи сообщений. (лекция 6)
- •Часть 7. Системные программы 49. Понятие и структура систем программирования.
- •50. Интерпретаторы, ассемблеры, макроассемблеры.(лекция 7)
- •51. Отладчики и загрузчики. Функции и назначение (лекция 7)
- •52. Процесс трансляции. Этапы, фазы и проходы.
- •53. Роль рекурсии в грамматике. Примеры. (лекция 7)
- •54. Порождения. Левое и правое порождения. Дерево синтаксического разбора. (лекция7)
Микроядерная архитектура ос
В привилегированном режиме остается работать только очень небольшая часть ОС, называемая микроядром
Микроядро защищено от остальных частей ОС и приложений
• В микроядро входят машинно-зависимые модули, а также модули для выполнения базовых функций ядра по управлению основными ресурсами, обработке прерываний и пересылке сообщений
• Набор функций микроядра обычно соответствует функциям слоя базовых механизмов обычного ядра.
Многие менеджеры ресурсов файловых систем, подсистемы управления виртуальной памятью и процессами, менеджер безопасности становятся модулями, работающими в пользовательском режиме
• Такие модули называются серверами
• Для реализации микроядерной архитектуры необходимым условием является наличие в ОС удобного способа вызова процедур одного процесса из другого
• Микроядро обязано поддерживать этот механизм
Обращения к системным функциям ОС, оформленным в виде серверов, производятся следующим образом:
• Клиент (прикладная программа, либо другой компонент ОС) запрашивает выполнение некоторой функции у соответствующего сервера, посылая ему сообщение
• Микроядро передает сообщение серверу
• Сервер выполняет запрошенную операцию
• Микроядро возвращает результаты клиенту с помощью другого сообщения
• Недостаток микроядерной архитектуры – некоторое снижение производительности
системы • Высокая степень переносимости микроядерных систем обусловлена изолированностью всего машинно-зависимого код в микроядре
• Небольшой набор строго определенных интерфейсов микроядре открывает путь к развитию ОС и позволяет ей иметь высокой степенью расширяемости
• Серверы выполняются в виде процесса с изолированными ВАП, повышая надежность ОС
• Процессы не могут вмешиваться в деятельность микроядра, что позволяет обеспечить безопасность ОС
• Многие разработчики ОС не придерживаются жесткого принципа минимизации функций микроядра для повышения производительности
Структура типовой unix-подобной ос
Обобщенную архитектуру ОС UNIX принято изображать в виде «пирамиды».
Ядро
UNIX-систем также имеет многослойную
структуру, хотя и является монолитным
Одним из наиболее удачных клонов ОС UNIX стала к настоящему времени ОС Linux
Структура ос семейства Windows nt
Windows NT состоит из двух главных частей: ядра, работающего в привилегированном режиме, и
подсистем окружения в режиме пользователя.
• Над аппаратурой располагаются два частично машинно-зависимых слоя: HAL и NTOS
• HAL – это уровень аппаратных абстракций
• HAL предоставляет остальной системе абстрактные аппаратные устройства, свободные от индивидуальных отличительных черт реальной аппаратуры
• К службам уровня HAL относятся: доступ к внутренним регистрам устройств, адресация устройств, не зависящих от шины, обработка прерываний, операции прямого доступа к памяти (DMA), управление таймерами и системными часами, интерфейс с BIOS и др.
Над уровнем HAL находится NTOS, состоящий из двух подуровней: ядро (гибридного типа) и исполнительная система
• Непосредственно над HAL располагается исполнительная система ядра
• Исполнительный уровень содержит несколько различных компонентов, все они работают при помощи абстракций управления, предоставляемых уровнем ядра
• Многие компоненты в терминах MS -диспетчеры
• Ядро предназначено для обеспечения аппаратной независимости и переносимости остальных частей ОС
• Ядро обеспечивает переключение процессов и потоков
• Ядро предоставляет внутренним объектам ОС низкоуровневую поддержку • Объекты управления – это объекты, управляющие системой: процессы и потоки, прерывания и два объекта, которых нет в других системах:
– DPC – отложенный вызов процедуры
– APC – асинхронный вызов процедуры
• Объекты DPC (Deferred Procedure Call) используются для уменьшения времени выполнения Interrupt Service Routine —процедуры обработки прерываний, которые запускаются по прерыванию от
устройства
• АРС пользовательского режима можно использовать для доставки уведомлений о завершении ввода-вывода в пользовательском режиме тому потоку, который инициировал ввод-вывод
• АРС пользовательского режима вызывает назначенную приложением процедуру пользовательского режима, но только тогда, когда целевой поток заблокирован в ядре и помечен как готовый принимать АРС
• К объектам синхронизации относятся те объекты, изменения состояния которых могут ожидать процессы. К ним относятся семафоры, мьютексы, события, таймеры и др.
(и т.д. лекция 2, стр. 30- 40…)
