
- •Лекция №3
- •Виды операционных систем
- •Виды операционных систем
- •Виды операционных систем
- •Виды операционных систем
- •Виды операционных систем
- •Виды операционных систем
- •Системы промежуточного уровня (middleware)
- •Система
- •Распределенные операционные системы
- •Операционные системы для однопроцессорных компьютеров
- •Виртуальная машина
- •Режимы работы ОС
- •Режимы работы монолитной ОС
- •Монолитные операционные системы
- •Операционной система в виде двух частей
- •Операционной система в виде двух частей
- •Разделение приложений в операционной системе посредством микроядра
- •Преимущества микроядер
- •Недостатки микроядер
- •Мультипроцессорные операционные системы
- •Мультипроцессорные операционные системы
- •Мультипроцессорные операционные системы
- •Мультикомпьютерные операционные системы
- •Общая структура мультикомпьютерных операционных
- •Мультикомпьютерные операционные системы (I)
- •Мультикомпьютерные операционные системы (II)
- •Возможности блокировки и буферизации при пересылке
- •Возможности блокировки и буферизации при пересылке
- •Возможности блокировки и буферизации при пересылке
- •Надежность связи
- •Надежность связи
- •Системы с распределенной разделяемой памятью
- •Системы с распределенной разделяемой памятью
- •Разделяемое глобальное адресное пространство
- •Разделяемое глобальное адресное пространство
- •Разделяемое глобальное адресное пространство
- •Репликация страниц
- •Репликация страниц
- •Репликация страниц
- •Репликация страниц
- •Репликация страниц
- •Сетевые операционные системы
- •Сетевые операционные системы
- •Сетевые операционные системы
- •Сетевые операционные системы
- •Сетевые операционные системы
- •Сетевые операционные системы
- •Сетевые операционные системы
- •Сетевые операционные системы : недостатки
- •Сетевые операционные системы: достоинства

Мультипроцессорные операционные системы
Расширение однопроцессорных операционных систем - возможность поддержки нескольких процессоров, имеющих доступ к совместно используемой памяти:
Все структуры данных, необходимые операционной системе для поддержки аппаратуры, включая поддержку нескольких процессоров, размещаются в памяти
Отличие от однопроцессорной ОС - данные доступны нескольким процессорам и должны быть защищены от параллельного доступа для обеспечения их целостности

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

Мультипроцессорные операционные системы
нацелены на поддержание высокой производительности конфигураций с несколькими процессорами
основная их задача — обеспечить прозрачность числа процессоров для приложения
основная идея: всё сообщение между различными приложениями или их частями происходит путем работы с данными в специальной совместно используемой области данных
основная трудность — защитить данные от одновременного доступа к ним
защита осуществляется посредством примитивов синхронизации, наиболее важные — семафоры и мониторы

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

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

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

Мультикомпьютерные операционные системы (II)
предоставляют только средства для обмена сообщениями
различаются по семантике примитивов обмена сообщениями
буферизуются сообщения или нет
блокируется ли посылающий или принимающий процесс

Возможности блокировки и буферизации при пересылке

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

Возможности блокировки и буферизации при пересылке
сообщений
Если же отправитель не имеет буфера, существует три альтернативных точки блокировки отправителя:
|
|
отправление сообщения (точка S2), |
|
|
поступление сообщения к получателю (точка S3), |
|
|
принятие сообщения получателем (точка S4). |
|
Если блокировка происходит в точке S2, S3 или S4, наличие или |
|
|
отсутствие буфера на стороне отправителя не имеет никакого |
|
|
значения. |
|
|
Блокировка получателя имеет смысл только в точке синхронизации |
|
|
S3 и может производиться, только если у получателя нет буфера |
|
|
или если буфер пуст. Альтернативой может быть опрос |
|
|
получателем наличия входящих сообщений. |
|
|
Однако эти действия часто ведут к пустой трате процессорного |
|
|
времени или слишком запоздалой реакции на пришедшее |
|
|
сообщение, что, в свою очередь, приводит к переполнению буфера |
|
|
входящими сообщениями и их потере . |
|
|
|
|