Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операции ввода-вывода. Прерывания.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
187.78 Кб
Скачать

Программное обеспечение ввода-вывода

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

Назначение программного обеспечения ввода-вывода

Ключевая концепция разработки ПО ввода-вывода — независимость от устройств. Эта концепция означает возможность написания программ, способных получать доступ к любому устройству ввода-вывода без предварительного указания конкретного устройства. Соответственно, программа, читающая данные из входного файла, должна с одинаковым успехом работать с файлом на CD, HDD, Floppy, причем без каких-либо изменений в программе. Например, должна быть возможность выполнить команду вроде sort < input > output

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

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

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

Программное обеспечение ввода-вывода разбивается на 4 уровня:

  1. Обработчики прерываний.

  2. Драйверы устройств.

  3. Независимый от аппаратуры код ОС.

  4. Пользовательские программы.

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

Инкремент, инкрементирование (от англ. increment «увеличение») — операция во многих языках программирования, увеличивающая переменную. Обратную операцию называют декремент (уменьшение).

7