Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Ввод – вывод и файловая система



Основными компонентами подсистемы ввода – вывода являются драйверы, управляющие внешними устройствами, и файловые системы.

К подсистеме ввода – вывода можно также отнести и диспетчер прерываний; правда это весьма условно, так как он обслуживает не только модули подсистемы ввода – вывода но также планировщик или диспетчер потоков.

Файловую систему целесообразно рассматривать совместно с другими компонентами ввода – вывода по двум причинам:

· файловая система активно использует ввод – вывод;

· модель файла может быть в основе большинства механизмов доступа к устройствам ввода – вывода.

 

 

Задачи ОС по управлению файлами и устройствами

Подсистема ввода-вывода мультипрограммной ОС решает следующие основные задачи:

· организация параллельной работы устройств ввода – вывода и процессора;

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

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

· обеспечение удобного логического интерфейса между устройствами и остальной частью системы;

· поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера;

· динамическая загрузка и выгрузка драйверов;

· поддержка нескольких файловых систем;

· поддержка синхронных и асинхронных операций ввода – вывода.

 

 

Организация параллельной работы устройств ввода – вывода и процессора.

Каждое устройство ввода – вывода – снабжено блоком управления – контроллером. Контроллер взаимодействует с драйвером – системным программным модулем, управляющим данным устройством.

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

Устройство ввода – вывода работает под управлением контроллера в интервалах между выдачей команд независимо от ОС.

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

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

Для реализации этого процесса обычно используется диспетчер прерываний ОС.

 

 

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

При обмене данными возникает задача согласования скоростей. Оно достигается за счет буферизации данных в ОП и синхронизации доступа процессов к буферу.

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

Для таких случаев в качестве буфера используется (spool - шпулька). Типичный пример – вывод на принтер. Печать документа в несколько десятков мегабайт – не редкость.

Другое решение проблемы – большая буферная память в контроллерах внешних устройств. Пример – контроллеры графических дисплеев. Их ОП соизмерима с ОП процессора.

 

 

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

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

ОС должна обеспечивать контроль доступа теми же способами, что и при доступе процессов к другим ресурсам ВС.

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

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

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

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

 

 

Обеспечение удобного логического интерфейса между устройствами и остальной частью системы

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

Привлекательность такой модели состоит в ее простоте и унифицированности для устройств различного типа.

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

 

 

Поддержка широкого спектра драйверов и простота включения нового драйвера в систему

Наличие разнообразных драйверов для всех типов внешних устройств является важной характеристикой ОС. Например, такая прекрасная во многих отношениях ОС как ОС/2 была вытеснена ОС Windows благодаря богатству драйверов.

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

Драйвер взаимодействует, с одной стороны с модулями ядра ОП (подсистемой ввода – вывода, системными вызовами, управления процессами и памятью), с другой стороны, с контролерами внешних устройств.

Поэтому существует 2 типа интерфейсов:

· драйвер – ядро;

· драйвер – устройство.

Интерфейс драйвер – ядро должен быть стандартизирован в любом случае.

Интерфейс драйвер – устройство имеет смысл стандартизировать тогда, когда подсистема ввода – вывода не разрешает драйверу непосредственно взаимодейсвовать с аппаратурой.

Экранирование драйвера от аппаратуры является весьма полезной функцией, так как драйвер становится независимым от аппаратной платформы.

Для поддержки процесса разработки драйверов к ОС обычно выпускается пакет ДДК (Diver Development Kit), представляющий собой инструментарий – библиотеки, компиляторы и отладчики.

 

 

Динамическая загрузка и выгрузка драйверов

Включение драйвера в состав модулей работающей ОС представляет собой самостоятельную проблему.

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

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

 

 

Поддержка нескольких файловых систем

Диски – особый род периферийных устройств, так как на них хранится большая часть пользовательских и системных данных. Эти данные организуются в файловые сисемы, свойства которых во многом определяют свойства ОС (отказоустойчивость, быстродействие, макс. объем хранимых данных). Хорошая файловая система обычно «кочует» из одной ОС в другую.

Так файловая система FAT первоначально была разработана для MS-DOS, затем перекочевала в OS/2 и MS Windows (3.1).

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

Для этого в ОС предусматривается специальный слой ПО, который отвечает за решение данной задачи. Например, слой VFS (Virtual File System) в версиях UNIX.

 

 


Поделиться:



Популярное:

  1. A.16.15.5. Экран состояния модулей удаленного ввода-вывода (RIOM)
  2. A.19. Противопожарная система
  3. A.32.4.5.3. Система УСАВП: тест управления рекуперативным торможением
  4. II. Поселение в Испании. Взаимоотношения вестготов и римлян. Королевская власть. Система управления. Церковная политика.
  5. IV Обсуждение результатов и некоторые выводы
  6. АВАРИИ НА КОММУНАЛЬНЫХ СИСТЕМАХ ЖИЗНЕОБЕСПЕЧЕНИЯ
  7. Автоматизированная система мониторинга вычислительной среды и обнаружения сетевых атак.
  8. АВТОМАТИЧЕСКАЯ СИСТЕМА ОПОВЕЩЕНИЯ И ТУШЕНИЯ ПОЖАРА АСОТП ИГЛА-М.5К-Т И СКТБ
  9. Автор специального исследования по этому вопросу Середонин пришел к выводу, что в конце XVI в. было не более 23–25 тыс. детей боярских и дворян, числившихся в разрядных списках.
  10. Административно-территориальное деление и система местного самоуправления США
  11. Антиоксидантная система (АОС).
  12. БАЛАНС ВОДЫ В СИСТЕМАХ ОБОРОТНОГО ВОДОСНАБЖЕНИЯ


Последнее изменение этой страницы: 2016-07-13; Просмотров: 2018; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь