- •Понятие операционной системы. Условия, при которых нужны ос
- •Базовые функции операционной системы
- •Основные характеристики ос
- •Определения операционной системы
- •Назначение операционной системы
- •Место ос в логической структуре вычислительной системы
- •Функции операционных систем
- •Состав и объекты операционной системы
- •Эволюция ос и основные идеи
- •Понятие расширенной машины
- •Ресурс. Классификация ресурсов
- •Операционная среда
- •Прикладная среда
- •Понятие процесса. Процесс, как контейнер
- •Тождественность процесса, выполняемой программы и ос 48 Поток. Контекст. Волокна
- •Назначение прерываний. Определение прерывания. Механизм прерываний
- •Алгоритм выполнения прерываний. Главные функции механизма прерываний
- •Классификация прерываний, возникающих при работе вычислительной системы
- •Распределение прерываний по уровням приоритета
- •Планирование заданий процессов и потоков
- •Виды планирования, используемые в современных ос
- •Жизненный цикл процесса (потока). Очереди. Классы алгоритмов планирования
- •Алгоритмы планирования процессов и потоков. Достоинства и недостатки различных алгоритмов планирования
- •Разделение времени при работе с процессами и потоками. Понятие кванта времени. Алгоритмы, основанные на квантовании
- •Понятие приоритетного обслуживания
- •Разновидности приоритетного планирования
- •Система приоритетного обслуживания Windows
- •Физическая организация памяти
- •Виртуальная память
- •Интерфейс прикладных программ. Перенос приложений между платформами 148 Взаимодействие процессов – синхронизация. Критические ресурсы и критические секции процессов
- •Взаимодействие процессов – синхронизация. Взаимное исключение. Задача взаимного исключения
- •Использование блокировки памяти. Алгоритм Деккера
- •Семафорные примитивы. Мьютексы
- •Задача "поставщик-потребитель"
- •Понятие сообщения в ос. Виды сообщений 170 Вызовы процедур. Локальные вызовы, удаленные вызовы (rpc). Направление вызова – клиент-сервер
- •Вызовы процедур. Локальные вызовы, удаленные вызовы (rpc). Направление вызова – сервер- клиент 175 Проблема тупиков. Предотвращение тупика
- •Проблема тупиков. Обход тупика
- •Проблема тупиков. Распознавание тупика
- •Мониторы
- •Синхронизация в распределенных системах
- •Алгоритмы синхронизации в распределенных системах. Алгоритм «задиры», круговой алгоритм
Мониторы
Монитор — в языках программирования, высокоуровневый механизм взаимодействия и синхронизации процессов, обеспечивающий доступ к неразделяемым ресурсам.[1] Подход к синхронизации двух или более компьютерных задач, использующих общий ресурс, обычно аппаратуру или набор переменных. Монитор состоит из: набора процедур, взаимодействующих с общим ресурсом, мьютекса, переменных, связанных с этим ресурсом, инварианта, который определяет условия, позволяющие избежать состояние гонки.
Синхронизация в распределенных системах
Обычно децентрализованные алгоритмы имеют следующие свойства: Относящаяся к делу информация распределена среди ЭВМ. Процессы принимают решение на основе только локальной информации. Не должно быть единственной критической точки, выход из строя которой приводил бы к краху алгоритма. Не существует общих часов или другого источника точного глобального времени. Многие распределенные алгоритмы требуют, чтобы один из процессов выполнял функции координатора, инициатора или некоторую другую специальную роль.
Алгоритмы синхронизации в распределенных системах. Алгоритм «задиры», круговой алгоритм
Алгоритм "задиры" Если процесс обнаружит, что координатор очень долго не отвечает, то инициирует выборы. Процесс P проводит выборы следующим образом: P посылает сообщение "ВЫБОРЫ" всем процессам с большими чем у него номерами. Если нет ни одного ответа, то P считается победителем и становится координатором. Если один из процессов с большим номером ответит, то он берет на себя проведение выборов. Участие процесса P в выборах заканчивается. В любой момент процесс может получить сообщение "ВЫБОРЫ" от одного из коллег с меньшим номером. В этом случае он посылает ответ "OK", чтобы сообщить, что он жив и берет проведение выборов на себя, а затем начинает выборы (если к этому моменту он уже их не вел). Следовательно, все процессы прекратят выборы, кроме одного - нового координатора. Он извещает всех о своей победе и вступлении в должность сообщением "КООРДИНАТОР". Если процесс выключился из работы, а затем захотел восстановить свое участие, то он проводит выборы (отсюда и название алгоритма). Круговой алгоритм. Алгоритм основан на использовании кольца (физического или логического), но без маркера. Каждый процесс знает следующего за ним в круговом списке. Когда процесс обнаруживает отсутствие координатора, он посылает следующему за ним процессу сообщение "ВЫБОРЫ" со своим номером. Если следующий процесс не отвечает, то сообщение посылается процессу, следующему за ним, и т.д., пока не найдется работающий процесс. Каждый работающий процесс добавляет в список работающих свой номер и переправляет сообщение дальше по кругу. Когда процесс обнаружит в списке свой собственный номер (круг пройден), он меняет тип сообщения на "КООРДИНАТОР" и оно проходит по кругу, извещая всех о списке работающих и координаторе (процессе с наибольшим номером в списке). После прохождения круга сообщение удаляется.
Обмен данными. Сокеты 192
Концепция архитектуры облачных вычислений
Сервисные модели облачных вычислений 199
Эффективность моделей облачных вычислений 202
Модели развертывания облачных вычислений 205
Основные определения сервисного подхода к архитектуре ОС: Ресурс. Сервис. Система. Семантика систем 208
Основные определения сервисного подхода к архитектуре ОС: Интерфейс системы. Виртуализация. Приложение. Порталы 210
Интерфейсы облачных систем. Интерфейсы IaaS 212
Интерфейсы облачных систем. Интерфейсы PaaS 214
Интерфейсы облачных систем. Интерфейсы SaaS 217
Решение проблем интероперабельности в облачных системах. Сервисы поставщика 220
