Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
33__33__33__33_ItogOS.docx
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
1.55 Mб
Скачать

71. Семафор Дейкстры.

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

P(S): пока S== процесс блокируется;

S=S-1;

V(S): S=S+1;

Запись означает следующее: при выполнении операции Р над семафором S сначала проверяется его значение. Если оно больше 0, то из S вычитается 1. Если оно меньше или равно 0, то процесс блокируется до тех пор, пока S не станет больше 0, после чего из S вычитается 1. При выполнении операции V над семафором S к его значению прибавляется 1.

Подобные переменные-семафоры могут быть с успехом применены для решения различных задач организации взаимодействия процессов. В ряде языков программирования они были введены в синтаксис языка (ALGOL-68), в других случаях применяются путем использования системных вызовов. Соответствующая целая переменная располагается внутри адресного пространства ядра операционной системы. Операционная система обеспечивает атомарность операций P и V, используя, например, запрет прерываний на время выполнения соответствующих системных вызовов. Если при выполнении операции Р заблокированными оказались несколько процессов, то порядок их разблокирования может быть произвольным, например, FIFO.

  1. Архитектура операционной системы

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

Принципы разработки архитектур ОС:

1. Концепция многоуровневой иерархической вычислительной системы (виртуальной машины) с ОС многослойной структуры.

2. Разделение модулей ОС по функциям на две группы: ядро – модули, выполняющие основные функции ОС, и модули, выполняющие остальные (вспомогательные) функции.

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

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

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

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

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

8. Функциональная избыточность.

9. Функциональная избирательность.

10. Открытость, модифицируемость, расширяемость (возможность получения текстов исходных модулей).

11. Мобильность – возможность переноса на различные аппаратные платформы.

12. Совместимость – возможность выполнения приложений, рассчитанных на другие ОС.

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

Монолитная архитектура

Как правило, структура отсутствует

Многоуровневая архитектура

  • Между уровнями можно организовать четкий интерфейс.

  • Систему можно спроектировать методом «сверху вниз», а реализовать методом «снизу вверх».

  • Уровни реализуются в соответствии с их порядком, начиная с аппаратуры и далее вверх.

Микроядерная архитектура

Операционные системы, основанные на концепции микроядра

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]