Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Итоговый УМП1_оконч070206.doc
Скачиваний:
34
Добавлен:
23.11.2019
Размер:
8.8 Mб
Скачать

Режимы работы вс

Развитие цифровых вычислительных машин и ВС постоянно преследовало две цели: 1) повышение производительности ЦВМ или ВС, т.е. сведение к минимуму времени, необходимого на выполнение некоторого объёма вычислительных работ;2) предоставление максимальных удобств абонентам в процессе их взаимодействия с ЦВМ или ВС. Достижение этих целей обусловлено появлением различных форм взаимодействия абонентов с ВС.

Под режимом работы понимаются принципы структурной организации и функционирования аппаратных и программных средств (главным образом ОС) ВС, которые определяют её производительность.

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

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

Простои устройства значительны. При быстродействии процессора порядка 50 тысяч операций в секунду простои процессора, наиболее дорогого устройства, могут составить 40….50% и более. С ростом быстродействия процессора простои процессора увеличиваются и при быстродействии порядка миллиона операций в секунду доля простоев, может составить 80..90%, что недопустимо.

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

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

Применение однопрограммного режима с непосредственным доступом чрезвычайно невыгодно с точки зрения производительности машины (системы), так как время реакции абонента очень велико по сравнению со временем реакции машины (системы). По мере увеличения быстродействия машин при их совершенствовании разница во времени реакции машины и абонента возрастает, что приводит к уменьшению эффективности работы машины в однопрограммном режиме. На рис. 11.1 показаны временные диаграммы работы ВС в однопрограммном режиме непосредственного доступа при выполнении программ А и В. В этом случае время «непроизводительной» работы процессора (его простои) включает как время работы устройств ввода – вывода, так и время реакции оператора (абонента) t0.

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

Ввод А

Вывод А

Счет А

tА

Ввод В

Вывод В

Счет В

tВ

t0

Ввод

Вывод

Счёт

Действия

оператора

t

Рис. 11.1. Временная диаграмма работы ВС в однопрограммном режиме непосредственного доступа

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

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

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

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

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

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

Для обеспечения многопрограммного режима необходимо, чтобы ВС обладала следующими средствами и возможностями :

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

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

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

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

  5. ВС должна быть оснащена средствами, обеспечивающими управление памяти между различными программами абонентов.

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

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

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

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

Условием прерывания текущей программы в режиме классического мультипрограммирования является естественное прерывание во время ожидания ввода – вывода. Условием передачи управления очередной программе является её высший приоритет по сравнению с другими, готовыми к обработке. Производительность ВС во многом зависит от состава пакета программ, подлежащих совместному исполнению. Практически неизбежно возникают отдельные периоды, когда все программы находятся в состоянии ожидания и центральный процессор простаивает. С целью ликвидации таких простоев в систему вводят планирующую программу, роль которой состоит в формировании остальных пакетов программ. Правильная организация мультипрограммирования позволяет повысить производительность ВС по сравнению с однопрограммным режимом в пределах 1,5….1,8.

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

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

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

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

Выбор программы для передачи ей управления осуществляется путем сканирования (циклический или поочерёдной выбор).

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

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

ВС, работающие в режиме разделения времени, называют системами с разделением времени (СВР). СВР имеют две формы использования: «запрос – ответ» и диалоговую (разговорную).

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

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

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