- •Средства синхронизации и взаимодействия процессов
- •Способы реализации взаимного исключения
- •Управление памятью
- •Типы адресов
- •Алгоритмы распределения памяти
- •I) Методы без использования внешней памяти Однозадачная система без подкачки на диск
- •Распределение памяти с фиксированными разделами
- •Распределение памяти динамическими разделами
- •Распределение памяти перемещаемыми разделами
- •II) Методы с использованием внешней памяти Свопинг и виртуальная память
- •Кэширование данных
- •Способы отображения оперативной памяти на кэш
- •Управление вводОм-выводом в операционных системах
- •Задачи ос по управлению файлами и устройствами
- •Организация параллельной работы устройств ввода-вывода и процессора
- •Согласование скоростей обмена и кэширование данных
- •Разделение устройств и данных между процессами
- •Удобный логический интерфейс
- •Поддержка широкого спектра драйверов
- •Динамическая загрузка и выгрузка драйверов
- •Поддержка нескольких файловых систем
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Многослойная модель подсистемы ввода-вывода
- •Менеджеры ввода-вывода
- •Многоуровневые драйверы
- •Специальные файлы
- •Файловая система
- •Имена файлов
- •Типы файлов
- •Атрибуты файлов
- •Иерархическая структура файловой системы
- •Общая модель файловой системы
- •Классификация файловых систем
- •Наиболее распространенные файловые системы
Менеджеры ввода-вывода
В подсистеме ввода-вывода помимо модулей, отражающих специфику внешних устройств и образующих вертикальные подсистемы, существует модуль универсального назначения, который организует работу всех компонентов системы ввода-вывода, это менеджер ввода-вывода. Он образует некую оболочку.
Основные задачи менеджера:
1) системные вызовы ввода-вывода
2) взаимодействие с контроллером
3) поддержка внутреннего интерфейса взаимодействия модулей ввода-вывода
4) взаимодействие с другими модулями ОС
Пример: менеджер ввода-вывода Windows NT. Организует взаимодействие между модулями с помощью пакетов-запросов ввода-вывода IRP (I/O Request Packet)
Многоуровневые драйверы
Драйвера делятся на:
1) низкоуровневые (аппаратные). Непосредственно управляют работой контроллеров внешних устройств.
Аппаратные драйверы делятся на:
1) блок-ориентированные – управляют устройствами прямого
доступа, которые хранят информацию о блоках фиксированного размера, каждый из которых имеет свой адрес. Например, драйверы диска.
2) байт-ориентированные – управляют устройствами,
поддерживающими побайтный адресуемый обмен. Например, драйверы принтера, терминала, сетевого адаптера.
2) высокоуровневые. Обеспечивают логический интерфейс к устройствам, например драйверы файловых систем.
По мере развития операционных систем и усложнения структуры подсистемы ввода-вывода наряду с аппаратными или низкоуровневыми появились высокоуровневые драйверы. Если различным приложениям необходимо работать с различными логическими моделями одного и того же физического устройства, то для этого в системе устанавливается несколько драйверов на одном уровне, работающих над одним аппаратным драйвером. Обычно используется от 2-х до 5 уровней.
Специальные файлы
Для унификации и структуризации программного обеспечения ввода-вывода, устройства рассматриваются как некоторые специальные (виртуальные) файлы. Такой подход позволяет использовать общий набор базовых операций ввода-вывода для любых устройств.
Пример: ОС UNIX. Специальные файлы помещаются в каталог /dev. При появлении нового устройства пользователь с помощью команды mknod имеет возможность создать новую запись.
Файловая система
Файл – это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные.
Основными целями использования файлов являются:
1) долговременное и надежное хранение информации
2) совместное использование информации
Файловая система – это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.
В широком смысле понятие «файловая система» включает:
1) совокупность всех файлов на диске
2) наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске
3) комплекс системных программных средств, реализующих управление файлами, в частности: создание, уничтожение, чтение, запись, именование, поиск и другие операции над файлами.