Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
осрв.doc
Скачиваний:
25
Добавлен:
25.04.2019
Размер:
269.82 Кб
Скачать

Вопрос 40. Типы взаимодействия процессов: сотрудничающие и конкурирующие процессы. Критические секции, взаимное исключение процессов.

По типу взаимодействия различают

1. сотрудничающие процессы:

? процессы, разделяющие только коммуникационный канал, по которому один передает данные, а другой их получает;

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

2. конкурирующие процессы:

? процессы, использующие совместно разделяемый ресурс;

? процессы, использующие критические секции;

? процессы, использующие взаимные исключения.

Критическая секция — это участок программы, на котором запрещается переключение задач для обеспечения исключительного использования ресурсов текущим процессом (задачей). Все ОСРВ предоставляют системные вызовы "войти в критическую секцию" и "выйти из критической секции". Отметим, что "обычные" операционные системы такой возможности пользовательским программам не дают. Время пребывания процесса (задачи) в критической секции должно быть как можно меньше, так как иначе можно нарушить временные ограничения на скорость реакции на внешние события. Хорошая ОСРВ должна даже при нахождении в критической секции собирать прерывания в очередь "отложенных" прерываний и обработать их при выходе из критической секции.

Взаимное исключение (mutualexclusion, mutex) — это способ синхронизации параллельно работающих процессов (задач), использующих разделяемый постоянный критичный ресурс. Если ресурс занят, то системный вызов "захватить ресурс" переводит процесс (задачу) из состояния выполнения в состояние ожидания. Когда ресурс будет освобожден посредством системного вызова "освободить ресурс", то этот процесс (задача) вернется в состояние выполнения и продолжит свою работу. Ресурсприэтомперейдет в состояние "занят".

Вопрос 41. Объектно-ориентированные осрв. Обзор осрв SoftKernel.

Рассмотрим системы, основанные на объектно-ориентированном подходе к разработке програмного обеспечения (см. раздел 4.1). К их числу мы будем относить системы, не только предоставляющие средства разработки и наборы библиотек для объектно-ориентированных языков, но и сами написанные на таких языках.

Система SoftKernel выпускается фирмой Microprocess (Courbevoie, France). Основные характеристики:

1. Тип: host-target

2. Архитектура: на основе объектов-микроядер

3. Стандарт: собственный

4. Свойства как ОСРВ:

• Многозадачность: многопроцессность и многозадачность

• Многопроцессорность: да

• Уровней приоритетов: 255

• Планирование: приоритетное, FIFO; preemptive ядро

5. ОС разработки (host): UNIX/Windows

6. Процессоры (target): Motorola 68xxx, PowerPC, Intel 80960, ARM, SPARC

7. Линии связи host-target: последовательный канал и ethernet

8. Минимальный размер: 40Kb

9. Средства синхронизации и взаимодействия: семафоры, сигналы, события, почтовые ящики

10. Средстваразработки:

• SoftWorks - интегрированная среда разработки C/C++