- •Тема 4: Понятия параллельного выполнения
- •4.1. Принципы параллельных вычислений
- •4.2 Параллелизм в системах аппаратного оборудования
- •4.3 Параметры многозадачной вычислительной системы
- •4.4 Параллелизм в системах программного обеспечения
- •Параллелизм в системах программного обеспечения
- •4.5 Аппаратная поддержка многозадачного режима
- •4.5.1 Переключение задач
- •Алгоритм аппаратного переключения между задачами
- •Тема 5: Организация параллельных взаимодействующих вычислений
- •5.1 Независимые и взаимодействующие вычислительные процессы
- •5.2 Средства синхронизации и связи взаимодействующих вычислительных процессов
- •5.2.1 Использование блокировки памяти при синхронизации параллельных процессов
- •5.2.2 Синхронизация процессов с помощью операций проверки и установки
- •5.2.3 Семафорные примитивы Дейкстры
- •5.2.4 Мониторы Хоара
- •5.3 Конвейеры и очереди сообщений
- •Тема 6: Планирование и диспетчеризация процессов и задач
- •6.3 Алгоритмы планирования
- •6.4 Планирование и диспетчеризация процессов и задач
- •6.3.1 Планирование вычислительных процессов и стратегии планирования
- •6.4 Дисциплины диспетчеризации
Операционные системы |
Колесников Л.П. |
Модуль 2 Параллельность. Планирование и диспетчеризация процессов. |
ФПТ
2011
Тема / Лекция |
ОГЛАВЛЕНИЕ |
Стр. |
Тема 4 Лекция 6 |
Понятия параллельного выполнения. 1. Принципы параллельных вычислений. 2. Параллелизм в системах аппаратного оборудования 3. Параллелизм многозадачных ВС 4. Параллелизм в системах программного обеспечения |
3 |
Лекция 7 |
5. Аппаратная поддержка многозадачного режима 6. Алгоритм аппаратного переключения между задачами 7. Параллелизм в системах программного обеспечения |
7 |
Тема 5 Лекция 8 |
Организация параллельных взаимодействующих вычислений. 1. Независимые и взаимодействующие вычислительные процессы. 2. Средства синхронизации и связи взаимодействующих вычислительных процессов |
11 |
Лекция 9 |
3. Средства синхронизации и связи взаимодействующих вычислительных процессов |
17 |
Лекция 10 |
4. Почтовые ящики 5. Конвейеры и очереди сообщений |
23 |
Тема 6 Лекция 11 |
Планирование и диспетчеризация. 1. Операции планирования и диспетчеризации 2. Типы планирования процессора 3. Алгоритмы планирования |
29 |
Лекция 12 |
4. Планирование и диспетчеризация процессов и задач 5. Дисциплины диспетчеризации |
37 |
Лекция 6
Тема 4: Понятия параллельного выполнения
План лекции:
Принципы параллельных вычислений.
2. Параллелизм в системах аппаратного оборудования
Параллелизм многозадачных ВС
Параллелизм в системах программного обеспечения
Литература:
М.Ф.Бондаренко, О.Г.Качко Операційні системи : навч.посібник. 2008. 432с. Стр.76 – 79
Вильям Столлингс. Операционные системы, 4-е изд. 2002. 848с. стр.246-256
Основные вопросы, на которых сосредотачивается внимание разработчиков операционных систем, связаны с управлением процессами и потоками.
Многозадачность: управление множеством процессов в однопроцессорной системе.
Многопроцессорность: управление множеством процессов в многопроцессорной системе.
Распределенные вычисления: управление множеством процессов, выполняемых в распределенной вычислительной системе с множеством компьютеров. Основным примером таких систем являются широко распространенные в последнее время кластеры.
Фундаментальной концепцией этой области, да и разработки операционных систем в целом, является концепция параллельных вычислений (concurrency).
Параллельность охватывает множество вопросов разработки, включая вопросы обмена информацией между процессами, разделения ресурсов, синхронизацию работы процессов и распределение процессорного времени между различными процессами.
Параллельность проявляется в трех различных контекстах.
Множественные приложения: многозадачность разработана для того, чтобы позволить динамически разделять процессорное время между рядом активных приложений.
Структурность приложений: в качестве развития парадигмы модульной разработки и структурного программирования некоторые приложения могут быть разработаны как множество параллельно работающих процессов.
Структура операционной системы: преимущества структурного программирования доступны не только прикладным, но и системным программистам, и, как вы знаете, операционные системы также зачастую реализуются в виде набора процессов или потоков.
4.1. Принципы параллельных вычислений
В однопроцессорной многозадачной системе процессы чередуются для создания иллюзии одновременного выполнения. Несмотря на то что при этом не достигается реальная параллельная работа процессов и, более того, имеются определенные накладные расходы, связанные с переключением между процессами, такое чередующееся выполнение обеспечивает немалые выгоды с точки зрения эффективности и структуризации программ.
В многопроцессорных системах возможно не только чередование процессов, но и их перекрытие .
На первый взгляд может показаться, что чередование и перекрытие представляют собой принципиально отличающиеся режимы работы и, соответственно, при этом возникают различные проблемы. Однако в действительности обе технологии, которые можно рассматривать как примеры параллельных вычислений, порождают одинаковые проблемы.
В однопроцессорных системах проблемы вытекают из основных характеристик многозадачных систем: невозможно предсказать относительную скорость выполнения процессов. Она зависит от других процессов, способа обработки прерываний операционной системой и стратегий планирования операционной системы..
Участие операционной системы
Можно перечислить следующие вопросы конструирования и управления операционных систем, возникающие из-за наличия параллельных вычислений.
Операционная система должна быть способна отслеживать различные активные процессы.