Здавалка
Главная | Обратная связь

Организация информационно-вычислительного процесса



 

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

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

Одним из определяющих факторов эффективного применения ЭВМ в условиях коллективного использования вычислительных средств и при работе в режиме разделения времени являются используемые принципы планирования (распределения) ресурсов центрального процессора.

Существует множество алгоритмов распределения квантов времени между несколькими заданиями.

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

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

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

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

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

Так как предварительная информация о времени выполнения обычно неточная, то при планировании можно предпринять попытки основывать выбор на информации о процессе, полученной за время его пребывания в системе. Каждому процессу при входе в систему присваивается некий приоритет. Приоритет возрастает с коэффициентом а во время ожидания в очереди готовых процессов и с коэффициентом b - во время выполнения. В зависимости от выбора коэффициентов а и b получаются разные правила планирования. Например, если 0 < а ≤ b, то очередь обслуживается в порядке поступления. Если 0 < b а, то получается обслуживание в противоположном порядке. Коэффициенты а и b могут зависеть от внешнего приоритета, т.е. от затрат, которые пользователь считает приемлемыми. Можно выбрать и нелинейные функции. Можно, чтобы приоритет убывал по линейному закону с течением времени. Когда достигается некое максимальное время, приоритет скачком возрастает до некоторой большой величины. Это благоприятствует коротким процессам и при этом соблюдается условие, что ни одному процессу не придется ждать обслуживания слишком долго. Избранный способ вычисления приоритетов определяется особенностями того типа процессов, с которыми имеет дело система. Например, если на ВЦ преобладают задачи обработки информационных потоков и эффективность определяется в единицах введенной и переработанной информации, то приоритет этих задач можно повысить даже в ущерб другим задачам. Такие задачи обычно используют много операций ввода – вывода. Поэтому процессор будет большею частью свободен и задачи с меньшим приоритетом, но не требующие устройств ввода – вывода будут использовать свободный процессор.

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

При просмотре очереди может оказаться, что задача с более низким рангом может быть обслужена, а для более приоритетной задачи ресурсов недостаточно. В этом случае всем задачам, находящимся во входной очереди выше выбранной, ранг увеличивается на 1. Таким образом, приоритет задачи постепенно повышается, если нужные ей ресурсы велики. Когда ранг достигнет значения 9, задача рассматривается как срочная. Для этой задачи все нужные ей свободные и освобождающиеся ресурсы резервируются до тех пор, пока она не будет обслужена. Можно использовать другую стратегию приоритетов, когда каждой задаче присваивается класс в зависимости от требуемой памяти. До 100 Кбайт - класс А, до 200 - класс В и более 200 - класс С. Задача поступает в очередь соответствующего класса на место, определяемое приоритетом. При освобождении ресурсов просматриваются очереди по каждому классу, а внутри очереди задачи просматриваются в порядке приоритета.

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

Количество различных правил вычисления приоритета практически не ограничено. Несмотря на то что стратегия приносит желаемый результат, обеспечивая большинству процессов хорошее обслуживание, она дает и побочный эффект: долгое ожидание процессов с низким приоритетом. В некоторых системах это неприемлемо. Например, в системах с разделением времени пользователю гораздо удобнее получить по 1 с машинного времени каждые 5 с, чем 12-минутный интервал каждый час. Метод наивысшего приоритета не может обеспечить такой вид обслуживания.

Метод круговорота. Простой круговорот не использует никакой статической или динамической информации о приоритетах. Первый процесс из очереди готовых процессов получает квант времени длиной в q секунд, а затем отправляется снова в конец очереди, если только он себя не заблокирует. Если в очереди имеется К процессов, то каждый процесс получает q секунд из каждых Kq секунд процессорного времени. Следовательно, каждый процесс как бы выполняется процессором, скорость которого равна 1/К скорости физического процессора. Поэтому длина очереди – это важный параметр, определяющий быстроту продвижения процессов.

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

Метод круговорота часто применяют в системах с разделением времени, рассчитанных на большое число пользователей. Такие системы должны гарантировать каждому процессу приемлемое время ответа. Иначе говоря, пользователи ожидают, что независимо от величины кванта их будут обслуживать по меньшей мере один раз каждые несколько секунд. Если q постоянно и в очереди К процессов, то время ответа приблизительно равно Kq. Для больших К это может быть слишком долго. Определенное время ответа можно гарантировать, если применить круговорот, ориентированный на цикл. Время цикла выбирается для очереди готовых процессов равным максимально достижимому времени ответа. Величина кванта вычисляется в начале каждого круга прохождения очереди. Процессы, вновь поступающие во время цикла, задерживаются до окончания цикла, прежде чем будут поставлены в очередь. Если очередь слишком длинная, то потери на переключение могут быть заметными, так как q будет совсем маленьким. Эту проблему можно урегулировать, задав минимальную величину кванта. При сильной загрузке системы пострадает время ответа, но, по крайней мере, издержки на переключение останутся на низком уровне.

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

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

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

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

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

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

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

Метод многоуровневого планирования реализуется как система, состоящая из трех уровней: диспетчера, краткосрочного и долгосрочного планировщика. Диспетчер вызывается после того, как обработка прерывания завершена. Он выбирает следующий подлежащий выполнению процесс из очереди готовых процессов. Диспетчер работает очень часто, поэтому сам он должен быть очень коротким. Его задача – только взять первый процесс из очереди и предоставить ему процессор. Краткосрочный планировщик вызывается, чтобы вставить готовый процесс в очередь; хотя этому планировщику приходится, быть может, анализировать состояние процесса, уточнения приоритета на этом уровне должны быть сведены к минимуму. Процессы ставятся в очередь часто, возможно каждые несколько миллисекунд. Поэтому внесение любых сложных изменений в состояние процесса следует оставить долгосрочному планировщику. Долгосрочная корректировка, которая делается не так часто, может быть более сложной. Для вычисления нового приоритета может использоваться информация о состоянии процесса, например о предоставленных ему ресурсах. Так как долгосрочный планировщик вызывается только раз в несколько секунд, то допустимо потратить на его работу несколько миллисекунд.

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

Организация вычислительного процесса на мини-ЭВМ. Применение мини-ЭВМ в АСУ имеет свои преимущества и свои недостатки. Системное программное обеспечение, имеющее направленность на диалоговый режим, дает определенные преимущества мини-ЭВМ в системах реального времени, но вызывает трудности реализации пакетного режима при большом объеме вычислений. Архитектура мини-ЭВМ позволяет создание действительно реентерабельного кода. Жесткое разделение кода от данных является базовой характеристикой архитектуры мини-ЭВМ. Эта особенность полезна в системах обработки запросов, где большое число операторов на терминалах решают одинаковые или близкие по содержанию задачи в отличие от систем коллективного доступа больших ЭВМ, где разные операторы решают различные задачи.

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

Для избежания процесса создания большой программной системы планирования ОС мини-ЭВМ предлагают стандартные решения в области планирования памяти.

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

Появление мини-ЭВМ связывалось для многих пользователей с возможностью уйти от слишком сложных ОС и реализовать удобные для применения несложные системы. Но в последние годы производители мини-ЭВМ расширяют возможности аппаратных конфигураций и в большей степени усложняют и расширяют возможности ОС. Для основных типов мини-ЭВМ уже имеются наборы ОС с разными функциональными возможностями, удовлетворяющие разным по объему и сложности требованиям конкретных применений.

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

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







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.