Контрольные вопросы
Контрольные вопросы
- Покажите, что задача синхронизации является частным случаем задачи взаимного исключения.
- Для каких задач использование единственной общей переменной исключения может быть оправданным?
- Сопоставьте свойства алгоритмов взаимного исключения, использующих атомарность команд и использующих атомарность обращений к памяти.
- В состав семафора входит переменная взаимного исключения и скобки критической секции. Почему же потери на занятое ожидание в семафоре не могут быть значительными?
- Какие ограничения имеются в решении задачи "производители-потребители" методом семафоров?
- В чем преимущества встраивания критической секции в язык программирования? Покажите, как используются скрытые семафоры для реализации встроенной критической секции.
- В чем преимущество использования мониторов? Покажите, как используются скрытые семафоры для реализации защищенных процедур.
- Проблема вложенных вызовов мониторов может быть решена при помощи иерархической дисциплины, описанной в разделе 5.3. Покажите пути такой реализации.
- Почему при применении групповых мониторов процедуры read и write не должны быть защищенными?
- Покажите реализацию задачи "читатели-писатели" с исключением возможности бесконечного откладывания процесса-писателя.
- В чем преимущества решения задачи "производители-потребители" методами счетчиков событий или секвенсоров перед методом семафоров?
- Как, используя семафоры, реализовать счетчики событий и секвенсоры?
- В каких ситуациях процесс, участвующий во взаимодействии по модели рандеву, может быть заблокирован?
- Объясните реализацию семафора через рандеву.
Назад | Оглавление | Вперед |