- •Средства синхронизации и взаимодействия процессов
- •Способы реализации взаимного исключения
- •Управление памятью
- •Типы адресов
- •Алгоритмы распределения памяти
- •I) Методы без использования внешней памяти Однозадачная система без подкачки на диск
- •Распределение памяти с фиксированными разделами
- •Распределение памяти динамическими разделами
- •Распределение памяти перемещаемыми разделами
- •II) Методы с использованием внешней памяти Свопинг и виртуальная память
- •Кэширование данных
- •Способы отображения оперативной памяти на кэш
- •Управление вводОм-выводом в операционных системах
- •Задачи ос по управлению файлами и устройствами
- •Организация параллельной работы устройств ввода-вывода и процессора
- •Согласование скоростей обмена и кэширование данных
- •Разделение устройств и данных между процессами
- •Удобный логический интерфейс
- •Поддержка широкого спектра драйверов
- •Динамическая загрузка и выгрузка драйверов
- •Поддержка нескольких файловых систем
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Многослойная модель подсистемы ввода-вывода
- •Менеджеры ввода-вывода
- •Многоуровневые драйверы
- •Специальные файлы
- •Файловая система
- •Имена файлов
- •Типы файлов
- •Атрибуты файлов
- •Иерархическая структура файловой системы
- •Общая модель файловой системы
- •Классификация файловых систем
- •Наиболее распространенные файловые системы
II) Методы с использованием внешней памяти Свопинг и виртуальная память
Виртуализация – это существование ресурса, который пользователю или программе представляется обладающим свойствами, которыми он в действительности не обладает. Такой ресурс называется виртуальным ресурсом. Виртуализация оперативной памяти включает решение след. задач:
1) размещение данных в запоминающих устройствах разного типа (например, часть кода программы – в оперативной памяти, др. часть – на диске)
2) выбор образов процессов или их частей для перемещения из оперативной памяти на диск и обратно
3) перемещение по мере необходимости данных между памятью и диском
4) преобразование виртуальных адресов в физические
Виртуализации памяти может быть осуществлена на основе 2 подходов:
1) свопинг (swapping) – образы процессов выгружаются на диск и возвращаются в оперативную память целиком:
Так как, процесс С очень большой, процесс А был выгружен временно на диск, после завершения процесса С он снова был загружен в память.
2) виртуальная память (virtual memory) – между оперативной памятью и диском перемещаются части образов процессов (сегменты, страницы и т.д.).
Диспетчер памяти преобразует виртуальные адреса в физические.
Виртуальная память реализуется с помощью 3 классов:
1) страничная виртуальная память – организует перемещение данных между памятью и диском страницами, т.е. частями виртуального адресного пространства, фиксированного и сравнительно небольшого размера.
Достоинства: высокая скорость обмена и низкий уровень фрагментации.
Недостатки: сложная организация защиты данных.
2) Сегментная виртуальная память – предусматривает перемещение данных сегментами, т.е. частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных.
Достоинства: более простая защита сегментов.
Недостатки: медленное преобразование адреса и высокий уровень фрагментации.
3) Сегментно-страничная виртуальная память – это двухуровневое деление: виртуальное адресное пространство делится на сегменты, а сегменты делятся на страницы. Это способ объединяет достоинства 2 предыдущих.
Кэширование данных
Для ускорения доступа к данным широко используется принцип кэширования. В компьютерах существует иерархия запоминающих устройств, в которой каждый уровень памяти (кроме нижнего) выполняет роль кэша по отношению к нижележащему.
Каждая запись в кэш-памяти об элементе данных включает в себя:
1) значение элемента данных
2) адрес, который этот элемент данных имеет в основной памяти
3) дополнительную информацию (признаки модификации и действительности данных)
Способы отображения оперативной памяти на кэш
1) Случайное отображение.
Элемент оперативной памяти может быть размещен в произвольном месте кэш-памяти. Для возможности поиска данные размещаются в кэш вместе со своим адресом.
Недостаток: высокая стоимость соответствующих схем.
Преимущество: скорость работы.
2) Детерминированный (прямой) способ отображения.
Элемент основной памяти всегда отображается в одно и то же место кэш-памяти. В этом случае кэш-память разделена на строки, каждая из которых предназначены для хранения одной записи об одном элементе данных и имеет свой номер.
Недостаток: в одной строке не могут храниться 2 элемента, поэтому уменьшается производительность.
Преимущество: простая схемотехническая реализация.
В современных процессорах кэш-память строится на основе сочетания этих 2-х подходов.