![](/user_photo/70644__xXXN.png)
- •Модель процесса, Создание и завершение процесса
- •Иерархии, реализация, состояния процессов
- •Иерархии процессов
- •Реализация процессов
- •Состояния процессов
- •Классическая модель потоков
- •2.1 Классическая модель потоков
- •Применение потоков, моделирование режима многозадачности
- •Потоки в posix, реализация потоков в пользовательском пространстве
- •Реализация потоков в ядре, гибридная реализация, активация планировщика Реализация потоков в ядре
- •Гибридная реализация
- •Активация планировщика
- •Всплывающие потоки, превращение однопоточного кода в многопоточный Всплывающие потоки
- •2.2. Превращение однопоточного кода в многопоточный
- •Взаимодействие процессов: состязательная ситуация, критические области Межпроцессное взаимодействие.
- •Состояние состязания.
- •Критическая область.
- •3.1 Взаимодействие между процессами
- •Передача информации от одного процесса другому
- •3.1.2 Состояние состязания
- •3.1.3 Критические области
- •Взаимодействие процессов: взаимное исключение с активным ожиданием, приостановка и активизация
- •2.Взаимное исключение с активным ожиданием
- •2.1 Запрещение прерываний.
- •2.2 Переменные блокировки.
- •3.Приостановка и активизация
- •Введение в планирование, планирование в пакетных системах
- •Планирование в пакетных системах
- •Планирование в интерактивных системах Введение
- •Гарантированное планирование
- •Лотерейное планирование
- •Справедливое планирование
- •Планирование потоков
- •Планирование в системах реального времени, политика и механизмы, планирование потоков
- •Понятие адресного пространства, правление свободной памятью.
- •Методы распределения памяти с использования дискового пространства:
- •Страничное распределение виртуальной памяти
- •Сегментное распределение памяти
- •3. Сегментно-страничная организация разделения памяти
- •Страничная организация памяти, таблицы страниц Страничная организация памяти, таблицы страниц
- •Страничная организация памяти. Виртуальная память.
- •Структура страниц.
- •Формирование адреса при страничном преобразовании.
- •Преимущества страничной памяти
- •Недостатки страничной памяти
- •Ускорение работы страничной организации памяти, таблицы страниц для больших объемов памяти
- •Оптимальный алгоритм замещения страниц, сравнительная характеристика алгоритмов замещения страниц Алгоритмы замещения страниц
- •Оптимальный алгоритм замещения страниц
- •Алгоритм исключения недавно использовавшейся страницы
- •Алгоритм fifo
- •Алгоритм «второй шанс»
- •Алгоритм «часы»
- •Алгоритм замещения наименее востребованной страницы
- •Сравнительная характеристика алгоритмов замещения страниц
- •Разработка систем страничной организации памяти: локальная и глобальная политики, управление загрузкой, разделение пространства команд и данных
- •Локальная и глобальная политика
- •Управление загрузкой
- •Разделение пространства команд и данных
- •Совместно использование страниц, библиотек, очистка страниц, обработка ошибки отсутствия страницы. Совместно используемые страницы
- •Совместно используемые библиотеки
- •Политика очистки страниц
- •Обработка ошибки отсутствия страницы
- •Файлы: имена, структура, типы атрибуты файлов, доступ и операции с файлами.
- •Каталоги: одноуровневые каталоги, иерархические системы каталогов, операции с каталогами
- •Структура файловой системы, реализация файлов, каталогов.
- •Основы аппаратного обеспечения ввода-вывода Устройства ввода-вывода
- •Контроллеры устройств
- •Ввод-вывод, отображаемый на пространство памяти.
- •Принципы создания программного обеспечения ввода-вывода
- •Диски: аппаратная часть, форматирование, алгоритмы планирования перемещения блока головок.
- •Форматирование диска
- •Алгоритмы планирования перемещения головок
- •Аппаратная составляющая и программное обеспечение часов, таймеры
- •Программное обеспечение пользовательского интерфейса: клавиатура, мышь, монитор
- •2.4. Монитор
- •Маршрутизация с использованием масок постоянной и переменной длины
- •Фрагментация ip-пакетов, параметры и механизм фрагментации
- •Групповое вещание
- •Стандартная модель группового вещания ip
- •Основные типы протоколов группового вещания
- •Инжиниринг трафика в mpls
Алгоритм fifo
Другим низкозатратным алгоритмом замещения страниц является алгоритм FIFO (First In, First Out — «первым пришел, первым ушел»).
Операционная система ведет список всех страниц, находящихся на данный момент в памяти, причем совсем недавно поступившие находятся в хвосте, поступившие раньше всех — в голове списка. При возникновении ошибки отсутствия страницы удаляется страница, находящаяся в голове списка, а к его хвосту добавляется новая страница. Применительно к компьютерам может возникнуть проблема: самая старая страница все еще может пригодиться. Поэтому принцип FIFO в чистом виде используется довольно редко.
Алгоритм «второй шанс»
Алгоритм «второй шанс» занимается поиском ранее загруженной в память страницы, к которой за только что прошедший интервал времени таймера не было обращений. Если обращения были ко всем страницам, то алгоритм «второй шанс» превращается в простой алгоритм FIFO. Алгоритм всегда завершает свою работу.
Алгоритм «часы»
Лучше содержать все страничные блоки в циклическом списке в виде часов (рис. 2). Стрелка указывает на самую старую страницу.
Рис. 2
При возникновении ошибки отсутствия страницы проверяется та страница, на которую указывает стрелка. Если ее бит R имеет значение 0, страница выселяется, на ее место в «циферблате» вставляется новая страница и стрелка передвигается вперед на одну позицию. Если значение бита R равно 1, то он сбрасывается и стрелка перемещается на следующую страницу. Этот процесс повторяется до тех пор, пока не будет найдена страница с R = 0. Неудивительно, что этот алгоритм называется «часы».
Алгоритм замещения наименее востребованной страницы
В основе неплохого приближения к оптимальному алгоритму лежит наблюдение, что страницы, интенсивно используемые несколькими последними командами, будут, скорее всего, снова востребованы следующими несколькими командами. И наоборот, долгое время не востребованные страницы наверняка еще долго так и останутся невостребованными. Эта мысль наталкивает на вполне реализуемый алгоритм: при возникновении ошибки отсутствия страницы нужно избавиться от той страницы, которая длительное время не была востребована. Эта стратегия называется замещением наименее востребованной страницы (Least Recently Used (LRU)).
Сравнительная характеристика алгоритмов замещения страниц
Оптимальный алгоритм удаляет страницу с самым отдаленным предстоящим обращением. К сожалению, у нас нет способа определения, какая это будет страница, поэтому на практике этот алгоритм использоваться не может. Но он полезен в качестве оценочного критерия при рассмотрении других алгоритмов.
Алгоритм исключения недавно использованной страницы (NRU) делит страницы на четыре класса в зависимости от состояния битов R и M. Затем выбирает произвольную страницу из класса с самым низким номером. Этот алгоритм нетрудно реализовать, но он слишком примитивен. Есть более подходящие алгоритмы.
Алгоритм FIFO предполагает отслеживание порядка, в котором страницы были загружены в память, путем сохранения сведений об этих страницах в связанном списке. Это упрощает удаление самой старой страницы, но она-то как раз и может все еще использоваться, поэтому FIFO — неподходящий выбор.
Алгоритм «второй шанс» является модификацией алгоритма FIFO и перед удалением страницы проверяет, не используется ли она в данный момент. Если страница все еще используется, она остается в памяти. Эта модификация существенно повышает производительность.
Алгоритм «часы» является простой разновидностью алгоритма «второй шанс». Он имеет такой же показатель производительности, но требует несколько меньшего времени на свое выполнение.