Лекция: Мультипрограммные системы

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

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

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

Мультипрограммные системы разделяются на следующие классы: системы пакетной обработки, системы разделения времени и системы реального времени /1,7/.

Системы пакетной обработки предназначаются для решения задач в основном вычислительного характера, не требующих быстрой реакции системы. Главной целью этого способа организации вычислительного процесса является получение максимальной пропускной способности ВС. Для этого необходимо минимизировать простои всех устройств компьютера, и, прежде всего, центрального процессора. Алгоритм функционирования систем пакетной обработки следующий: в начале работы формируется пакет задач с указанием требований к системным ресурсам для каждой из задач; далее из этого пакета заданий формируется мультипрограммная смесь, т.е. множество одновременно выполняемых задач, предъявляющих разные требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств ВС. Например, целесообразно одновременное выполнение вычислительных задач и задач с интенсивным вводом-выводом. В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит по инициативе самой активной задачи, например, когда она отказывается от процессора из-за необходимости выполнить операцию ввода-вывода. Поэтому существует высокая вероятность того, что одна задача может надолго занять процессор и выполнение интерактивных задач станет невозможным. Другими словами, невозможно гарантировать выполнение той или иной задачи в течение определенного периода времени /1/.

 
 

Из диаграммы видно, что общее время ТSмп выполнения задач А и В в мультипрограммной системе меньше, чем их суммарное время ТSоп последовательного выполнения в однопрограммной системе. Действительно, ТSмп=3+5+3+3=14 единиц времени и ТSоп=3+3+3+5+2+3=19 единиц, т.е. ТSмп<ТSоп, что является следствием совмещения вычислений одной задачи с вводом выводом другой.

Однако выполнение отдельных задач А и В в мультипрограммной пакетной системе занимает больше времени, чем при монопольном выделении процессора каждой из этих задач (однопрограммной системе), т.е. ТА(мп)=3+5+3=11, ТВ(мп)=5+3+3=11, ТА(оп)=3+3+3=9, ТВ(оп)=5+2+3=10, следовательно ТА(мп) >ТА(оп) и ТВ(мп) > ТВ(оп). Это происходит из-за ожидания задачами, готовыми для выполнения, освобождения процессора, занятого выполнением других задач.

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

Поэтому мультипрограммные системы разделения времени ниже будут рассмотрены более подробно.

Мультипрограммные системы реального времени /1,7,8,9/ предназначены для компьютерного управления различными техническими объектами (например, двигателями локомотива, железнодорожным переездом, станком и т.д.) или технологическими процессами (например, роспуском поездов на горках, управление движением поезда по режимной карте машиниста и т.п.).

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

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

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

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

 

еще рефераты
Еще работы по информатике