Архивы за Июль, 2014
Страничная организация памяти
Страничная организация памяти
В данной статье мы рассмотрим следующие вопросы:
Инструменты управления памятью:
- Страничная организация памяти (также таблицы страниц)
- Сегментная организация пямяти (таблицы сегментов)
- Страничное прерывание (page fauet) и виртуальная память
- Механизмы замещения страниц: Алгоритм Belady, FIFO Алгоритм LRU (Last recently used) – наименее используемое, Not Frequently Used (алгоритм clock – часовой)
- Рабочее множество
- Алгоритм Page Fault Frequency
Управление памятью
Управление памятью
Память является важнейшим ресурсом, требующим тщательного управления со стороны операционной системы.
Задачи управления памятью у операционной системы
- Распределение ресурса типа «память» между различными, конкурирующими за нее процессами (т.к. памяти всегда не хватает, это ограниченный ресурс по своей сути);
- Максимизировать использование памяти
- Получить дополнительные «бонусы» в виде изоляции процессов (защита доступа одного процесса от другого);
- Абстрагировать доступ к памяти для программистов.
Планирование процессов
Планирование процессов
Уже был затронут вопрос об очереди готовых процессов. Решение о том, кому дать следующий квант времени процессора определяет планирование.
Планирование процессов в ОС это процесс выбора – кто будет исполняться следующим и как долго это будет исполняться.
Не путать с переключением контекста, что является просто механизмом передачи управления.
Синхронизация
Синхронизация
Как мы помним операционная система служит для управления ресурсами. Если есть набор ресурсов, то есть и множество некоторых процессов или потоков, которым нужны эти ресурсы. Отсюда вытекает проблема – как этому набору процессов сопоставить набор ресурсов, ведь ресурсы могут быть нужны в определенное время или одновременно. Нужно управлять доступом к ресурсам.
Нужны примитивы и синхронизация.
Как организуется управление, как организуется синхронизация доступа процессов к определенным ресурсам? Рассмотрим в данной статье.
ПОТОКИ (нити)
ПОТОКИ (нити)
Потоки в операционных системах нужны для двух вещей – для параллелизма и одновременности.
Параллелизм – это физически одновременное выполнение для достижения наибольшей производительности(например, между двумя ядрами).
Одновременность – логическое и/или физическое одновременное выполнение (есть один ЦП, на нем одновременно выполняется несколько программ – многозадачная ОС).