- •1. Требования, предъявляемые к алгоритмам организации взаимодействия процессов.
- •2. Способы реализации взаимного исключения: запрещение прерываний
- •3. Способы реализации взаимного исключения: переменная-замок
- •4. Способы реализации взаимного исключения: строгое чередование
- •5. Способы реализации взаимного исключения: флаги готовности
- •6. Способы реализации взаимного исключения: алгоритм Петерсона
- •7. Способы реализации взаимного исключения: алгоритм булочной
- •8. Аппаратная реализация взаимоисключений.
- •10. Монитор Хоара как примитив синхронизации высокого уровня. Решение задачи производителя и потребителя с помощью мониторов.
- •9. СемафорныепримитивыДейкстры. Решение задачи производителя и потребителя с помощью семафоров.
- •11. Тупиковые ситуации.
- •12. Методы борьбы с тупиками: Игнорирование проблемы тупиков.
- •13. Методы борьбы с тупиками: Предотвращение тупиков.
- •14. Методы борьбы с тупиками: Алгоритм Банкира.
- •15. Методы борьбы с тупиками: Нарушение условий возникновения тупиков.
- •16. Методы борьбы с тупиками: Обнаружение тупиков.
- •17. Методы борьбы с тупиками: Восстановление после тупиков.
- •18. Иерархия памяти. Локальность.
- •22. Динамическое распределение памяти: разделы с подвижными границами. Уплотнение памяти. Свопинг.
- •23. Сегментная организация памяти.
- •24. Страничная организация памяти.
- •25. Таблицы страниц: одноуровневые, многоуровневые, инвертированные.
- •26. Сегментно-страничная организация памяти
- •27. Понятие виртуальной памяти. Страничный механизм трансляции.
- •28. Стратегии управления виртуальной памятью
- •29. Дисциплины замещения страниц: fifo
- •30. Дисциплины замещения страниц: оптимальный алгоритм
- •31. Дисциплины замещения страниц: выталкивание дольше всего не использовавшейся страницы.
- •32. Дисциплины замещения страниц: выталкивание редко используемой страницы.
- •33. Модель рабочего множества. Трешинг. Страничные демоны.
11. Тупиковые ситуации.
Тупик – это ситуация, в которой находится процесс, ожидающий событие, которое никогда не произойдет(deadlock).
Тупики возникают вследствие :
Ошибок программирования (отсутствия семафора).
Занятости ресурсов, которые необходимы процессам. Ресурсы бывают разделяемыми и выделяемыми(монопольного владения). Тупики могут возникнуть с одними и с другими, но обычно с ресурсами монопольного владения.
Условия возникновения тупиков:
Условие взаимоисключения, одновременно использовать ресурс может только один процесс.
Условие ожидания ресурсов. Процессы удерживают ресурсы выделенные им и могут запрашивать другие ресурсы.
Условие неперераспределяемости. Ресурс не может быть отобран у процесса, а только освобожден самим процессом.
Условие кругового ожидания. Существует кольцевая цепь процессов, в которой каждый ресурс необходим одному процессу, но принадлежит другому.
Для возникновения тупика необходимо и достаточно выполнение всех 4-х условий.
12. Методы борьбы с тупиками: Игнорирование проблемы тупиков.
Тупик – это ситуация, в которой находится процесс, ожидающий событие, которое никогда не произойдет(deadlock).
Тупики возникают вследствие :
Ошибок программирования (отсутствия семафора).
Занятости ресурсов, которые необходимы процессам. Ресурсы бывают разделяемыми и выделяемыми(монопольного владения). Тупики могут возникнуть с одними и с другими, но обычно с ресурсами монопольного владения.
Тупики могут быть очень маловероятны, поэтому ОС может не иметь никаких причудливых правил и ограничений, накладываемых на работу процессов и пользователей. Поскольку усилия, прикладываемые к их выполнению, могут быть значительно больше, чем ущерб от тупиков.
13. Методы борьбы с тупиками: Предотвращение тупиков.
Тупик – это ситуация, в которой находится процесс, ожидающий событие, которое никогда не произойдет(deadlock).
Тупики возникают вследствие :
Ошибок программирования (отсутствия семафора).
Занятости ресурсов, которые необходимы процессам. Ресурсы бывают разделяемыми и выделяемыми(монопольного владения). Тупики могут возникнуть с одними и с другими, но обычно с ресурсами монопольного владения.
Предотвращение тупиков производится путем тщательного распределения ресурсов. Безопасное состояние – такое состояние системы, при котором имеется хотя бы одна последовательность событий не приводящая к тупику.
Система находится в безопасном состоянии, если может обеспечить всем процессам их выполнение в течении конечного времени.
14. Методы борьбы с тупиками: Алгоритм Банкира.
Тупик – это ситуация, в которой находится процесс, ожидающий событие, которое никогда не произойдет(deadlock).
Тупики возникают вследствие :
Ошибок программирования (отсутствия семафора).
Занятости ресурсов, которые необходимы процессам. Ресурсы бывают разделяемыми и выделяемыми(монопольного владения). Тупики могут возникнуть с одними и с другими, но обычно с ресурсами монопольного владения.
В системе есть n ресурсов, ОС принимает запросы на ресурсы от процесса только если его потребность не превышает n. Процесс получает требуемые ресурсы, только если гарантирует возврат устройств в течении конечного времени.
