Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Режим разделения времени.



Этот режим требуется в первую очередь при отладке задач или разработке алгоритмов. Каждому пользователю на время работы отводится дисплейный терминал. Данные по задаче делятся на две неравные части: резидентную, постоянно находящуюся в ОЗУ, в которой в основном записаны необходимые ресурсы ВС для работы с этой задачей, и нерезидентную, содержащую все остальные данные (программу пользователя, вызванные пользователем библиотечные программы, данные), хранящуюся в ВЗУ прямого доступа.

Перед предоставлением ВС пользователю все необходимые на данном этапе задачи данные вводятся в ОЗУ и инициируется работа программы пользователя. Но время, отводимое пользователю в системе-квант, лимитировано. Через tкв, от таймера выдается прерывание и система переходит к решению другой задачи, возвращаясь к прерванной через некоторое время - цикл. Таким образом, время пользователю выдается как бы <пунктиром>. Этот режим также является развитием мультипрограммного режима. Он направлен на то, чтобы каждый из многих пользователей мог работать с ВС в диалоговом режиме с хорошей <реактивностью> (малым временем ответной реакции ВС). Для режима разделения ВС снабжается большим числом дисплейных терминалов (от десятков до нескольких сотен) . Каждому из терминалов ОС отводит защищенное поле для ввода сообщений с терминалов. Каждый терминал операционная система интерпретирует как пультовый, в период кванта времени, отведенного этому терминалу. ОС обходит по очереди все терминалы, проверяя, нет ли сообщения от них. Запросы могут быть разными, например:

· требование на отведение для пользователя некоторых ресурсов сверх выделяемых по разделению времени автоматически; возврат этих ресурсов системе;>

· организация ввода-вывода данных или через терминал пользователя, или через центральные устройства; центральные устройства, как правило, используются для вывода окончательных результатов на графопостроитель или АБПУ;

· вызов в ОЗУ программ общего назначения, входящих в состав программного обеспечения ВС;

· останов своей рабочей программы до того, как команда останов встретится в ней самой.

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

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

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

Tцикла = кв Nt где

Nt - число терминалов в системе, а
Tцикла — максимальное время ожидания очередного обслуживания или “реактивность” ВС в дисциплине карусель. Обычно это время выбирают в пределах 10—20 с. Тогда

кв = Tцикла / N

где N — число активных терминалов.

В установившемся режиме N =(0,1— 0,3) Np, где Nр — число пользователей, одновременно работающих на ВС в системе разделения времени.

Квант может колебаться для разных случаев Np от нескольких десятых секунд до секунд. За время кванта операционная система должна организовать упрятывание всех выделенных ресурсов предыдущей задачи в ВЗУ, вызов в ОЗУ ресурсов следующей задачи, выдачу оставшейся части кванта (80—90 %) текущей задаче для решения. На практике чаще случается другое. Программист стремится в режиме РВ решить достаточно длинную задачу. Иногда это оправдано, так как отлаживаемая в этом режиме задача достаточно большая. Этому программисту, следовательно, нужно несколько квантов для решения задачи. Целесообразнее их выдать сразу, избежав неоднократного упрятывания и вывода данных в каждом цикле.

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

Этот алгоритм, предложенный профессором Корбато, в основном решал проблему противоречий коротких и длинных задач в системе РВ. Строгая постановка задачи показала, что можно рассчитать более оптимальное расписание. Для этого знаменатель геометрической прогрессии следует взять не 2, а несколько меньший. Чтобы задачи, требующие много времени, но получившие низкий приоритет в периоды активности многих терминалов, “не зависали”, один раз в 10— 15 мин маскируются приоритеты и обслуживание производится по карусели. Те задачи, которые имели максимальный квант и минимальный приоритет, получают гарантийное время обслуживания не более 15 мин. Те же из них, которые и при этом круговом обслуживании не будут закончены, снимаются с режима разделения времени, освобождают свои оперативные ресурсы, переписываются на МЛ и переводятся в режим пакетной обработки, о чем пользователю сообщается через дисплей.

В режиме разделения времени ОС организует вывод сообщений на терминалы через мультиплексный канал, упрятывание нерезидентной части только что обслуженной задачи в НМД, вызов нерезидентной части, готовящейся к исполнению задачи в ОЗУ*).
Чтобы максимально использовать ресурсы ОЗУ, нужно, чтобы перечисленные выше действия упрятывания (i—1)-й задачи и вызов (i+1)-й задачи производились за время счета i задачи. Однако такой режим может оказаться невыгодным для максимально полного использования времени ЦП.

При работе в режиме РВ активная задача может быть прервана не только таймером, но и по авосту, по окончанию, по обращению к периферийным устройствам. Во всех случаях она не использует полностью отведенного для нее кванта. Поэтому в момент решения i-й задачи (нумерация ведется по активным терминалам) (i+1)-ая должна уже быть подготовлена к счету.

На практике считается, что в “горячем резерве” должны быть 2—3 задачи.

С малой долей вероятности могут возникнуть предельные случаи:

— все терминалы активны;
— нет активных терминалов.

В первом случае система будет работать с более медленной реакцией, пока не выйдет на стационарный режим, т. е. пока часть задач не остановится из-за обращения к периферийным устройствам или не выйдет на авост, а программист не отключит терминал, ища место ошибки. Чтобы избежать простоя системы во втором случае, в систему вводятся 1—2 фоновые задачи из тех, которые решаются обычно в пакетном режиме. За этими фоновыми задачами закрепляются 1—2 терминала РВ. Задачам дается наинизший приоритет, и блокируется их сброс на пакетный режим.




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

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

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

Прежде всего нужно заметить, что система управления не всегда должна активно работать в каждый интервал запаздывания. Она выполняет свои действия только в том случае, если протекание регулируемого процесса вышло из нормального течения и требует вмешательства. Например, ускоряемый в циклотроне сгусток частиц в течение 10 с двигался точно по оси ускорителя, а на 11-й секунде отклонился, но провести коррекцию надо за 0,02 с, иначе будет поздно, так как он отклонится настолько, что удержать его в ускорителе не удастся и опыт пойдет впустую.

Что же должна за этот промежуток времени выполнить система управления РВ? Опросить номера датчиков и ввести результаты измерений в ВС; произвести обработку данных по заданной программе, преобразовать результаты вычислений в управляющие воздействия

зап = изм + вс + упр. (5.1)

Как видим, из всего допустимого интервала, запаздывания вычислительной части системы отводится только вс. Проанализируем более подробно эту часть (вс) в случае одного обрабатывающего процессора:

вс = гот + вв + 1/V * (  ni + KАУ) + выв, i =1 ... N, (5.2)

где
гот — время приведения ВС в готовность для приема данных, с момента поступления сигнала о начале регулирования процесса;
вв — время ввода данных измерения в ОЗУ;
V—быстродействие ЦП (оп/с);
ni — число операций на преобработку i-го датчика;
N — общее число датчиков;
KАУ — число операций в программе на реализацию алгоритма управления;
выв — время вывода управляющих сигналов. Эта величина существенно меньше других, так как управление в каждой ситуации, как правило, ведется по 1—2 параметрам.

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

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

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

На первый взгляд кажется, что ВС не должна иметь в своем составе ВЗУ, а следовательно и каналов, поскольку вс значительно меньше, чем время организации передачи информации в ОЗУ через канал с типовыми программами ОС. Если ВС состоит из мини-ЭВМ или микро-ЭВМ, такое утверждение может быть верным, но сложность алгоритма управления и требуемое быстродействие могут потребовать использования ВС с большими ресурсами. А более мощная, но и более сложная ВС для обеспечения высокой степени готовности нуждается в постоянном тестировании. Если же коэффициент использования ее на задаче РВ невысок, то целесообразно вместо или наряду с тестированием использовать ее в свободное время для решения фоновых задач. В этом случае обеспечение гот переносится на ОС. Программа алгоритма задачи РВ целиком размещается в защищенной области ОЗУ, этой программе присваивается наивысший приоритет, никаких упрятываний фоновой задачи в случае приоритетного прерывания задачей РВ не должно происходить, ВС сразу переходит к программе РВ.

Чтобы результаты счета фоновой задачи при этом не терялись полностью, вводятся прерывания более низкого уровня по таймеру, по которым ОС переписывает текущее состояние фоновой задачи в ОЗУ. Тогда при переходе на режим РВ будут теряться только, результаты решения фоновой задачи, полученные за время от последнего прерывания по таймеру.

Можно ли уменьшить величину одночлена со скобкой в (5.2)? Можно:

· увеличением быстродействия V;

· сокращением объема программы основного алгоритма KАУ как за счет оптимизации программ, так и за счет тщательного выбора или разработки алгоритма управления.

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

Если же приведенные меры не дадут возможности уложиться в заданное время вс, можно попытаться сократить число датчиков и вынести задачу преобработки даваемой ими информации с ЦП на специализированные, закрепленные за ними микропроцессоры с быстродействием Vi (в силу параллельности преобработки данных каждого датчика). При этом (5.2) примет вид (5.3)

вс = гот + вв + ( (Ki * Ni) / Vi)max + KАУ / VЦП + выв 5.3

 


Поделиться:



Последнее изменение этой страницы: 2019-03-31; Просмотров: 303; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.028 с.)
Главная | Случайная страница | Обратная связь