Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС - Модуль - Часть 1.doc
Скачиваний:
3
Добавлен:
23.11.2019
Размер:
232.96 Кб
Скачать
  1. Мультипрограммирование в системах разделения времени

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

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

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

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

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

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