Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы Операц среды Уманский 2011.docx
Скачиваний:
35
Добавлен:
24.09.2019
Размер:
66.74 Кб
Скачать
  1. Методы согласования скоростей работы периферийных устройств.

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

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

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

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

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

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

  1. Понятие буферизации.

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

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

Термины «прозрачная» и «непрозрачная» буферизация не совсем удачны, поскольку могут несколько сбивать с толку. В качестве более удачных можно было бы предложить термины, соответственно, «невидимая» и «видимая буферизация».