- •1. Что такое критическая область? Условия избегания состязания для эффективной работы процессов.
- •Строгое чередование
- •Что такое примитивы взаимодействия процессов, и для чего они применяются? в чем заключается проблема переполненного буфера?
- •Что такое семафор? Для чего применяются операции up и down?
- •8. Решение проблемы переполнения буфера с помощью семафоров (producer-consumer).
- •10. Образ процесса, регистры процесса.
- •12. Основные атрибуты процесса.
- •13. Что такое контекст и дескриптор процесса? Из каких частей состоит контекст процесса в unix-системах? Контекст и дескриптор процесса
- •14. Назвать состояния процесса в unix-системах.
- •15. Этапы жизненного цикла процесса в unix-системах.
- •16. В каких случаях происходит переключение контекста
- •17. Приоритеты процессов
- •18. Синхронизация процессов.
- •Критерии планирования и требования к алгоритмам
- •24. Методы разделения процессов на группы в интерактивных системах.
- •25. Какие существуют системы реального времени? Необходимое условие для планирования процессов в системе реального времени
- •26. Статический алгоритм планирования процессов (rms) в системах реального времени.
- •27. Динамический алгоритм планирования процессов (edf) в системах реального времени
- •28. Понятие взаимоблокировки процессов. Что такое ресурс? Типы ресурсов, последовательность событий, необходимых для использования ресурса
- •34. Способы выхода из взаимоблокировки:
34. Способы выхода из взаимоблокировки:
Восстановление за счет приоритетного овладения ресурсом. Иногда можно отобрать ресурс у его текущего владельца и передать его другому процессу. Например приостановить печать на принтер одного процесса и передать его управление другому процессу, а затем вернуть его без извещения процесса. Восстановление таким образом зачастую затруднено или вовсе невозможно. Выбор процесса для приостановки обусловлен тем, какой процесс обладает тем ресурсом, который у него можно легко отобрать.
Восстановление путем отката. Это можно организовать за счет периодического создания процессами контрольных точек в критических местах программы. То есть записи состояния процесса в файл и его последующих перезапуск
Восстановление путем уничтожения процессов. Самый грубый, но и самый простой способ прервать взаимоблокировку. Если повезет, то другие процессы смогут продолжить свою работу. Если нет, то повторяем, пока цикл не будет разорван.
