Режимы работы вычислительных систем

 

 

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

В [2] дано следующее определение режима работы вычислительных систем - это принципы структурной и функциональной организации аппаратных и программных средств.

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

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

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

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

Один из наиболее востребованных ресурсов – это память. Запрет одновременного доступа к уже использующимся областям памяти обеспечивается при так называемом защищенном режиме. Т.к. задач много и требуют они разных объемов памяти, а выполняться должны вместе, операционная система должна иметь возможность при переключении между задачами сохранять контекст задачи. Контекст задачи – это все переменные, участки кода и пр., находящиеся в памяти в момент переключения к другой задаче.

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

В современных ЭВМ учитывается не только возможность объединения задач в пакеты, но и очередность их поступления, а также важность задач (приоритетность). Задача занимает какой-то ресурс до тех пор, пока не освободит его в результате своего выполнения. Однако существует механизмы, когда выполнение одной задачи прерывается в результате получения сообщения от высокоприоритетной задачи или аппаратного контроллера – это механизм прерываний. Организация прерываний и их обработка достаточно сложна. Представьте ситуацию в офисе с двумя служащими. Один из них, например, аналитик занимается написанием отчета и его ничего не отвлекает. А секретарь вынужден не только готовить расписание завтрашнего совещания, но и отвечать на телефонные звонки по двум входящим телефонным линиям и осуществлять переключение на внутренние номера абонентов офисной АТС, к которым этот звонок непосредственно адресован. Организация работы кого из служащих значительно сложнее?

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

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

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

Кооперативная многозадачность (появился в Windows 3.x). Задача, получившая управление, выполняется до тех пор, пока она сама по своей инициативе не передаст управление другой задаче.

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

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

 


Лекция добавлена 28.02.2013 в 00:48:13