Тема занятия: «Организация ввода-вывода в ОС». — КиберПедия 

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

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Тема занятия: «Организация ввода-вывода в ОС».

2020-06-05 513
Тема занятия: «Организация ввода-вывода в ОС». 0.00 из 5.00 0 оценок
Заказать работу

Лекция

Дата проведения занятия: 29.04.2020 г.

Предмет: Операционные системы и среды.

Преподаватель: Руденко А.В.

Группа: 3КСК13.

Количество часов: 4 часа.

 

Тема занятия: «Организация ввода-вывода в ОС».

План

· Централизация ввода-вывода

· Структура системы ввода-вывода

· Супервизор ввода-вывода

· Способы организации ввода-вывода

· Режимы ввода-вывода

· Процесс управления вводом-выводом

· Буферизация, кэширование, спулинг

Ввод-вывод (от англ. input/output, I/O) в информатике — взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая система обработки информации.

Ввод — сигнал или данные, полученные системой.

Вывод — сигнал или данные, посланные системой (или из неё).

Термин «выполнять ввод-вывод» означает выполнение операций ввода или вывода.

Ввод-вывод осуществляется с применением устройств ввода-вывода.

Устройства ввода-вывода используются человеком (или другой системой) для взаимодействия с компьютером.

Например, клавиатуры и мыши — специально разработанные компьютерные устройства ввода, а мониторы и принтеры — компьютерные устройства вывода.

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

Управление вводом/выводом – это одна из главных функций операционной системы.

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

Причины централизации процесса ввода-вывода:

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

· увеличение эффективности использования ресурсов ввода-вывода;

· необходимость избавить программы ввода-вывода от ошибок.

Устройства ввода-вывода

Все устройства ввода-вывода различаются по нескольким направлениям:

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

· Некоторые устройства могут быть использованы параллельно несколькими процессами (являются разделяемыми), в то время как другие требуют монопольного захвата процессом.

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

· Часть устройств умеет передавать данные только по одному байту последовательно (символьные устройства), а часть устройств умеет передавать блок байт как единое целое (блочные устройства).

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

Блочные устройства.

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

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

Символьные устройства

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

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

Скорость Передачи данных

Супервизор ввода-вывода

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

Задачи супервизора ввода-вывода:

  • Получение запросов от прикладных задач на выполнение операций ввода-вывода.

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

  • Получение запросов на ввод-вывод от супервизора задач или от программных модулей самой операционной системы.
  • Вызов соответствующих распределителей каналов и контроллеров, планирование ввода-вывода (определение очередности предоставления устройств ввода-вывода задачам, затребовавшим эти устройства).

       Запрос на ввод-вывод либо тут же выполняется, либо ставится в очередь на выполнение.

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

В случае, если устройство ввода-вывода является инициативным*, управление со стороны супервизора ввода-вывода будет заключаться в активизации соответствующего вычислительного процесса (перевод его в состояние готовности к выполнению).

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

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

Контроллер устройства

Устройства ввода-вывода состоят из механической и электронной составляющих.

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

Механический компонент представлен самим устройством.

На плате контроллера обычно имеется разъем (интерфейс), к которому может быть подключен кабель, ведущий непосредственно к самому устройству. Стандарты интерфейса между контроллером и устройством: ANSI, IEEE, ISO, SATA, SCSI, USB, Thunderbolt, FireWire.

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

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

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

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

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

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

Режимы ввода-вывода

  1. режим обмена с опросом готовности устройства ввода-вывода;
  • ЦП посылает устройству управления команду выполнить некоторое действие устройству ввода/вывода.
  • Последнее исполняет команду, транслируя сигналы, понятные центральному процессору и устройству управления в сигналы, понятные УВВ.
  • Быстродействие УВВ намного меньше быстродействия центрального процессора. Поэтому сигнал готовности приходится очень долго ожидать, постоянно опрашивая существующую линию интерфейса на наличие или отсутствие нужного сигнала. Посылать новую команду, не дождавшись сигнала готовности, сообщающего об исполнении предыдущей команды, бессмысленно. До тех пор, пока не появится сигнал готовности, драйвер в цикле опрашивает УВВ, расходуя при этом ресурс процессора.
  1. режим обмена с прерываниями.
  • Выдача команды ввода/вывода.
  • на время «забыть» об УВВ и перейти на выполнение другой программы.
  • Появление сигнала готовности трактовать как запрос на прерывание от УВВ.

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

 

Буферизация

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

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

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

Кэширование

  • Кэш (cache – "тайник, запас") - область быстрой памяти, содержащую копию данных, расположенных где-либо в более медленной памяти, предназначенную для ускорения работы вычислительной системы.

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

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

В ряде ОС имеется возможность указать в явном виде параметры кэширования, в то время как в других за эти параметры отвечает сама ОС.

В файле system.ini ОС Windows есть возможность в секции [VCACHE] прописать, например, следующие значения:

[vcache]

MinFileCache=4096

MaxFileCache=32768

ChankSize=512

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

Spooling и захват устройств

  • Spooling - механизм, впервые позволившем совместить реальные операции ввода-вывода одного задания с выполнением другого задания.
  • Под «spool» подразумевается буфер, содержащий входные или выходные данные для устройства, на котором следует избегать чередования его использования различными процессами.

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

В некоторых операционных системах вместо использования spooling для устранения «race condition» (гонки) применяется механизм монопольного захвата устройств процессами. Если устройство свободно, то один из процессов может получить его в монопольное распоряжение. При этом все другие процессы при попытке осуществления операций над этим устройством будут либо блокированы (переведены в состояние ожидание), либо получат информацию о невозможности выполнения операции до тех пор, пока процесс, захвативший устройство, не завершится или явно не сообщит операционной системе о своем отказе от его использования.

 

 

Задание для выполнения:

1. Ознакомиться с Лекцией №13 по ссылке

 https://drive.google.com/open?id=1JQFaCLLyP2f9_b8auih01JoCS9bWzyQP

Составить конспект лекции

 

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

* https://cloud.mail.ru/public/4h3C/5cCGjtb4t - ссылка на папку для сохранения файлов с ответами.

Имена файлов для сохранения смотреть в документах за соответствующую дату задания.

 

Лекция

Дата проведения занятия: 29.04.2020 г.

Предмет: Операционные системы и среды.

Преподаватель: Руденко А.В.

Группа: 3КСК13.

Количество часов: 4 часа.

 

Тема занятия: «Организация ввода-вывода в ОС».

План

· Централизация ввода-вывода

· Структура системы ввода-вывода

· Супервизор ввода-вывода

· Способы организации ввода-вывода

· Режимы ввода-вывода

· Процесс управления вводом-выводом

· Буферизация, кэширование, спулинг

Ввод-вывод (от англ. input/output, I/O) в информатике — взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая система обработки информации.

Ввод — сигнал или данные, полученные системой.

Вывод — сигнал или данные, посланные системой (или из неё).

Термин «выполнять ввод-вывод» означает выполнение операций ввода или вывода.

Ввод-вывод осуществляется с применением устройств ввода-вывода.

Устройства ввода-вывода используются человеком (или другой системой) для взаимодействия с компьютером.

Например, клавиатуры и мыши — специально разработанные компьютерные устройства ввода, а мониторы и принтеры — компьютерные устройства вывода.

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

Управление вводом/выводом – это одна из главных функций операционной системы.

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

Причины централизации процесса ввода-вывода:

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

· увеличение эффективности использования ресурсов ввода-вывода;

· необходимость избавить программы ввода-вывода от ошибок.

Устройства ввода-вывода

Все устройства ввода-вывода различаются по нескольким направлениям:

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

· Некоторые устройства могут быть использованы параллельно несколькими процессами (являются разделяемыми), в то время как другие требуют монопольного захвата процессом.

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

· Часть устройств умеет передавать данные только по одному байту последовательно (символьные устройства), а часть устройств умеет передавать блок байт как единое целое (блочные устройства).

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

Блочные устройства.

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

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

Символьные устройства

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

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

Скорость Передачи данных


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

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

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

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...



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

0.054 с.