- •Основные элементы компьютерных систем. Регистры процессора.
- •Исполнение команд. Категории команд. Понятие прерывания.
- •Многозадачность. Обработка прерываний. Множественные прерывания.
- •4. Иерархия запоминающих устройств. Кэш памяти.
- •5. Технологии ввода-вывода.
- •6. Функции операционных систем. Уровни вычислительной системы.
- •7. Понятие процесса. Требования к многозадачной ос. Модель процесса с двумя состояниями. Родительский и дочерний процессы. Создание и завершение процессов.
- •8. Модель процессов с 5 состояниями. Очереди блокированных процессов.
- •9. Свопинг. Приостановленные процессы.
- •10. Описание процессов в ос. Атрибуты процессов.
- •12. Параллельные вычисления: основные проблемы, способы взаимодействия процессов.
- •13. Взаимоисключение, критические интервалы. Понятия взаимоблокировки и голодания.
- •14. Взаимодействие процессов: семафоры.
- •15. Взаимодействие процессов: мониторы.
- •16. Взаимодействие процессов: передача сообщений.
- •31. Устройства ввода-вывода, их классификация. Эволюция функций ввода-вывода
- •32. Основные цели при проектировании ввода-вывода в ос. Иерархия управления вводом-выводом.
- •33. Буферизация ввода-вывода.
- •34. Параметры производительности диска. Стратегии дискового планирования
- •35. Дисковый кэш. Алгоритмы замещения.
31. Устройства ввода-вывода, их классификация. Эволюция функций ввода-вывода
Устройства ввода-вывода.
Внешние устройства ввода вывода могут быть разделены на три группы:
1. Работающие с пользователем. Используются для связи с пользователем:
принтеры, мониторы, мышь, клавиатура.
2. Работающие с компьютером. Используются для связи с электронным
оборудованием: дисковые устройства, датчики, контроллеры.
3. Коммуникации. Используются для связи с удаленными устройствами: модемы,
драйверы цифровых линий.
Устройства ввода-вывода могут различаться по следующим критериям:
1. Скорость передачи данных.
2. Применение. Функции устройств требуют соответствующего программного
обеспечения и изменения стратегии ОС.
3. Сложность управления. Например, для диска требуется гораздо более сложный
интерфейс управления по сравнению с принтером.
4. Единицы передачи данных. Могут передаваться как поток символов (терминал),
блоками (при выполнении дисковых операций).
5. Представление данных. Устройства использую разные схемы кодирования
данных.
6. Условия ошибок. Способ сообщения об ошибках и их последствии могут
значительно различаться у разных устройств.
Разнообразие устройств ввода-вывода приводит к невозможности разработки
единого подхода к задаче ввода-вывода.
Мы уже рассматривали три способа ввода-вывода: программируемый ввод-вывод,
ввод-вывод, управляемый прерываниями и прямой доступ к памяти. В настоящее время в
большинстве систем основным способом является прямой доступ к памяти.
Рассмотрим основные этапы развития управления вводом-выводом:
1. Процессор непосредственно управляет устройством.
2. Появляется контроллер или модуль ввода-вывода. Процессор отделяется от
некоторых деталей операций ввода-вывода, контроллер берет эти функции на себя,
предоставляя процессору более удобный и унифицированный интерфейс ввода
вывода.
3. Добавляются прерывания, благодаря которым процессор может переключиться на
другие задачи при выполнении операций ввода-вывода.
4. Появляется прямой доступ к памяти, который позволяет перемещать блоки данных
без участи процессора за исключением начала и окончания передачи.
5. Модуль ввода-вывода становится отдельным процессором со специальной
системой команд. Центральный процессор дает контроллеру команду – выполнить
программу ввода-вывода, после чего контроллер самостоятельно считывает и
выполняет ее команды, тем самым еще больше разгружая и увеличивая
производительность центрального процессора.
6. Модуль ввода-вывода теперь обладает своей локальной памятью, при этом
управление устройствами ввода-вывода происходит при минимальном участии
процессора.
32. Основные цели при проектировании ввода-вывода в ос. Иерархия управления вводом-выводом.
Вопросы проектирования ввода-вывода в ОС
При разработке средств ввода-вывода преследуются 2 важнейшие цели:
эффективность и универсальность. Медленное выполнение операций ввода-вывода
приводит к неэффективной работе процессора, когда он простаивает из-за того, что все
процессы блокированы в ожидании операций ввода-вывода. Это частично решается с
помощью свопинга. Но выгрузка и загрузка процессов с диска в основную память сама по
себе является операцией ввода-вывода. Поэтому организация эффективного ввода-вывода
в ОС является критичной задачей.
Универсальность необходима для того, чтобы упростить работу с устройствами
ввода-вывода и снизить вероятность возникновения ошибок. Пользовательские процессы
как правило обращаются к устройствам с высокоуровневыми универсальными вызовами,
которые скрывают детали работы с конкретным устройством
Логическая структура функций ввода-вывода
Для универсальности и обеспечения модульности разработки, функции ввода-
вывода организованы в виде иерархической структуры, где каждый уровень обращается к
следующему для вызова команд. Работает это примерно по таким схемам. (см. рис 1)
Самый простой случай – когда локальное периферийное устройство
осуществляет связь с помощью потока байтов. При этом задействованы следующие
уровни:
1. Логический ввод-вывод. На этом уровне обращение к устройству ввода-вывода
осуществляется как к логическому ресурсу, детали фактического управления
устройством неизвестны. Т.е. логический модуль служит посредником между
пользовательскими процессами и более низкими уровнями ввода-вывода.
2. Устройство ввода-вывода. Запрошенные операции и данные конвертируются в
нужные последовательности инструкций и команды контроллера. Может
применяться буферизация.
3. Планирование и контроль. Здесь происходит организация очередей и планирование
операций, работа с прерываниями, получение информации о состоянии устройства,
взаимодействие с аппаратным обеспечением.
Для устройств связи схема почти такая же, но вместо логического вывода присутствует
некоторая архитектура коммуникаций, которая также может состоять из нескольких
уровней.
Рассмотрим теперь схему ввода-вывода для запоминающего устройства с
файловой системой. Здесь кроме трех нижних уровней из предыдущих схем, есть еще три
уровня:
1. Управление каталогами. На этом уровне имена файлов преобразуются в
идентификаторы. Также здесь происходят операции добавления и удаления
каталогов.
2. Файловая система. Здесь происходит работа с логической структурой файлов, их
открытием, закрытием, чтением, записью, а также осуществляется управление
правами доступа.
Физическая организация. Логические ссылки на файлы и записи должны быть
преобразованы в физические адреса конкретного устройства (например, номера дорожек,
секторов и т. д.)
