русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Буферизация


Дата добавления: 2014-11-28; просмотров: 783; Нарушение авторских прав


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

Рассмотрим последовательность действий при исполнении заказа на чтение N-ого блока из устройства с номером M.

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

2. Если буфер не найден, то в буферном пуле ищется свободный буфер. Если такой есть (реально, эта ситуация возможна только при старте системы), фиксируем его номер и переходим к шагу 3. Если нет, то выбирается буфер, к которому не было обращений самое долгое время. Фиксируем его номер и переходим к пункту 3.

3. Осуществляется чтение N-ого блока устройства М в найденный буфер.

4. Происходит обнуление счетчика времени в данном буфере и увеличение на единицу счетчиков в других буферах.

5. Передаем в качестве результата чтения содержимое данного буфера.

 

Преимущества:

- минимизируются реальные обращения к физическому устройству.

- согласуются скорости генерации данных и их чтения

 

Недостатки

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

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



Для устранения таких недостатков,

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

- есть пользовательская команда SYNC. По этой команде осуществляется сброс данных на диск.

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

Буферизация может быть

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

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

- в буферной памяти в контроллерах внешних устройств (когда помещение данных на диск слишком замедляет обмен. Например, в контроллерах графических дисплеев применяется буферная память, соизмеримая по объему с оперативной, и это существенно ускоряет вывод графики на экран).



<== предыдущая лекция | следующая лекция ==>
Драйвера | Поддержка операций ввода-вывода


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.06 сек.