Различные формы многопрограммных (мультипрограммных) режимов работы различаются в основном значимостью различного рода ресурсов и правилами перехода от обслуживания одной программы пользователя к другой. Эти правила отличаются условиями прерывания текущей программы и условиями выбора новой программы из очереди, которой передается управление.
Различают следующие виды многопрограммной работы: классическое мультипрограммирование, режим разделения времени, режим реального времени и целый ряд производных от них.
Режим классического мультипрограммирования, или пакетной обработки, применительно к однопроцессорным ЭВМ является основой для построения всех других видов многопрограммной работы. Режим имеет целью обеспечить минимальное время обработки пакета заданий и максимально загрузить процессор.
Пакет заданий упорядочивается в соответствии с приоритетами заданий, и обслуживание программ ведется в порядке очередности. Обычно процессор обслуживает наиболее приоритетную программу. Как только ее решение завершается, процессор переключается на следующую по приоритетности программу. В этом режим во многом похож на режим косвенного доступа. В режиме мультипрограммирования имеется существенное отличие. Если при обслуживании наиболее приоритетной программы создается ситуация, что вычисления не могут быть продолжены (например, требуется ввести дополнительные данные), то прерывание обслуживания сопровождается передачей управления следующей по приоритетности программе. Но как только условия, препятствующие продолжению наиболее приоритетной задачи, отпадут, процессор вновь возвращается к продолжению решения ранее прерванной программы. Этот случай иллюстрируется на рис. 9.6 при выполнении задания В. Прикладной уровень Информационно-вычислительные системы и сети

Рис. 9.6. Многопрограммный режим пакетной обработки
Подобные прерывания и передачи управления могут многократно наслаиваться друг на друга. Это позволяет до минимума сократить непроизводительные простои процессора.
Из вышеизложенного следует, что в однопроцессорных ЭВМ многопрограммность является кажущейся, так как процессор предоставляется программам в непересекающиеся интервалы времени. Уменьшение времени обслуживания обеспечивается также за счет параллельной работы процессора и устройств ввода-вывода.
В качестве недостатка надо отметить, что в режиме мультипрограммирования улучшение качества обслуживания пользователей по сравнению с косвенным доступом не предусматривается. Здесь также отдельные программы могут надолго монополизировать процессор, блокируя тем самым программы других пользователей.
Режим разделения времени является более развитой формой многопрограммной работы ЭВМ. В этом режиме, обычно совмещенном с фоновым режимом классического мультипрограммирования, отдельные наиболее приоритетные программы пользователей выделяются в одну или несколько групп. Для каждой такой группы устанавливается круговое циклическое обслуживание, при котором каждая программа группы периодически получает для обслуживания достаточно короткий интервал времени - время кванта-т (рис.9.7).

Рис. 9.7. Режим разделения времени
После завершения очередного цикла процесс выделения квантов повторяется. Это создает у пользователей впечатление кажущейся одновременности выполнения их программ. Если пользователю к тому же предоставляются средства прямого доступа для вывода результатов решения, то это впечатление еще более усиливается, так как результаты выдаются в ходе вычислений по программе, не ожидая завершения обслуживания всех программ группы или пакета в целом.
Условием прерывания текущей программы является либо истечение выделенного кванта времени, либо естественное завершение (окончание) решения, либо прерывание по вводу-выводу, как при классическом мультипрограммировании. Для реализации режима разделения времени необходимо, чтобы ЭВМ имела в своем составе развитую систему измерения времени:
интервальный таймер, таймер процессора, электронные часы и т.д. Это позволяет формировать группы программ с постоянным или переменным кванта времени - т . Разделение времени находит широкое применение при обслуживании ЭВМ сети абонентских пунктов.
Более сложной формой разделения времени является режим реального времени. Этот режим имеет специфические особенности:
• поток заявок от абонентов носит, как правило, случайный, непредсказуемый характер;
• потери поступающих на вход ЭВМ заявок и данных к ним не допускаются, поскольку их не всегда можно восстановить;
• время реакции ЭВМ на внешние воздействия, а также время выдачи результатов i-й задачи должны удовлетворять жестким ограничениям вида
tP<= tРДОП(9.1)
где tP - время решения задачи; tРДОП - допустимое время решения.
На рис.9.8 показана зависимость стоимости решения задачи от времени tP. При нарушении неравенства (9.1) стоимость решения резко падает до нуля; в отдельных системах она может стать и отрицательной, что показано штриховой линией. Режим реального времени объединяет практически все системы, в которых ЭВМ используется в контуре управления.

Рис. 9.8. Зависимость стоимости решения от времени в системах реального времени
Специфические особенности режима реального времени требуют наиболее сложных операционных систем. Именно на базе этого режима строятся так называемые диалоговые системы, обеспечивающие многопользовательский режим: одновременную работу нескольких пользователей с ЭВМ. Диалоговые системы могут иметь различное содержание: системы, обслуживающие наборы данных; системы разработки документов, программ, схем, чертежей; системы выполнения программ в комплексе "человек - машина" и др. Диалоговый режим обслуживания предполагает использование дисплеев - устройств оперативного взаимодействия с ЭВМ. Они получили широкое распространение в различных информационных и автоматизированных системах управления.
Лазерные принтеры работают не так, как матричные и струйные, в том смысле, что на бумаге остаются сухие отметки. Когда компьютер готовит страницу к печати на матричном или струйном принтере, он должен посылать данные полинейно. Лазерные обрабатывают информацию по целой странице одновременно.
Персональный компьютер - характеристики, логические основы, процессор и управление устройствами Информационно-логические основы Классификация элементов и узлов