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

Набор для практики Вопросы

  1. Почему необходима синхронизация параллельных процессов?

  2. В чем суть задачи "ограниченный буфер"?

  3. Почему необходимы атомарность и взаимное исключение операций над счетчиком числа элементов в буфере?

  4. Что такое interleaving и в чем его опасность при использовании общих переменных параллельными процессами?

  5. Что такое конкуренция за общие данные (race condition)?

  6. Сформулируйте в общем виде проблему критических секций.

  7. Какие условия необходимы для решения проблемы критических секций?

  8. Что такое взаимное исключение?

  9. В чем суть условия "прогресс" для решения проблемы критических секций?

  10. В чем суть условия "ограниченное ожидание" для решения проблемы критических секций?

  11. Что такое алгоритм булочной и на какой идее упорядочения процессов он основан?

  12. Какие атомарные операции, поддержанные аппаратно, используются для синхронизации и каким образом?

  13. Что такое общий семафор и какие операции над ним определены?

  14. Как реализуются семафоры и операции над ними?

  15. Как использовать семафоры для синхронизации по событиям?

  16. Как используются семафоры для решения проблемы критических секций?

  17. Что такое двоичный семафор?

  18. Что такое семафорный бит?

  19. В чем суть операции ЖУЖ для системных процессов и в чем ее отличие от операции ЖДАТЬ?

  20. Как реализуются общие семафоры и операции над ними с использованием двоичных семафоров?

  21. Какие Вы знаете классические задачи (схемы) синхронизации?

  22. Как реализуется решение задачи ограниченный буфер с использованием семафоров?

  23. Как реализуется решение задачи читатели-писатели с использованием семафоров?

  24. Как реализуется решение задачи обедающие философы с использованием семафоров?

  25. Что такое критические области?

  26. Как реализуется решение задачи ограниченный буфер с использованием критических областей?

  27. Как реализуются критические области с использованием семафоров?

  28. Что такое мониторы (как средство синхронизации)?

  29. Какие условия должны выполняться при исполнении операций монитора?

  30. Что такое условные переменные и какие операции над ними определены?

  31. Как реализуется решение задачи обедающие философы с использованием монитора?

  32. Как реализуются мониторы, их операции и условные переменные с использованием семафоров?

  33. Какие средства синхронизации используются в системе Solaris?

  34. Какие средства синхронизации используются в системе Windows 2000?

Упражнения

  1. Реализуйте алгоритм решения задачи ограниченный буфер со взаимным исключением критических секций.

  2. Реализуйте алгоритм булочной.

  3. Реализуйте алгоритмы синхронизации процессов с использованием операций TestAndSet и Swap (в предположении, что они атомарны).

  4. Реализуйте общие семафоры и операции над ними.

  5. Реализуйте двоичные семафоры и операции над ними.

  6. Реализуйте алгоритм синхронизации критических секций с использованием семафоров.

  7. Реализуйте общие семафоры с использованием двоичных семафоров.

  8. Реализуйте алгоритм решения задачи ограниченный буфер с использованием семафоров.

  9. Реализуйте алгоритм решения задачи читатели-писатели с использованием семафоров.

  10. Реализуйте алгоритм решения задачи, обедающие философы с использованием семафоров.

  11. Реализуйте алгоритм решения задачи читатели-писатели с использованием критических областей.

  12. Реализуйте алгоритм решения задачи, обедающие философы с использованием критических областей.

  13. Реализуйте общие области и конструкцию region с использованием семафоров.

  14. Реализуйте алгоритм решения задачи ограниченный буфер с использованием мониторов.

  15. Реализуйте алгоритм решения задачи читатели-писатели с использованием мониторов.

  16. Реализуйте мониторы и условные переменные с использованием семафоров.

Соседние файлы в папке все лекции по ОС