Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Тема_2.ppt
Скачиваний:
202
Добавлен:
11.04.2015
Размер:
3.19 Mб
Скачать

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

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

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

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

41

Операционные системы

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

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

Могут быть выделены процессоры для вычислений, ввода-вывода и др.

42

Операционные системы

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

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

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

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

43

Операционные системы

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

Масштабирование в данном случае

называют

 

горизонтальным,

а

мультипроцессорную систему - кластерной.

 

В кластерной системе может быть

реализовано

 

только

 

асимметричное

мультипроцессирование

с

организацией

вычислительного

процесса

по

принципу

«ведущий - ведомый».

 

 

 

 

В таких системах ОС работает на одном

процессоре, который называется ведущим и

организует

централизованное

управление

вычислительным

 

процессом

и

распределением всех ресурсов системы.

 

 

Операционные системы

 

44

 

 

 

 

 

2.3.Управление процессами и потоками

2.3.1.Основные функции управления процессами и потоками 1. Создание процессов и потоков.

2.Обеспечение процессов и потоков необходимыми ресурсами.

3.Изоляция процессов.

4.Планирование выполнения процессов и потоков.

5.Диспетчеризация потоков.

6.Организация межпроцессного взаимодействия.

7.Синхронизация процессов и потоков.

8.Завершение и уничтожение процессов и потоков.

События, приводящие к созданию процессов:

1.Инициализация (загрузка) ОС.

2.Запрос процесса на создание дочернего процесса.

3.Запрос пользователя на создание процесса (например, при входе в систему в интерактивном режиме).

4. Инициирование пакетного задания.

5. Создание операционной системой процесса какой-либо службы.

45

Операционные системы

2.3.Управление процессами и потоками

2.3.1.Основные функции управления процессами и потоками

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

выполняющими заданную работу.

Остальные процессы являются фоновыми, они не связаны с конкретными пользователями, но выполняют особые функции. Например, связанные с электронной почтой, Web-страницами, выводом на печать, передачей файлов по сети, периодическим запуском программ (например, дефрагментации дисков) и т. д. Фоновые процессы называют демонами.

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

46

Операционные системы

2.3.Управление процессами и потоками

2.3.1.Основные функции управления процессами и потоками

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

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

В ОС, где существуют процессы и потоки, процесс рассматривается как заявка на потребление всех видов ресурсов, кроме одного - процессорного времени.

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

47

Операционные системы

2.3.Управление процессами и потоками

2.3.1.Основные функции управления процессами и потоками

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

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

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

Диспетчеризация – это реализация найденного в результате планирования решения, т. е. в переключении процессора с одного потока на другой.

48

Операционные системы

2.3.Управление процессами и потоками

2.3.1.Основные функции управления процессами и потоками

Диспетчеризация проходит в три этапа:

сохранение контекста текущего потока;

загрузка контекста потока, выбранного в результате планирования;

запуск нового потока на выполнение.

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

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

Для решения этой задачи служит синхронизация потоков.

49

Операционные системы

2.3.Управление процессами и потоками

2.3.1.Основные функции управления процессами и потоками

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

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

этого процесса могут продолжать работу.

50

Операционные системы