Раздел 5. Управление вводом/выводом. Файловая система — КиберПедия 

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Раздел 5. Управление вводом/выводом. Файловая система

2017-11-16 278
Раздел 5. Управление вводом/выводом. Файловая система 0.00 из 5.00 0 оценок
Заказать работу

При изучении данного раздела Вы должны проработать следующие темы:

· задачи системы ввода/вывода; способы обмена данными;

· менеджер ввода/вывода;

· типы файловых систем; организация файлов, контроль доступа к файлам;

· обеспечение целостности файловой системы.

Для проверки усвоения материала тем Вам предстоит ответить на вопросы для самопроверки (темы 5.1, 5.2, 5.3 и 5.4).

Работа с разделом 5 завершается сдачей контрольного теста № 5, выполнением лабораторных работ № 2, 3 и 4. Каждый правильный ответ контрольного теста оценивается в три балла, следовательно, в сумме с учетом успешно выполненных лабораторных работ можно получить 30 баллов.

 

Задачи системы ввода/вывода. Способы обмена данными

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

К основным задачам, которые решает система ввода/вывода, относят:

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

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

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

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

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

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

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

· поддержка операций ввода/вывода.

Различают два основных режима ввода/вывода: режим обмена с опросом готовности устройства ввода/вывода и режим обмена с прерываниями.

В первом случае выполнение операций ввода/вывода осуществляется под управлением процессора.Такой способ взаимодействия получил название polling или программируемого ввода/вывода.

Если скорости работы ЦП и ВУ примерно равны, то такая организация процесса обмена не приводит к потерям рабочего времени у обоих устройств.

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

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

Вопросы для самопроверки по теме 5.1

1. Какие запросы ОС может выполнять система ввода/вывода?

2. Чем отличается программируемый ввод/вывод от ввода/вывода по прерыванию?

3. Какой способ ввода/вывода позволяет освободить ЦП от управления вводом/выводом?

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

 

Менеджер ввода/вывода

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

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

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

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

Примерами подобного менеджера являются менеджер ввода/вывода ОС Windows NT, а также среда STREAMS, существующая во многих версиях операционной системы UNIX. Менеджер ввода/вывода Windows NT организует взаимодействие между модулями с помощью пакетов запросов ввода/вывода — IRP (I/O RequestPacket). Получив запрос от процедуры системного вызова, менеджер формирует IRP и передает его нужному драйверу. Драйвер после выполнения запрошенной операции возвращает ответ в виде другого IRP менеджеру, а тот в свою очередь может при необходимости передать этот IRP другому драйверу. Менеджер позволяет драйверам задавать взаимосвязи (bindings) между собой, и на основании информации о взаимосвязях и происходит передача пакетов IRP. Кроме того, менеджер Windows NT поддерживает динамическую загрузку-выгрузку драйверов без остановки системы.

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

Вопросы для самопроверки по теме 5.2

1. Назовите основные задачи, решаемые менеджером ввода/вывода.

2. Каков состав и функции верхнего слоя менеджера ввода/вывода?

3. Каков состав и функции нижнего слоя менеджера ввода/вывода?

4. Почему улучшение расширяемости приводит к замедлению работы системы ввода/вывода?

 


Поделиться с друзьями:

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.