Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС 2 модуль все части ПЕЧАТАТЬ.docx
Скачиваний:
72
Добавлен:
18.12.2018
Размер:
328.96 Кб
Скачать

2)_Ч6Опишите необходимость и организацию параллельной работы увв и процессора, согласования скоростей обмена и кэширования.

Каждое УВВ ВС снабжено специализированным блоком управления – контроллером, который взаимодействует с драйвером – системным программным модулем, предназначенным для управления данным устройством. Контроллер периодически принимает от драйвера выводимую на УВВ информацию, а также команды управления, определяющие, что с этой информацией надо сделать (например, вывести в определенную область экрана или записать в определенный сектор диска). Под управлением контроллера УВВ может некоторое время выполнять свои операции автономно, без участия центрального процессора и, следовательно, возможно, параллельно с ним.При обмене данными (через ОП или в случае ввода-вывода) всегда возникает задача согласования скорости, поскольку скорости генерации данных и их чтения обычно не совпадают. Согласование скоростей обычно достигается за счет буферизации данных в ОП и синхронизации доступа процессов к буферу. Буферизация данных позволяет не только согласовать скорости работы процессора и УВВ, но и уменьшить число реальных операций ввода-вывода за счет кэширования данных. Дисковый кэш входит в состав подсистем ввода-вывода практически всех ОС, значительно сокращая время доступа к хранимым данным.

3)_Ч6Опишите необходимость и организацию разделения увв и данных между процессами, логического интерфейса между увв и остальной частью ос.

УВВ могут предоставляться процессам в монопольное или совместное (разделяемое) использование. При этом ОС должна обеспечивать контроль доступа теми же способами, что и при доступе процессов к другим ресурсам ВС – путем проверки прав пользователя или группы, от имени которых действует процесс, на выполнение данной операции над УВВ. Например, определенной группе пользователей разрешено захватывать последовательный порт в монопольное владение, а другим пользователям это запрещено.

ОС может контролировать доступ не только к УВВ в целом, но и к отдельным порциям данных, хранимых или отображаемых этим устройством, например, к отдельным каталогам и файлам диска, окнам на экране дисплея и т.д. При этом для каждой порции данных или части устройства могут быть заданы свои права доступа, не связанные прямо с правами доступа к устройству в целом. Одни УВВ могут работать как в монопольном режиме, так и в разделяемом, другие – только в одном из них. ОС должна предоставлять УВВ в обоих режимах, отслеживая процедуры захвата и освобождение монопольно используемых устройств, а в случае совместного использования оптимизируя последовательность операций ввода-вывода для различных процессов в целях повышения общей производительности, если это возможно. Например, при обмене данными нескольких процессов с диском можно так упорядочить последовательность операций, что непроизводительные затраты времени на перемещение головок существенно уменьшатся (правда, с возможным замедлением операции ввода-вывода для отдельных процессов).

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

Обеспечение удобного логического интерфейса между УВВ и остальной частью ОС. Разнообразие УВВ делает особенно актуальной функцию ОС по созданию экранирующего логического интерфейса между периферийными устройствами и приложениями. Почти все ОС поддерживают в качестве его основы файловую модель, когда любое УВВ выглядит для прикладного программиста как последовательный набор байтов, с которым можно работать с помощью унифицированных системных вызовов (например, read и write), задавая имя файла-устройства и смещение от начала последовательности байтов. Для поддержки такого удобного интерфейса подсистема ввода-вывода должна проделать немалую работу, учитывая разницу в организации операций обмена данными, например, с жестким диском и с графическим терминалом.

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