![](/user_photo/2706_HbeT2.jpg)
- •Средства синхронизации и взаимодействия процессов
- •Способы реализации взаимного исключения
- •Управление памятью
- •Типы адресов
- •Алгоритмы распределения памяти
- •I) Методы без использования внешней памяти Однозадачная система без подкачки на диск
- •Распределение памяти с фиксированными разделами
- •Распределение памяти динамическими разделами
- •Распределение памяти перемещаемыми разделами
- •II) Методы с использованием внешней памяти Свопинг и виртуальная память
- •Кэширование данных
- •Способы отображения оперативной памяти на кэш
- •Управление вводОм-выводом в операционных системах
- •Задачи ос по управлению файлами и устройствами
- •Организация параллельной работы устройств ввода-вывода и процессора
- •Согласование скоростей обмена и кэширование данных
- •Разделение устройств и данных между процессами
- •Удобный логический интерфейс
- •Поддержка широкого спектра драйверов
- •Динамическая загрузка и выгрузка драйверов
- •Поддержка нескольких файловых систем
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Многослойная модель подсистемы ввода-вывода
- •Менеджеры ввода-вывода
- •Многоуровневые драйверы
- •Специальные файлы
- •Файловая система
- •Имена файлов
- •Типы файлов
- •Атрибуты файлов
- •Иерархическая структура файловой системы
- •Общая модель файловой системы
- •Классификация файловых систем
- •Наиболее распространенные файловые системы
Управление вводОм-выводом в операционных системах
Одной из главных задач ОС является обеспечение обмена данными между приложениями и периферийными устройствами компьютера. В современной ОС функции обмена данными с периферийными устройствами выполняет подсистема ввода-вывода. Основными компонентами этой подсистемы являются драйверы, управляющие внешними устройствами и файловая система.
Задачи ос по управлению файлами и устройствами
Подсистема ввода-вывода (Input-Output Subsystem) при обмене данными с внешними устройствами должна решать ряд задач:
1) организация параллельной работы устройств ввода-вывода и процессора
2) согласование скоростей обмена и кэширование данных
3) разделение устройств и данных между процессами
4) обеспечение удобного логического интерфейса между устройствами и остальной частью системы
5) поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера
6) динамическая загрузка и выгрузка драйверов
7) поддержка нескольких файловых систем
8) поддержка синхронных и асинхронных операций ввода-вывода
Организация параллельной работы устройств ввода-вывода и процессора
Каждому устройству ввода-вывода (диск, принтер, терминал и т.д.) соответствует специальное устройство управления – контроллер. Контроллер работает параллельно с процессором и взаимодействует с прикладными программами посредством особой программы ОС – драйвером.
Подсистема ввода-вывода обслуживает контроллер в реальном масштабе времени, т.е. на уровне электрических сигналов. Для приемлемого уровня реакции все драйверы разделяются на несколько приоритетных уровней. Для реализации приоритетной схемы используется диспетчер прерываний.
Согласование скоростей обмена и кэширование данных
При обмене данными всегда возникает задача согласования скорости. В общем случае скорости генерации данных и их чтения не совпадают. Согласование скорости достигается за счет буферизации данных и синхронизации доступа процессов к буферу. Буфер обычно располагается в ОЗУ.
При больших объемах ввода - вывода, памяти может не хватать и в таких случаях под буфер используется дисковый файл: спул-файл (spool). Например, организация вывода данных на принтер. Другим решением является оснащение контроллера буферной памятью, соизмеримой с ОЗУ.
Буферизация решает и другую задачу - сократить количество реальных обращений к устройствам за счет кэширования (дисковый кэш).
Разделение устройств и данных между процессами
Устройства ввода-вывода могут предоставляться процессам в монопольное или совместное использование. При этом ОС должна обеспечивать контроль доступа путем проверки прав пользователей, от имени которых действует процесс, на выполнение операции над устройством.
ОС также может контролировать доступ к отдельным порциям данных, хранимых или отображаемых. Устройства типа диск позволяют разграничить доступ с точностью до отдельных порций данных, со своими правами.
Другие устройства, например терминал, используется только в монопольном режиме. Принтер не выделяется в монопольное использование, но разграничивает порции выдач разных процессов.