Что такое мультипрограммная вычислительная система

Рассмотрим две активности, P и Q :

PQ
y=x+2z=x-3
f=y-4f=z+1

Набор из этих двух активностей является:

Пусть в вычислительную систему поступают пять процессов различной длительности по следующей схеме:

Номер процессаМомент поступления в системуВремя исполнения
124
213
345
432
509

Чему равно среднее время ожидания процесса (waiting time) при использовании вытесняющего алгоритма SJF? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь.

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

Semaphore mutex = 1; Semaphore not_full = 0; Shared int n_on_bridge = 0; Процесс i-й самосвал: While (1)

Что может произойти в результате такого моделирования?

Рассмотрим две активности, P и Q :

PQ
y=x+1z=x-3
f=y-4f=z+1

Набор из этих двух активностей является:

Для некоторого процесса известна следующая строка запросов страниц памяти

7, 1, 2, 3, 2, 4, 2, 1, 0, 3, 7, 2, 1, 2, 7, 1, 7, 2, 3.

Сколько ситуаций отказа страницы (page fault) возникнет для данного процесса при использовании алгоритма замещения страниц FIFO (First Input First Output) и трех страничных кадрах?

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

Максимальная потребность в ресурсахВыделенное пользователям количество ресурсов
Первый пользователь85
Второй пользователь113
Третий пользователь31

Это состояние является

Для некоторого процесса известна следующая строка запросов страниц памяти

7, 1, 2, 3, 2, 4, 2, 1, 0, 3, 7, 2, 1, 2, 7, 1, 7, 2, 3.

Сколько ситуаций отказа страницы (page fault) возникнет для данного процесса при использовании алгоритма замещения страниц LRU (the Least Recently Used) и трех страничных кадрах?

Пусть в вычислительную систему поступают пять процессов различной длительности по следующей схеме:

Номер процессаМомент поступления в системуВремя исполнения
124
213
345
432
509

Чему равно среднее время ожидания процесса (waiting time) при использовании вытесняющего алгоритма SJF? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь.

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

Что может произойти в результате такого моделирования?

Для некоторого процесса известна следующая строка запросов страниц памяти

7, 1, 2, 3, 2, 4, 2, 1, 0, 3, 7, 2, 1, 2, 7, 1, 7, 2, 3.

Сколько ситуаций отказа страницы (page fault) возникнет для данного процесса при использовании алгоритма замещения страниц OPT (оптимальный алгоритм) и трех страничных кадрах?

В вычислительной системе со страничной организацией памяти и 32-х битовым адресом размер страницы составляет 8 Mбайт. Для некоторого процесса таблица страниц в этой системе имеет вид:

Номер страницыАдрес начала страницы
10x00000000
20x02000000
50x06000000
60x10000000

Пусть в вычислительную систему поступают пять процессов различной длительности с разными приоритетами по следующей схеме:

Номер процессаМомент поступления в системуВремя исполненияПриоритет
13101
2640
3043
4214
5432

Чему равно среднее время между стартом процесса и его завершением (turnaround time) при использовании вытесняющего приоритетного планирования? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь. Наивысшим приоритетом является приоритет 0.

Что может произойти в результате такого моделирования?

Источник

Большая Энциклопедия Нефти и Газа

Мультипрограммная система

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

Мультипрограммные системы делятся на системы с пакетной обработкой и системы коллективного пользования. [4]

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

Мультипрограммные системы с распределением времени представляют собой наиболее совершенную форму логической организации современных вычислительных систем, поскольку они сочетают эффективное использование технических средств машины с предоставлением человеку удобств индивидуального использования. В последующих параграфах данной главы мы рассмотрим особенности построения именно этого вида вычислительных МЗШЕН и, употребляя термин мультипрограммные системы, будем, как правило, иметь в виду мультипрограммные системы с распределением времени. [6]

Мультипрограммные системы должны обладать развитой системой прерывания. Часть функций, которые должна выполнять система прерывания при мультипрограммной работе, свойственна и обычным однопрограммным системам: обеспечение параллельной работы периферийных устройств и процессора, синхронизация работы вычислительной системы с внешними по отношению к ней устройствами, например механизмами управляемого объекта и др. Некоторые другие функции являются специфическими для мультипрограммного режима. Рассмотрим, например, вопрос об обнаружении ошибок, допущенных программистом при составлении или прогоне программы. [7]

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

Мультипрограммная система должна содержать в себе комплекс дополнительных операций, позволяющих организовать совместное выполнение нескольких программ в соответствии с требованиями мультипрограммирования. Расширение в этом плане операционных возможностей машины может производиться на основе встроенной логики ( апаратурная реализация операций) и программируемой логики, представляющей собой набор программ, использующих обычную систему команд для организации новых операций. Операции, специально используемые для организации мультипрограммной работы ЦВМ, называются системными операциями. [9]

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

Поскольку мультипрограммные системы используются многими потребителями одновременно, возникает проблема защиты памяти от их взаимного влияния во время работы. Система защиты обычно реализуется аппаратным способом. При этом память разбивается на блоки. [11]

Работа мультипрограммной системы становится возможной только в том случае, если программы будут защищены от взаимных помех. Защита программ в основном сводится к защите памяти. Из-за ошибок в программе и сбоев в работе оборудования могут формироваться неправильные адреса, из-за чего обращение происходит к ячейкам памяти, используемым другими программами. [12]

Работа мультипрограммной системы немыслима без использования программ супервизора. Поэтому перед началом выполнения каких бы то ни было программ система должна быть загружена программами супервизора. Процесс ввода всякого рода служебных программ называется начальной загрузкой системы. Основным средством хранения служебных программ являются магнитные ленты. Начальная загрузка системы сводится к вводу в ОЗУ необходимого набора программ, считываемых из НМЛ. Начальная загрузка выполняется в следующем порядке. С использованием средств ручного управления, находящихся на центральном пульте управления системы, через устройство ввода вводится набор команд, обеспечивающих считывание из НМЛ программы начальной загрузки. Введенные в машину команды вызывают в ОЗУ указанную программу и передают ей управление. Программа начальной загрузки обеспечивает вызов из НМЛ набора служебных программ, после чего система считается подготовленной к работе. Для первоначального ввода и записи на магнитную ленту служебных программ используются программы записи информации, которые обеспечивают ввод служебных программ с перфолент или перфокарт и перепись введенной в ОЗУ информации на магнитные ленты. Во время этих подготовительных работ система работает в однопрограммном режиме. [13]

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

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

Источник

Что такое мультипрограммная вычислительная система

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

Базовыми понятиями мультипрограммного режима функционирования ЭВМ являются процесс и ресурс [[12]]

Процесс может находиться в следующих состояниях:

Понятие ресурса строго не определено. Будем считать, что всякий потребляемый объект (независимо от формы его существования), обладающий некоторой практической ценностью для потребителя, является ресурсом [12].

Основные черты мультипрограммного режима :

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

Мультипрограммный режим имеет в ЭВМ аппаратную и программную поддержку:

Пусть работа некоторого устройства q характеризуется диаграммой, приведенной на рис. 12.1.

Рис. 12.1. Оценка основных показателей использования аппаратных ресурсов

Тогда рассмотренные выше показатели работы этого устройства будут следующими:

Рис. 12.2. Порядок выполнение программ в мультипрограммной ЭВМ при Км = 2

Таблица 12.1.
ПрограммаCPU1INCPU2OUT
12142
22213
34331
42222

Таблица 12.2.
ХарактеристикаКм = 1Км = 2Км = 3
Время выполнения программы Т191010
Время выполнения программы Т281313
Время выполнения программы Т3111119
Время выполнения программы Т481112
Время выполнения всех программ ( Т )362422
Пропускная способность ( П )0,110,170,18
kCPU0,560,830,91
kIN0,220,330,36
kOUT0,220,330,36

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

Рис. 12.3. Зависимость основных характеристик работы мультипрограммной ЭВМ от коэффициента мультипрограммирования

Распределение на статической основе способствует наиболее быстрому развитию процессов в системе с момента их порождения. Распределение же ресурсов на динамической основе позволяет обеспечить эффективное использование ресурсов с точки зрения минимизации их простоев.

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

Источник

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

5.1. Концепция процессов и потоков. Задание, процессы, потоки (нити), волокна

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

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

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

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

Взаимосвязь между заданиями, процессами и потоками показана на рис. 5.2.

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

Таким образом, существует иерархия рабочих единиц операционной системы, которая применительно к Windows выглядит следующим образом (рис. 5.3).

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

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

5.2. Мультипрограммирование. Формы многопрограммной работы

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

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

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

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

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

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

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

Интересная форма мультипрограммной работы связана с мультипроцессорной обработкой. Мультипроцессорная обработка – это способ организации вычислительного процесса в системе с несколькими процессорами, при котором несколько задач (процессов, потоков) могут одновременно выполняться на разных процессорах системы. Концепция мультипроцессирования не нова, она известна с 70-х годов, однако стала доступной в широком масштабе лишь в последнее десятилетие, особенно с появлением многопроцессорных ПК (часто в качестве серверов ЛВС ).

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

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

Источник

Текст лекции. Лекция № 4. Мультипрограммирование

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

Ключевые вопросы

Лекция № 4. Мультипрограммирование. Часть 1

Продолжительность:2 часа (90 мин.)

· Цель и задачи курса.

· Информация и данные.

· Основные понятия и определения: дисковые операционные системы (ДОС); ОС общего назначения.

· Организация рационального использования ресурсов.

· Мультипрограммирование или многозадачность.

· Системы пакетной обработки.

· Мультипрограммирование в системах разделения времени.

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

7.2.1 Общие сведения— до 15 мин.

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

Знание внутренних механизмов операционной системы позволяет косвенно судить о ее удобстве, эффективности и характеристиках.

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

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

Типичными критериями эффективности таких систем являются [4]:

пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени,

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

реактивность системы – способность системы выдерживать заранее заданные интервалы времени между запуском программы и получением результата.

В зависимости от выбранного критерия эффективности операционные системы делятся на

— системы пакетной обработки,

— системы разделения времени и

— системы реального времени.

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

7.2.2 Системы пакетной обработки— до 15 мин.

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

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

Для максимизации этого критерия в таких системах используется следующая схема функционирования:

— в начале работы системы формируется пакет заданий,

— каждое задание содержит требование к системным ресурсам,

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

— из этого пакета задач формируется мультипрограммная смесь, то есть, множество одновременно выполняемых задач.

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

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

Рассмотрим варианты совмещения во времени операций ввода-вывода и вычислений.

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

— проверить состояние устройства,

— установить магнитную головку,

— установить начало листа,

— напечатать строку и т. д.

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

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

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

Рисунок 7.1 – Параллельное выполнение вычислений и операций ввода-вывода в системах с каналом

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

Рисунок 7.2 – Параллельное выполнение вычислений и операций ввода-вывода в системах с контроллерами

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

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

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

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

Часто общее время выполнения смеси задач оказывается меньше, чем их суммарное время при последовательном выполнении. При этом выполнение отдельной задачи в мультипрограммном режиме может занять больше времени, чем при монопольном выделении процессора этой задаче. При совместном использовании процессора в системе могут возникать ситуации, когда задача готова выполняться, но процессор в это время занят выполнением другой задачи. В этом случае задача, завершившая ввод-вывод, готова выполняться, но вынуждена ждать освобождения процессора, что удлиняет время ее выполнения. Так, на рисунке 7.3 видно, что в однопрограммном режиме задача А выполняется за 6 единиц времени, а в мультипрограммном – 7. Задача В также вместо 5 единиц времени выполняется за 6. Зато суммарное время выполнения обеих задач в мультипрограммном режиме составляет всего 8 единиц, а в однопрограммном – 11.

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

Что такое мультипрограммная вычислительная система. Смотреть фото Что такое мультипрограммная вычислительная система. Смотреть картинку Что такое мультипрограммная вычислительная система. Картинка про Что такое мультипрограммная вычислительная система. Фото Что такое мультипрограммная вычислительная система

Рисунок 7.3 – Время выполнения двух задач в однопрограммной системе (О) и в мультипрограммной системе (М)

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

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

7.2.3 Мультипрограммирование в системах разделения времени — до 15 мин.

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

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

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

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

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

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

7.2.4 Мультипрограммирование в системах реального времени — до 15 мин.

В системах реального времени мультипрограммная смесь представляет собой фиксированный набор заранее разработанных предсказуемых программ. Выбор конкретной программы производится по прерываниям от объекта или в соответствии с планом.

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

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

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

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

7.2.5 Мультипроцессорная обработка — до 15 мин.

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

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

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

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *