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

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

Мультипрограммным режимом работы (многозадачностью) называется такой способ организации работы системы, при котором в ее памяти одновременно содержатся программы и данные для выполнения нескольких процессов обработки информации (задач) [[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-х годов, однако стала доступной в широком масштабе лишь в последнее десятилетие, особенно с появлением многопроцессорных ПК (часто в качестве серверов ЛВС ).

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

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

Источник

Эволюция вычислительных сетей: от машины Чарльза Бэбиджа до первых глобальных сетей

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

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

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

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

Мультипрограммирование было реализовано в двух вариантах:

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

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

Многотерминальные системы — прообраз сети

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

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

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

Источник

Рассмотрим две активности, 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]

Источник

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

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