Глава 13. Система управления вводом-выводом
Функционирование любой вычислительной системы обычно сводится к выполнению двух видов работы: обработке информации и операций по осуществлению ее ввода-вывода. Поскольку в рамках модели, принятой в этом курсе, все, что выполняется в вычислительной системе, организовано как набор процессов, эти два вида работы выполняются процессами. Процессы занимаются обработкой информации и выполнением операций ввода-вывода.
Содержание понятий “обработка информации” и “операции ввода-вывода” зависит от того, с какой точки зрения мы смотрим на них. С точки зрения программиста под “обработкой информации” понимается выполнение команд процессора над данными, лежащими в памяти независимо от уровня иерархии – в регистрах, кэше, оперативной или вторичной памяти. Под “операциями ввода-вывода” программист понимает обмен данными между памятью и устройствами, являющимися внешними по отношению к памяти и процессору, такими как магнитные ленты, диски, монитор, клавиатура, таймер. С точки зрения операционной системы “обработкой информации” являются только операции, совершаемые процессором над данными, находящимися в памяти на уровне иерархии не ниже, чем оперативная память. Все остальное относится к “операциям ввода-вывода”. Чтобы совершить операции над данными, временно расположенными во вторичной памяти, операционная система, как мы обсуждали в части III нашего курса, сначала производит их подкачку в оперативную память, а лишь затем процессор совершает необходимые действия.
Рассмотрение того, что именно делает процессор при обработке информации, как он решает задачу и какой алгоритм выполняет, не входит в задачи нашего курса. Это скорее относится к курсу “Алгоритмы и структуры данных”, с которого обычно начинается изучение информатики. Как операционная система управляет обработкой информации, мы разобрали в части II, в деталях описав два состояния процессов – исполнение (а что его описывать то?) и готовность (очереди планирования и т.д.), а также правила, по которым осуществляется перевод процессов из одного состояния в другое (алгоритмы планирования процессов).
Данная глава будет посвящена второму виду работы вычислительной системы - операциям ввода-вывода. Мы разберем, что происходит в компьютере при выполнении операций ввода-вывода, и как операционная система управляет их выполнением. При этом для простоты мы будем считать, что объем оперативной памяти в вычислительной системе достаточно большой, т.е. все процессы полностью располагаются в оперативной памяти, и поэтому понятия “операция ввода-вывода” с точки зрения операционной системы и с точки зрения пользователя содержательно совпадают. Такое предположение не снижает общности нашего рассмотрения, так как подкачка информации из вторичной памяти в оперативную память и обратно обычно строится по тому же принципу, что и все прочие операции ввода-вывода.
Прежде чем говорить о работе операционной системы при осуществлении операций ввода-вывода, нам придется вспомнить часть сведений из курса “Архитектура современных ЭВМ и язык ассемблера”, чтобы понять, как осуществляется передача информации между оперативной памятью и внешним устройством, и почему для подключения к вычислительной системе новых разнообразных устройств ее не требуется перепроектировать.
Дата добавления: 2015-07-24; просмотров: 600;