- •Вопросы и литература по курсу аос (по всем вопросам должен быть представлен краткий рукописный конспект в общей тетради)
- •Структура программного обеспечения персонального компьютера.
- •Понятие операционной системы персонального компьютера. Основные интерфейсы компьютерной системы.
- •Краткая история операционных систем.
- •Доисторический период
- •Первый период (1945-1955)
- •Основные функциональные компоненты ос.
- •Подсистема управления процессами
- •Управления памятью
- •Управление файлами и внешними устройствами
- •Защита данных и администрирование
- •Интерфейс прикладного программирования
- •Пользовательский интерфейс
- •Сетевые и распределенные операционные системы.
- •Требования к современным операционным системам.
- •Базовая архитектура операционной системы. Понятие ядра системы. Классификация операционных систем в зависимости от особенностей архитектуры ядра.
- •По архитектуре ядра системы можно разделить на:
- •-2) Слоистая архитектура ядра
- •Аппаратная зависимость и переносимость операционных систем.
- •Совместимость операционных систем и множественные прикладные среды.
- •Подсистема управления процессами, основные задачи. Понятие многозадачности.
- •Многозадачность в системах пакетной обработки, разделения времени и реального времени. Системы пакетной обработки.
- •Системы разделения времени
- •Системы реального времени
- •Состояния потока
- •Планирование и диспетчеризация потоков
- •Квантование – каждому потоку последовательно выделяется квант процессорного времени.
- •Алгоритмы планирования, основанные на приоритетах
- •Смешанные алгоритмы планирования
- •Приоритеты и концепции планирования потоков в Windows 2000, ос Unix System V и os/2. Система ос Unix System V Release 4
- •Система os/2
- •Система Windows 2000
- •Планирование процессов и потоков в системах реального времени.
- •Назначение
- •Механизм прерываний
- •Реализация системных вызовов. Использование механизма прерываний для реализации системных вызовов.
- •Понятие гонок
- •Критическая секция кода и исключение гонок
- •Блокирующие переменные
- •Понятие семафора и его использование для целей синхронизации.
- •Синхронизация и проблема тупиков.
- •Синхронизирующие объекты в операционных системах.
- •Методы распределения памяти
- •Фиксированные разделы
- •Динамические разделы
- •Перемещаемые разделы
- •Остальные методы требуют использования внешней памяти
- •Свопинг
- •Виртуальная память
- •Страничная организация памяти
- •2 Базисных свойства страничной организации:
- •Сегментное распределение памяти
- •Сегментно-страничное распределение
- •Организация виртуальной памяти, преобразование адреса.
- •Обмен данными между процессами на основе виртуальной памяти.
- •Аппаратная поддержка сегментной организации памяти в системах на основе процессоров с архитектурой ia32. Небольшое вступление про процессоры ia-32 и аппаратную поддержку мультипрограммирования
- •Регистры сегментов
- •Управляющие регистры:
- •Регистры системных адресов
- •Регистры отладки и тестирования
- •Средства поддержки сегментной организации памяти в процессорах Пентиум (собственно ответ на билет)
- •Итак, процесс обратился за памятью. Что происходит?
- •Защита данных в системах с сегментной организацией памяти на основе процессоров с архитектурой ia32.
- •Привилегии подробнее:
- •Смешанная сегментно-страничная организация памяти в системах на основе процессоров с архитектурой ia32. Трансляция адреса. Буфер ассоциативной трансляции (tlb).
- •Кэширование данных
- •Принципы работы кэш - памяти.
- •Проблема согласования данных.
- •Вытеснение данных из кэШа
- •Случайное отображение
- •Детерминированный способ отображения
- •Управление памятью в реальном режиме адресации на примере консоли Windows xp.
- •Задачи подсистемы управления внешними устройствами.
- •Организация параллельной работы устройств ввода-вывода и процессора
- •Согласование скоростей обмена
- •Разделение устройств и данных между процессами
- •Обеспечение удобного и логического интерфейса между устройствами и остальной частью системы
- •Поддержка широкого спектра драйверов с возможностью расширения
- •Динамическая загрузка и выгрузка драйверов.
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Поддержка нескольких файловых систем.
- •Типы файлов
- •Иерархическая структура фс
- •Имена файлов
- •Монтирование
- •У файла есть:
- •Логическая организация файла:
- •Физическая организация данных на диске.
- •Физическая организация файла.
- •Связанный спискок кластеров дисковой памяти
- •Связанный список индексов – фс фат.
- •Файловые операции.
- •Универсальные действия:
- •Стандартные файлы ввода и вывода, перенаправление ввода-вывода.
- •Файловые системы Unix (s5 и ufs).
- •Обзор семейства операционных систем Microsoft Windows.
- •Системный реестр: структура системного реестра Windows;
- •Импорт и экспорт данных системного реестра;
- •Предопределенные ключи системного реестра;
Планирование процессов и потоков в системах реального времени.
Главный критерий эффективности в этих системах – реактивность, обеспечение временных характеристик вычислительного процесса и быстрая реакция на управляющие сигналы.
Но задача облегчается, тем, что:
- заранее известен весь набор выполняемых задач
- есть четкая информация о сроках и задачах, на ее основе можно
- создать статическое расписание
- создать нужный динамический алгоритм
В зависимости от последствий ошибки, системы делятся:
- системы жесткого реального времени (запуск спутника, АЭС)
- системы мягкого реального времени (система бронирования билетов)
ЖЕСТКОГО РВ
Для систем жесткого реального времени время выполнения КАЖДОЙ из критических задач должно быть гарантировано при ЛЮБОМ сценарии поведения системы.
Этого можно добиться:
- исчерпывающим тестированием системы
- статическим расписанием
- составлением математически обоснованного динамического алгоритма
Возможность составить статическое расписание есть не всегда, и эта возможность просчитывается сложными математическими вычислениями.
Один из критериев такой возможности – время вычисления задачи должно быть меньше предельного срока на ее выполнение.
МЯГКОГО РВ
Время иногда может быть нарушено, не страшно.
___
Типы задач в системе РВ:
- периодические – можно определить все будущие моменты запроса задачи
- спорадические – время запросов заранее не известно
Также задачи бывают:
- независимые
- зависимые
Планирование зависимых задач важнее, чем планирование независимых задач, и сложнее.
Можно:
- разделить планирование на 2 части, одну из них выполнять заранее, а вторую – во время работы системы. Например, предварительно можно вычислить временные интервалы, в которые нельзя назначать выполнение задач, содержащих критические секции.
- ввести ограничения на поведение набора задач
Классический алгоритм для жестких систем реального времени разработан в 1973 году Лью и Лейландом.
Этот алгоритм основан на статических приоритетах
- запросы на выполнение всех задач набора, имеющих жесткие ограничения на время реакции, являются периодическими
- Все задачи независимы
- Срок выполнения каждой задачи равен ее периоду
- Максимальное время выполнения каждой задачи известно и постоянно
- Максимальный коэффициент загрузки процессора не превышает 0.7
Задачам назначаются статические приоритеты в зависимости от величины их периода выполнения: чем он короче, тем больше приоритет.
Существуют также алгоритмы, основанные на динамических приоритетах, назначаются в соответствии с текущими состояниями задачи (дедлайном).
Чем меньше время у задачи до дедлайна, тем выше ее приоритет.
Обработка прерываний (назначение, типы, механизм, маскирование). Диспетчеризация и приоритеты прерываний. Централизованная схема диспетчеризации прерываний на примере Windows NT. Отложенный (DPS) и асинхронный (APS) вызовы процедур для обработки прерываний. Выполнение обработки прерываний в контексте и вне контекста процесса.
Прерывания – основная движущая сила любой ОС.
