
- •Вопрос1. Понятие программного обеспечения (по). Классификация программного обеспечения по выполняемым функциям. Основные свойства системного программного обеспечения и структура системного по.
- •Вопрос 2 .Операционные системы как ядро системного программного обеспечения
- •1)Управление процессами (программ во время выполнения);
- •Вопрос3 Классификация ос (по структуре и архитектурным принципам построения, по режимам работы). Примеры.
- •4) Общие принципы построения ос. Основные характеристики современных ос. Примеры реализации общих принципов и особенности организации и функционирования ос.
- •Вопрос 5. Определение и классификация ресурсов
- •Вопрос 6.Определение и классификация процессов. Примеры. Процессы и потоки.
- •Вопрос 7. Состояние процессов и функции ос по управлению процессами. Задачи, решаемые ос при реализации функций. Примеры решения.
- •Вопрос 8 . Проблема взаимного исключения. Понятие критической секции, её свойства, условия реализации. Примеры.
- •Вопрос 9. Программные методы реализации взаимного исключения. Примеры.
- •Вопрос 10. Понятие семафора, семафорные примитивы. Примеры объектов диспетчеризации в ms Windows, которые могут использоваться как «семафоры».
- •Вопрос 11. Применение бинарных семафоров для реализации взаимного исключения и синхронизации процессов.
- •Вопрос 12. Общие семафоры, решение задачи «писателей и читателей» при работе с циклическим буфером.
- •Вопрос 13. Проблема тупика и задачи, связанные с решение проблемы тупика. Примеры.
- •Вопрос 14. Задача предотвращения тупика, подходы к решению. Примеры.
- •Вопрос 15. Математическая модель для определения тупика. Определение заблокированных процессов, процессов, находящихся в тупике. Определение состояния тупика. Понятие выгодного состояния. Примеры.
- •Вопрос 16. Модель системы с повторно используемыми ресурсами (граф повторно используемых ресурсов). Примеры.
- •Вопрос 17. Модель системы с потребляемыми ресурсами (граф потребляемых ресурсов). Примеры.
- •Вопрос 18. Система с повторно используемыми и потребляемыми ресурсами (граф обобщённых ресурсов). Примеры.
- •Вопрос 19. Решение задачи распознавания тупика для систем с повторно используемыми ресурсами: основная теорема о тупике. Примеры редукции.
- •Вопрос 21. Распознавание тупиков в системах с повторно используемыми ресурсами с ограничениями на запросы. Примеры.
- •Вопрос 22. Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: алгоритм редукции. Примеры.
- •Вопрос 23. Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: системы с ограничениями на выполнение операций. Примеры.
- •Вопрос 24. Вывод системы из тупика. Общий подход и частный случай.
- •Вопрос 25. Обходы тупиков. Алгоритм банкира. Примеры.
Вопрос 23. Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: системы с ограничениями на выполнение операций. Примеры.
Вопрос 24. Вывод системы из тупика. Общий подход и частный случай.
Существуют два общих подхода к решению задачи вывода системы из тупика:
прекращение процессов (процессы, попавшие в тупик последовательно уничтожаются в определенном порядке);
перехват ресурсов (у процессов в определенном порядке отнимаются выделенные ресурсы).
При реализации первого подхода завершение процессов продолжается до тех пор, пока не высвободится достаточное число ресурсов для распределения их между оставшимися процессами так, чтоб они вышли из тупика. В самом худшем случае в системе может остаться только один процесс в распоряжение которого и передаются освобожденные ресурсы.
Второй подход предполагает “принудительное” перераспределение ресурсов, текущее распределение которых привело к тупику, в системе, которое выполняется до тех пор, пока процессы, в пользу которых перераспределяются ресурсы, не выйдут из тупика. В этом случае процессы, у которых перехватываются выделенные им ресурсы, остаются в системе с повторными запросами на те ресурсы, которые были у них отобраны. Однако во многих случаях перераспределение ресурса равносильно уничтожению процесса, у которого этот ресурс отобрали. В худшем случае в активном состоянии может остаться только один процесс, а остальные блокируются и переходят в состояние ожидания.
Для реализации этих подходов необходимо установить порядок уничтожения процессов или порядок перехвата ресурсов.
Самой простой стратегией является выбор процессов-“кандидатов” на завершение или перехват ресурсов в порядке увеличения цены завершения процесса или цены принудительного перераспределения выделенных ему ресурсов. Стоимость этих операций в системе может определяться, например, приоритетами процессов, “ценой” повторного запуска или оживления процессов, затратами, которые могут быть следствием нарушения нормального выполнения процессов (например, затратами на восстановление информации в БД после ее разрушения из-за прерывания транзакции). Цена перехвата ресурса может быть связана с каждой единицей ресурса.
После удаления процесса из системы (эта операция ведет к освобождению всех занимаемых им ресурсов, снятию запросов (в графе состояния системы удаляются соответствующие дуги и изменяются пометки вершин, представляющих возвращаемы в систему ресурсы, а также удаляется сама вершина, соответствующая завершаемому процессу)) или перераспределения его ресурсов (в данном случае дуги выделения перераспределяемых ресурсов превращаются в дуги запросов с соответствующим весом, а пометки вершин, представляющих освобожденные ресурсы изменяются (увеличиваются счетчики доступных единиц)) анализируется новое состояние системы (выполняется алгоритм распознавания тупика), если новое состояние остается тупиковым, процедура повторяется для следующего процесса в установленном порядке.