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

Автор: Пользователь скрыл имя, 21 Декабря 2012 в 11:03, реферат

Описание работы

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

Содержание

Введение 3
Мультипрограммирование 4
Мультипрограммирование в системах пакетной обработки 5
Мультипрограммирование в системах разделения времени 10
Мультипрограммирование в системах реального времени 11
Мультипроцессорная обработка 13
Выводы 18
Список литературы 19

Работа содержит 1 файл

Реферат.docx

— 195.43 Кб (Скачать)

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

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

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

Мультипроцессорная  обработка

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

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

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

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

В наши дни  становится общепринятым введение в  ОС, функций поддержки мультипроцессорной обработки данных. Такие функции  имеются во всех популярных ОС, таких  как SunSolaris 2.x, SantaCrusOperationsOpenServer 3.x, IBM OS/2, MicrosoftWindows NT и NovellNetWare, начиная с 4.1.

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

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

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

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

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

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

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

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

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

Функционирование  системы по принципу «ведущий-ведомый» предполагает выделение одного из процессоров  в качестве «ведущего», на котором  работает операционная система и  который управляет всеми остальными «ведомыми» процессорами. То есть ведущий  процессор берет на себя функции  распределения задач и ресурсов, а ведомые процессоры работают только как обрабатывающие устройства и  никаких действий по организации  работы вычислительной системы не выполняют.

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

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

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

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

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

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

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

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

 

 

 

 

 

 

 

 

 

 

Выводы

 

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

  • Мультипрограммирование применяется для повышения эффективности вычислительной системы, которая может пониматься как: 
  • общая пропускная способность вычислительной системы; 
  • удобство работы пользователей, например возможность интерактивной работы для нескольких пользователей или возможность одновременной работы одного пользователя с несколькими приложениями на одной машине; 
  • реактивность системы — то есть способность системы выдерживать заранее заданные (возможно,, очень короткие) интервалы времени между запуском программы и получением результата. 
  • В зависимости от выбранного критерия эффективности ОС делятся на системы пакетной обработки, системы разделения времени и системы реального времени. 
  • Мультипроцессорная обработка — это способ организации вычислительного процесса в системах с несколькими процессорами, при котором несколько задач (процессов, потоков) могут одновременно выполняться на разных процессорах системы. 
  • Основной задачей мультипрограммной операционной системы является распределение ресурсов между процессами и потоками — двумя базовыми единицами работы ОС.

 

 

Список литературы

http://rudocs.exdat.com/docs/index-223981.html

http://www.gelezo.net/articles/30.html

http://telekom.org.ru/slovar/14-rus/multiprogrammirovanie/

http://oval.ru/enc/45233.html




Информация о работе Мультипрограммирование