Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / 3_управление процессами.doc
Скачиваний:
77
Добавлен:
20.06.2014
Размер:
1.59 Mб
Скачать

3.3.3.3. "Процессы"

Такого рода параллельность поддерживается Java,Modula-3,Mesa. Поддерживаются отдельные процессы (потоки) внутри программы. Отличие от сопрограмм: передача управления между потоками осуществляется извне, исполнительной системой, а не определяется явно в пользовательском коде. Если потоку необходимо дождаться какого-либо общего ресурса, применяется операция ожидания, реализованная как вызов исполнительной системы.

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

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

3.3.4. Мультипроцессорные системы

3.3.4.1. Введение

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

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

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

Выделяют три типа мультипроцессорных систем. Первый вид – мультипроцессорные системы с общей оперативной памятью и с числом процессоров от 2 до 1000: каждый ЦП обладает равным доступом ко всей физической памяти и может читать и писать отдельные слова. Время доступа к памяти – 10-50 нс. Второй тип систем – пары, состоящие из ЦП и памяти соединены высокоскоростной соединительной схемой. Такая разновидность называется мультипроцессорной системой с передачей сообщений. Каждый блок памяти являтся локальным для одного ЦП, и доступ к ней можно получить только через этот ЦП. ЦП обмениваются сообщениями по соединительной схеме. Скорость – 10-50 мкс. Третий вид систем – большое количество полноценных компьютеров, соединенных глобальной сетью, такой, как Интернет, и образующих вместе распределенную систему. Задержка – 10-50 мс. Из-за большой величины задержки применение этих слабосвязанных систем отличается от использования сильносвязанных.