- •Классификация ос
- •Ао компьютера
- •Виртуальная память
- •Шк- Шина Кэш
- •А-процесс а
- •Лекция 11
- •Режимы управления вводом/выводом.
- •Основные системные таблицы ввода/вывода
- •Наличие связи между таблицами 1 и 3 .
- •Прямой доступ к памяти.
- •Файловая система vfat, fat32.
- •Структура тома с файловой системой ntfs.
- •Атрибуты файлов в ntfs.
Основные системные таблицы ввода/вывода
Каждая операционная система имеет свои таблицы ввода/вывода для того чтобы управлять вводом/выводом через операционную систему (ядро) и выполнять при этом механизм прерывания операционной системы должна иметь по крайней мере 3 системные таблицы.
Первая таблица оборудования содержит информацию обо всех устройствах ввода/вывода подключенных к системе.(Unit Control Block). UCB cодержит следующую информацию об устройстве:
тип устройства, его модель
подключение устройства ( через какой интерфейс, к какому разъёму, какие порты и линии прерывания используются)
указание на драйвер (адрес секции запуска)
информацию о буфере памяти
состояние устройств
указатель на дескриптор задачи использующий устройство в данный момент
2 таблица описания виртуальных (логических ) устройств.
Её назначение – устранение связи между виртуальными устройствами, описанными в таблице 1. 2 таблица позволяет ядру операционной системы перенаправлять запрос на ввод/вывод из приложения на те программные модули и страницы данных, которые (или адреса которых) хранятся в соответствующем элементе 1 таблицы.
В многопользовательских системах таких таблиц нет : одна общая и по одной на каждого пользователя.
3 таблица прерывания, которая для всех сигналов прерывания указывает тот или иной элемент 1 таблицы, который описывает устройство выполняющее эту линию прерывания. Эта таблица может в явном виде не присутствовать поскольку может из основной таблицы прерываний попасть на драйвер, именующий связи с элементом UCB.
Наличие связи между таблицами 1 и 3 .
Взаимосвязь изображают так:
1элемент Таблица
логических имен iэлемент
jэлемент Таблица
оборудования 1
UCB
iэлемент
jэлемент
n
элемент Таблица
прерывания 1
элемент
hэлемент
gэлемент
Управление вводом/выводом состоит в выполнении следующих действий :
Запрос на операции ввода/вывода от выполняющейся программы поступает в ядро операционной системы . Оно проверяет вызов на правильность и при отсутствии ошибок пересылает его в подсистему ввода/вывода.
Процесс ввода/вывода по логическому имени с помощью таблицы логических имен находит соответствующий элемент UCBтаблицы оборудования. Если устройство занято ,то дескриптор задачи от которой поступил запрос на ввод/вывод помещается в очередь ожидающих устройств. Если устройство свободно, то подсистема определяет по UCB тип устройства и передает управление соответствующему драйверу на секцию запуска. Драйвер инициализирует оптимизацию управления и возвращает управление диспетчеру задач , чтобы он поставил на процессор готовую к исполнению задачу , Когда устройство ввода/вывода обрабатывает команду оно поставляет запрос на прерывание , по которому через таблицу прерывания управление передается на секцию продолжения , получив новую команду устройство начинает её обрабатывать, а управление процессом передается диспетчеру задач и процессор продолжает полезную работу.
Таким образом осуществляется параллельное выполнение задач на фоне которого происходит управление операциями ввода/вывода.