Мультипрограммирование в системах разделения времени

      Комментарии к записи Мультипрограммирование в системах разделения времени отключены

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

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

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

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

Мультипрограммирование в системах

Реального времени

Еще одна разновидность мультипрограммирования используется в системах реального времени, предназначенных для управления с помощью компьютера различными техническими объектами (например, станком, спутником, научной экспериментальной установкой и т. д.) или технологическими процессами. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная управляющая объектом программа. В противном случае может произойти авария. Таким образом, критерием эффективности здесь является время реакции системы. Требования ко времени реакции зависят от специфики управляемого процесса. Контроллер робота может требовать от встроенного компьютера ответ в течение менее 1 мс, в то время как при моделировании полета может быть приемлем ответ в 40 мс.

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

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

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

Статьи к прочтению:

Лекция 6: Планирование заданий. Взаимодействие и синхронизация процессов и потоков


Похожие статьи: