Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Тема_4.ppt
Скачиваний:
252
Добавлен:
11.04.2015
Размер:
5.04 Mб
Скачать

4.2.8. Поддержка синхронных и асинхронных

операций ввода-вывода Внутренние вызовы операций ввода-вывода из

модулей ядра обычно выполняются в виде асинхронных процедур, так как кодам ядра нужна свобода в выборе дальнейшего поведения после запроса ввода-вывода.

Операционные системы

131

4.2.8. Поддержка синхронных и асинхронных

операций ввода-вывода Асинхронный ввод-вывод характерен для

большинства мультипрограммных операционных систем, особенно если операционная система поддерживает мультизадачность с помощью механизма потоков выполнения.

Если асинхронный ввод-вывод в явном виде отсутствует, его можно реализовать программно, организовав для вывода данных отдельный поток выполнения.

Операционные системы

132

4.2.8. Поддержка синхронных и асинхронных

операций ввода-вывода Аппаратуру ввода-вывода можно рассматривать как

совокупность аппаратных процессоров, способных работать параллельно друг другу, а также параллельно центральному процессору (процессорам).

На таких «процессорах» выполняются так называемые внешние процессы.

Операционные системы

133

4.2.8. Поддержка синхронных и асинхронных

операций ввода-вывода

Пример: для печатающего устройства (внешнее устройство вывода данных) внешний процесс может представлять собой совокупность операций, обеспечивающих перевод печатающей головки, продвижение бумаги на одну позицию, смену цвета чернил или печать каких-то символов.

Операционные системы

134

4.2.8. Поддержка синхронных и асинхронных

операций ввода-вывода

Внешние процессы, используя аппаратуру ввода- вывода, взаимодействуют как между собой, так и с обычными «программными» процессами, выполняющимися на центральном процессоре.

Скорости выполнения внешних процессов существенно (порой на порядок или больше) отличаются от скорости выполнения обычных (внутренних) процессов.

Операционные системы

135

4.2.8. Поддержка синхронных и асинхронных

операций ввода-вывода

Для своей нормальной работы внешние и внутренние процессы должны синхронизироваться.

Для сглаживания эффекта значительного несоответствия скоростей между внутренними и внешними процессами используют буферизацию.

Операционные системы

136

4.3. Многослойная модель подсистемы ввода/вывода 4.3.1. Общая схема

При большом разнообразии устройств ввода- вывода, обладающих существенно различными характеристиками, иерархическая структура подсистемы ввода-вывода позволяет соблюсти баланс между двумя противоречивыми требованиями.

С одной стороны, необходимо учесть все особенности каждого устройства, а с другой стороны, обеспечить единое логическое представление и унифицированный интерфейс для устройств всех типов.

Операционные системы

137

4.3.Многослойная модель подсистемы ввода/вывода

4.3.1.Общая схема

При этом нижние слои подсистемы ввода- вывода должны включать индивидуальные драйверы, написанные для конкретных физических устройств, а верхние слои должны обобщать процедуры управления этими устройствами, предоставляя общий интерфейс если не для всех устройств, то по крайней мере для группы устройств, обладающих некоторыми общими характеристиками, например, для принтеров определенного производителя или для всех матричных принтеров и т. п.

Операционные системы

138

 

 

4.3. Многослойная модель подсистемы ввода-вывода

 

 

 

Дисковые

устройства

Графические устройства

Сетевые

устройства

 

 

 

 

Системные

 

вызовы

 

 

 

 

буферизация, синхронизация, к другим

 

Блок-ориентированный интерфейс

Байт-ориентированный интерфейс

 

Межмодульный обмен, связывание,

 

 

VFS

 

Диспетчер окон

HTTP

FTP

SMB

 

 

 

 

 

Высокоуровневые

 

 

 

 

UFS

NTFS

FAT

графические драйверы

TCP/UDP

SPX

 

 

 

Дисковый кэш

Низкоуровневые

IP

IPX

NetBEUI

 

 

 

 

подсистемам

 

 

 

 

графические

 

 

 

 

 

 

 

драйверы

 

 

 

Драйвер HD

Драйвер FD

 

Ethernet

FR

ATM

 

 

 

 

 

 

 

 

 

 

 

Диспетчер прерываний,

функции доступа к

аппаратуре

 

 

Контроллеры

 

 

 

 

 

 

 

устройств ввода-

 

 

 

 

 

 

 

 

вывода

 

 

 

 

 

 

 

 

 

 

 

 

Диски

Операционные системы

 

 

 

 

 

 

 

 

 

 

 

 

4.3.Многослойная модель подсистемы ввода/вывода

4.3.1.Общая схема

Как видно из рисунка, программное обеспечение подсистемы ввода-вывода делится не только на горизонтальные слои, но и на вертикальные. В данном случае в качестве примера приведены три вертикальные подсистемы управления дисками, графическими устройствами и сетевыми адаптерами. Естественно таких подсистем может быть больше.

Операционные системы

140

Соседние файлы в папке ОС