Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС - Модуль - Часть 1.doc
Скачиваний:
3
Добавлен:
23.11.2019
Размер:
232.96 Кб
Скачать
  1. Мультипроцессорная обработка

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

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

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

Одна з основних підсистем ОС, безпосередньо впливає на функціонування всієї системи, і займається створенням та знищенням процесів та потоків, підтримує взаємозв’язок між ними, а також розподіляє процесорний час між декількома процесами та потоками, що існують у системі одночасно. Головна функція: забезпечення процесів ресурсами.

Основні функції:

  • Створення та знищення процесів

  • Підтримка черг заявок на ресурси

  • Захист ресурсів (шоб інші процеси не «загребли»)

  • Забезпечення переривання і відновлення у потрібний момент з місця переривання

  • Синхронізація процесів (процес мо «призупинятися» і потім «по команді» стартувати)

  • Надання засобів між процесорної взаємодії

  1. Понятия «процесс» и «поток».

Поток (thread) — это, сущность операционной системы, процесс выполнения на процессоре набора инструкций, точнее говоря программного кода. Общее назначение потоков — параллельное выполнение на процессоре двух или более различных задач. Как можно догадаться, потоки были первым шагом на пути к многозадачным ОС. Планировщик ОС, руководствуясь приоритетом потока, распределяет кванты времени между разными потоками и ставит потоки на выполнение. На ряду с потоком, существует также такая сущность, как процесс. Процесс (process) — не что более иное, как некая абстракция, которая инкапсулирует в себе все ресурсы процесса (открытые файлы, файлы отображенные в память...) и их дескрипторы, потоки и т.д. Каждый процесс имеет как минимум один поток. Также каждый процесс имеет свое собственное виртуальное адресное пространство и контекст выполнения, а потоки одного процесса разделяют адресное пространство процесса. Каждый поток, как и каждый процесс, имеет свой контекст. Контекст — это структура, в которой сохраняются следующие элементы:

  • Регистры процессора.

  • Указатель на стек потока/процесса.