русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Принципы параллельных вычислений


Дата додавання: 2015-01-16; переглядів: 1017.


Лекція №7

Паралельні обчислення: взаємовиключення і багатозадачність

1. Принципи паралельних обчислень

1.1. Участь операційної системи

1.2. Взаємодія процесів

1.3. Вимоги до взаємних виключень

2. Взаємовиключення: програмний підхід

2.1. Алгоритм Деккера

2.2. Алгоритм Петерсена

3. Взаємовиключення: апаратна підтримка

3.1. Інструкція перевірки та встановлення значення

3.2. Інструкція обміну

3.3. Властивості підходу, що використовує машинні інструкції

Основные вопросы, на которые сосредоточивается внимание разработчиков ОС, связанное с управлением процессами и потоками:

Многозадачность: управления множеством процессов в однопроцессорной системе.

Многопроцессорность: управление множеством процессов в многопроцессорной системе.

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

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

 

Принципы параллельных вычислений

 

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

 

7.1.1. Участие операционной системы

 

При наличии параллельных вычислений перечислим такие вопросы, которые возникают при создании и управлении ОС.

1. ОС должна отслеживать разные активные процессы. Это выполняется с помощью блоков управления процессов.

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

- Процессорное время: это функция планирования;

- Память: большинство ОС используют схему виртуальной памяти;

- Файловая система;

- Устройства ввода-вывода.

3. ОС должна защищать данные и ресурсы каждого процесса от неумышленного влияния других процессов.

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

 


<== попередня лекція | наступна лекція ==>
Розставте пробіли. Отриманий текст має вигляд. | 


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн