
- •Архитектура операционной системы
- •1. Монолитные системы
- •2. Многоуровневые системы
- •3. Виртуальные машины
- •Архитектура, основанная на ядре
- •Режим ядра и пользовательский режим
- •Типовые средства аппаратной поддержки ос
- •Машинно-зависимые компоненты ос
- •Микроядерная архитектура
- •Процессы и потоки
- •Реализация процессов
- •Назначение потоков
- •Реализация потоков
- •Планирование Процессов
- •Пример 1. Планирование в Windows 2000
- •Пример 2. Планирование в unix
- •Цели планирования
- •Схемы планирования
- •Взаимодействие процессов и потоков
- •Состояние состязания
- •Критические области
- •Взаимоисключение с активным ожиданием
- •Семафоры
- •Мьютексы
- •Мониторы
- •Взаимные блокировки
- •Основные направления решения проблемы тупиков
- •Предотвращение тупиков
- •Обнаружение тупика
- •Восстановление после тупика
- •Организация мультизадачности ос
- •Опрос (проверка флагов)
- •Исключения
- •Прерывания
- •Классификация прерываний
- •3 Класса прерываний:
- •Механизм прерываний
- •Приоритеты прерываний
- •Организация памяти
- •Функции ос по управлению памятью
- •Стратегии управления памятью
- •Фрагментация памяти
- •Способы борьбы с фрагментацией:
- •Типы адресов памяти
- •Учет свободных и занятых областей памяти
- •Учет памяти с помощью битовых карт
- •Учет памяти с помощью связных списков
- •Виртуальная память
- •Файлы подкачки
- •Вопросы по модулю №1
Приоритеты прерываний
Сигналы, которые вызывают прерывания, формируются и вне процессора, и внутри него. Они могут возникать одновременно.
Приоритеты прерываний – механизм установки очередности обработки прерываний.
Уровни приоритетов прерываний (в порядке убывания):
Прерывания от средств контроля процессора (самый высокий приоритет).
Прерывания от системного таймера.
Прерывания от внешних устройств (диски, клавиатура, сетевой адаптер).
Программные прерывания (самый низкий приоритет).
Прерывания, имеющие один приоритет, выполняются в порядке очереди.
Наличие сигнала прерывания не обязательно приводит к прерыванию выполняющейся программы.
Процессор обладает средствами защиты от прерываний:
1. Маскировка.
2. Игнорирование.
Поскольку в один и тот же момент времени может произойти несколько прерываний, их обработку ОС должна упорядочивать. Этим занимается специальный программный модуль, который называют диспетчером прерываний. При возникновении прерывания первым вызывается диспетчер прерываний. Он ненадолго запрещает все прерывания, а затем выясняет приоритет источника прерывания. Приоритет нового прерывания сравнивается с приоритетом обработчика, который в текущий момент выполняется процессором. Если приоритет нового прерывания выше, чем исполняемого, выполнение текущего обработчика прерывается, и он ставится в очередь. В противном случае в очередь помещается обработчик нового прерывания. Если же процессор выполняет не обработку прерывания, а обычный поток, то он всегда прерывается (любой поток имеет более низкий приоритет, чем обработчик прерываний).
Организация памяти
Оперативная память (ОП) – это энергозависимое устройство для хранения обрабатываемых данных.
Для рационального использования ЗУ распределяют по иерархическим уровням.
Иерархия памяти ВС, среднее значение величины, пропускная способность:
1) регистры ЦП;
2) кэш ЦП;
3) основная (оперативная) память;
4) дисковая память.
Обмен данными между уровнями памяти отнимает процессорное время, но повышает эффективность ВС за счет уменьшения времени доступа к данным.
Регистры – это память ЦП, предназначенная для хранения промежуточных данных, команд управления и адресов.
Кэш-память - небольшая, очень быстрая часть памяти для хранения часто используемых данных. Бывает дисковая, процессорная, в матплате, в RAM. Если процессору нужны данные, он сначала обращается к кэш-памяти. Только в том случае, если его там нет, ЦП обращается к ОП. Скорость работы с кэш-памятью достигается за счет того, что она расположена между процессором и шиной, т.е. обмен данными не всегда идет не через шину.
Основная или оперативная память – более медленная, чем кэш, но более дешевая. ЦП и ОП связаны через шину, и скорость обмена данными зависит и от модуля памяти, и от параметров шины. Кроме того, имеет значение разрядность ОП (сколько битов за одну операцию может передавать модуль памяти). В настоящее время стандартный способ сборки памяти – это модуль DIMM (Dual Inline Memory Module). У него выводы расположены с двух сторон, на каждой стороне платы по 84 контакта, итого 168. DIMM способен передавать по 64 бита данных за такт, а DDR - 128.
FSB (Front-Side Bus) – шина между ЦП и ОП, (шина переднего плана)
BSB (Back-Side Bus) – шина между ЦП и L2 (шину заднего плана)