Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OSSO.docx
Скачиваний:
9
Добавлен:
21.08.2019
Размер:
175.27 Кб
Скачать

Согласование скоростей обмена и кэширования данных:

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

Для увеличения объема буфера и снижения его скорости работы часто используют винчестер, создавая на нем специальный дисковый файл, используемый в качестве буфера (спул файл/спулинг файл).

Другим решением может быть использование большой буферной памяти в контроллере устройства. Это позволяет избежать медленных операций чтения/записи на диск и значительно повысить скорость работы. Например, графические платы используют буферную память соизмеримую по объему с ОЗУ и превосходящую ее по скорости работы.

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

Улучшение данной схемы возможно путем использования двух буферов. Это позволяет осуществлять передачу данных в один буфер, в то время как ОС освобождает другой. Двойная буферизация избавляет процесс от необходимости ожидания завершения операции ввода-вывода.

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

Разделение устройств и данных между процессами:

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]