Тема 2.5. Эволюция режимов работы ЭВМ
Операционные системы предоставляют пользователям достаточно широкий спектр вычислительных услуг, упрощая процесс использования ЭВМ. Прежде всего это касается разнообразия режимов работы машин, обеспечиваемых ОС. Под режимом работы понимают принципы структурной и функциональной организации аппаратных и программных средств.
У процессора есть три режима работы: ввод, обработка и вывод информации.
Рис.9 Режим работы микропроцессора
В общем случае режимы использования ЭВМ подразделяют на однопрограммные и многопрограммные.
Исторически однопрограммные режимы появились первыми. При их реализации все основные ресурсы ЭВМ (время работы процессора, оперативная память и др.) полностью отдаются в монопольное владение пользователя. Однопрограммный режим может иметь модификации: однопрограммный режим непосредственного доступа и однопрограммный режим косвенного доступа.
В режиме непосредственного доступа, пользователь получает ЭВМ в полное распоряжение: он сам готовит ЭВМ к работе, загружает задания, инициирует их, наблюдает за ходом решения и выводом результатов. По окончании работ одного пользователя все ресурсы ЭВМ передаются в распоряжение другого. Этот тип режима характеризуется весьма низкой полезной загрузкой технических средств. К снижению производительности ЭВМ из-за простоев процессора приводят затраты времени на подготовку ЭВМ к работе (включение, проверка, загрузка ОС, ввод заданий и т.д.) и большое время реакции пользователя. По этим причинам режим практически не используется в универсальных ЭВМ. Напротив, в ПЭВМ этот режим используется как основной, поскольку в этих типах ЭВМ главным критерием эффективной работы считается обеспечение максимальных удобств пользователю.
В этом режиме одновременно не может выполняться более одной программы, то есть пока не выполнятся все три действия -ввод, обработка, вывод, - следующая программа не запустится. Еще один недостаток - процессор (нужный именно для обработки данных) зачастую простаивал в ожидании сначала вывода первой программы, а потом ввода второй.
Рис.10 Режим непосредственного доступа
В режиме косвенного доступа пользователь не имеет прямого контакта с ЭВМ. Этот режим был предшественником многопрограммных режимов в ЭВМ высокой и средней производительности, он имел целью обеспечить более полную загрузку процессора за счет сокращения непроизводительных его простоев. В настоящее время он практически не используется, так как время работы процессоров в современных ЭВМ не является главным ресурсом системы, но принципы построения этого режима позволяют лучше уяснить сущность многопрограммной обработки.
Здесь уже более разумно используется время процессора. Обработка данных идет пакетным образом, то есть во время обработки процесса или программы процессор уже может загружать следующие данные для обработки.
Однако такая схема не лишена недостатков: например, данные уже могут быть введены, но самим процессором еще выполняется обработка предыдущих данных.
Рис.11 Режим косвенного доступа, *А,B,C - пакет заданий.
Суть режима состоит в следующем.
Из подготовленных заданий пользователей составляется пакет заданий. Процессор обслуживает программы пользователей строго в порядке их следования в пакете. Процесс выполнения очередной программы не прерывается до полного ее завершения. Только после этого процессор как ресурс отдается в монопольное владение следующей очередной программе. Как видно, доступ пользователя к ресурсам ЭВМ осуществляется косвенно средствами ОС, организующими автоматический переход от обслуживания одного задания пользователя к другому. Благодаря этому режим часто называют последовательной пакетной обработкой. При нем обеспечивается параллельная работа устройств ввода-вывода и процессора. Это позволяет значительно повысить производительность ЭВМ за счет сокращения простоев.
Режим косвенного доступа имеет существенный недостаток. Он не позволяет полностью исключить случаи простоя процессора или непроизводительного его использования. Всякий раз, когда очередная программа, вызванная в процессор, предварительно не обеспечена данными, процессор вынужден простаивать. При этом резко снижается эффективность использования ЭВМ. Этот случай отражен на рис.11, б на примере выполнения задания В. Неэффективно работает ЭВМ и тогда, когда обрабатываемые программы захватывают процессор на длительное время. В этих случаях остальные программы пакета остаются без обслуживания. Особо опасны ситуации, в которых текущая программа не выходит на завершение (например, "испортилась" после сбоя во время решения или некорректно сформирована пользователем). В этом режиме у ЭВМ отсутствуют средства разрешения подобных конфликтов, и требуется вмешательство оператора.
Многопрограммный режим работы ЭВМ позволяет одновременно обслуживать несколько программ пользователей. Реализация режима требует соблюдения следующих непременных условий:
- независимости подготовки заданий пользователями;
- разделения ресурсов ЭВМ в пространстве и времени;
- автоматического управления вычислениями.
Независимость подготовки заданий пользователями обеспечивается развитыми средствами САП. Используя имеющиеся языки программирования, пользователи не должны учитывать ситуации, в которых может произойти одновременное их обращение к одним и тем же ресурсам ЭВМ. Они могут использовать даже одинаковые идентификаторы, обращаться к одним и тем же библиотекам программ и массивам данных, задействовать одни и те же устройства и т.д. Очереди к общим ресурсам должны обслуживаться средствами ОС, не создавая взаимных помех пользователям.
Различают следующие виды многопрограммной работы: классическое мультипрограммирование, режим разделения времени, режим реального времениицелый ряд производных от них.
Режим классического мультипрограммирования, или пакетной обработки, применительно к однопроцессорным ЭВМ является основой для построения всех других видов многопрограммной работы. Режим имеет целью обеспечить минимальное время обработки пакета заданий и максимально загрузить процессор.
Пакет заданий упорядочивается в соответствии с приоритетами заданий, и обслуживание программ ведется в порядке очередности. Обычно процессор обслуживает наиболее приоритетную программу. Как только ее решение завершается, процессор переключается на следующую по приоритетности программу. В этом режим во многом похож на режим косвенного доступа. В режиме мультипрограммирования имеется существенное отличие. Если при обслуживании наиболее приоритетной программы создается ситуация, что вычисления не могут быть продолжены (например, требуется ввести дополнительные данные), то прерывание обслуживания сопровождается передачей управления следующей по приоритетности программе. Но как только условия, препятствующие продолжению наиболее приоритетной задачи, отпадут, процессор вновь возвращается к продолжению решения ранее прерванной программы.
Режим разделения времени является более развитой формой многопрограммной работы ЭВМ. В этом режиме, обычно совмещенном с фоновым режимом классического мультипрограммирования, отдельные наиболее приоритетные программы пользователей выделяются в одну или несколько групп. Для каждой такой группы устанавливается круговое циклическое обслуживание, при котором каждая программа группы периодически получает для обслуживания достаточно короткий интервал времени - время кванта.
После завершения очередного цикла процесс выделения квантов повторяется. Это создает у пользователей впечатление кажущейся одновременности выполнения их программ. Если пользователю к тому же предоставляются средства прямого доступа для вывода результатов решения, то это впечатление еще более усиливается, так как результаты выдаются в ходе вычислений по программе, не ожидая завершения обслуживания всех программ группы или пакета в целом.
Режим разделения времени используется в NT системах (WinNT, WinXP и далее).
Суть разделения времени в том, что процессор выделяет на каждую программу определенный промежуток времени (в зависимости от приоритета) в т.н. квантах и циклически проходится по всем программам, таким образом создается видимость одновременной работы множества программ и довольно большая, по сравнению с предыдущими режимами, устойчивость системы. Такой режим является самым широко используемым на сегодняшний момент.
Рис.12 Режим разделения времени
Более сложной формой разделения времени является режим реального времени. Этот режим имеет специфические особенности:
- поток заявок от абонентов носит, как правило, случайный, непредсказуемый характер;
- потери поступающих на вход ЭВМ заявок и данных к ним не допускаются, поскольку их не всегда можно восстановить;