
- •1 Свойства и классификация процессов
- •2. Управление процессами в ос. Граф существования и трасса процесса
- •3. С войства и классификация ресурсов. Критический ресурс.
- •4. Свойства и классификация ресурсов. Потребляемые и восстанавливаемые ресурсы
- •5. Типовые задачи синхронизации. Взаимное исключение
- •6. Типовые задачи синхронизации. Производитель-потребитель
- •7. Типовые задачи синхронизации. Читатели и писатели
- •8. Типовые задачи синхронизации. Обедающие философы
- •9. Механизмы синхронизации. Свойства и классификация
- •10. Механизмы синхронизации. Использование механизма прерываний
- •11. Механизмы синхронизации. Двухступенчатая схема
- •12. Механизмы синхронизации. Семафоры Дейкстры
- •13. Механизмы синхронизации. Решение задачи реактивации
- •14. Механизмы синхронизации. Модификации семафоров
- •15. Механизмы синхронизации. Семафороподобные средства
- •16. Организация и управление подпроцесами в Java
- •17. Решение задачи взаимного исключения в Java
- •18. Событийные переменные в java.
- •19. Семафоры в java.
- •20. Организация подзадач в Win
- •21. Организация подзадач в Win32. Класс tThread
- •22. Механизмы синхронизации Win32. Мьютексы
- •23. Механизмы синхронизации Win32. События
- •24. Механизмы синхронизации Win32. Семафоры
- •25. Монитороподобные средства синхронизации. Критическая область.
- •26. Критическая область. Основные модификации
- •27. Мониторы Хоара
- •28. Распределенное программирование. Основные понятия
- •Каналы и передача сообщений
- •Распределенное программирование. Фильтры и сети
- •Распределенное программирование. Схемы взаимодействия
- •Распределенное программирование. Сети и сокеты.
1 Свойства и классификация процессов
По динамическим свойствам процессы разделяются:
- реального времени (для них необходимо обеспечивать завершение к определённому времени)
- интерактивные (должны планироваться таким образом, чтобы интервал существования не превышал заданного времени реакции системы)
- пакетные (все остальные процессы, никаких требований к интервалу существования не определяется)
По варианту организации процессов:
Между процессами могут устанавливаться связи в результате их порождения
соответственно процесс, создающий другой процесс — родительский, а порождаемый — дочерний.
В общем случае основной процесс каждой программы является дочерним по отношению к планировщику ОС:
- порождающий (родительский)
- порождённый (дочерний)
По результатам работы:
Два процесса, которые имеют одинаковый конечный результат обработки одних и тех же данных по одной и той же или различных программах, на одном и том же или различных процессорах, считаются эквивалентными.
Трассы эквивалентных процессов в общем случае не совпадают. Если в эквивалентном процессе обработки данных происходит по одной и той же программе, но трассы не совпадают, такие процессы называют тождественными.
Если у тождественных процессов совпадают трассы, то они считаются равными.
В остальных случаях процессы различные.
По взаимодействию
В общем случае трассы процессов непредсказуемы, однако для управлением процессами необходимо учитывать относительное расположение интервалов существования на оси времени.
Если интервалы существования не пересекаются во времени, то такие процессы считаются последовательными относительно друг друга
Если на выбранном участке времени существуют оба процесса, то они считаются параллельными.
Если на выбранном интервале времени существуют оба процесса и точка где есть только один, такие процессы относятся друг другу как комбинированные.
Если процессы полностью не зависимые, то они считаются изолированными. При организации каких-либо связей (информационных, управляющих, временных, пространственных) процессы являются взаимосвязанными.
Если между процессами установлена информационная связь, то они считаются взаимосвязывающими.
Если процессы используют одни и те же ресурсы, то они считаются конкурирующими.
2. Управление процессами в ос. Граф существования и трасса процесса
Процесс — некоторая деятельность, связанная с исполнением программы процессором.
За время существования процесса, он может прибывать в одном из следующих состояний:
Порождение — подготовка всех первоначальных условий для первоначального запуска подпрограммы
Активное («счёт») - процесс выполняется.
Ожидание — процесс не может выполняться за счёт того, что не выполнены какие-либо условия
Готовность — все условия для выполнения процесса соблюдены, но процесс не выполняется из-за занятости процессора.
Завершение — окончание работы процесса.
В общем случае последовательность перехода между состояниями и длительностью пребывания в каждом состоянии не предсказуемо, но с другой стороны, фактические нахождения процесса в допустимом состоянии определяется как трасса процесса.
Трасса — это последовательность и длительность прохождения процесса в каждом из состояний
Интервал времени между началом и этапом порождения и окончанием этапа завершения называется интервал существования процесса.