
- •Содержание Оглавление
- •1. Основные действия операционной системы при управлении заданиями – программы функций, характеристика действий, конечный результат.
- •2. Способы реализации управления данными – подпрограммы ввода-вывода.
- •3. Понятие метода доступа (определение, состав).
- •4. Понятие буфера: методы отведения буферов и режимы передачи информации.
- •5. Способы организации данных и типы языков управления.
- •6. Понятие тупика, характеристика отношений, возникающих в системе.
- •7. Основная задача обнаружения тупика, основной способ определения состояния системы (редукция графа).
- •8. Факторы, обуславливающие сложность восстановления системы после тупика.
- •9. Главные стратегические принципы предотвращения тупиков (принципы j.W. Havendera).
- •10. Условия возникновения тупиков и основные направления исследования тупиков.
- •11. Предотвращение тупиков, обход тупиков.
- •12. Методы обнаружения тупиков и восстановления после тупиков.
- •13. Условие «ожидания дополнительных ресурсов » и его разрешение.
- •14. Условие неперераспределяемости ресурсов и его разрешение.
- •15. Условие «кругового ожидания » и его разрешение.
- •16. Понятие критической области и её значение для функционирования системы.
- •17. Описание формальной модели операционной системы.
- •18. Взаимосвязь ресурсов и процессов в многопроцессорной эвм.
- •19. Базовые операции над графом ресурсов и процессов и правила преобразования.
- •20. Схемы работы ос в различных режимах мультипрограммирования.
- •21. Понятие ос юникс. Основные преимущества и недостатки.
- •22. Основные центральные идеи ос юникс и их реализация.
- •23. Организация ввода-вывода в ос юникс, характерные особенности.
- •24. Понятие конвейера, связь с в/в, фильтр.
- •25. Понятие процесса в ос юникс, отличие от предыдущих ос, утилиты.
- •26. Компоненты ос: sccs и make
- •27. Планирование в ос юникс
- •28. Файловая система ос юникс: понятие, возможности, структурные особенности.
- •29. Структура файловой системы (на диске).
- •30. Ядро системы юникс – понятие и основные секции
- •31. Идеология структуры ядра ос юникс.
- •32. Генеалогия ос юникс и основные этапы разработки
- •33. Интерфейсы ос юникс
- •34. Определение и основные сведения об ос linux
- •35. Файловая система linux: организация, система работы и управления доступом к файлу.
- •36. Мультипрограммирование и мультиобработка – общее и особенное.
- •37. Основная цель операционной системы и критерии оптимизации.
- •38. Определение процесса и операции в иерархической операционной системе.
- •39. Отношения предшествования между процессами и развитие процесса в системе.
- •40. Понятие критической области.
- •41. Семафор, механизм синхронизации.
- •42. Компоненты ядра ос юникс и структура программного обеспечения.
- •43. Утилиты ос юникс.
- •44. Идеология структуры и базовый состав ядра ос юникс.
13. Условие «ожидания дополнительных ресурсов » и его разрешение.
Нарушение условия ожидания дополнительных ресурсов.
Первый стратегический принцип требует, что бы процесс сразу запрашивал все необходимые ресурсы и система должна предоставлять сразу всё необходимое либо ничего. Если такой набор ресурсов имеется у системы, то процесс сразу начинает работу, в противном случае процесс находится в состоянии ожидания. В течение ожидания процесс не должен удерживать какие-либо ресурсы. Благодаря такой стратегии предотвращается возникновение условия ожидания дополнительных ресурсов и тупиковые ситуации не возможны. Подобный подход может привести к серьёзному снижению эффективности использования ресурсов. Для того что бы улучшить ситуацию с использованием ресурсов разработчики предлагают метод, который заключается в том чтобы разделить программу на несколько программных шагов, выполняемых относительно независимо друг от друга. Благодаря этому можно выделять ресурсы для каждого шага, а не процесса. Это позволяет уменьшить непроизводительное использование ресурсов, но связано с увеличением расходов на этапе проектирования прикладных программ и на этапе их выполнения. Считается. что постольку ресурсы накапливаются для конкретного пользователя, этот пользователь должен платить не только за работу процесса, но и за время ожидания ресурса. С другой стороны это приводит к нарушению принципа «предсказуемости платы за ресурсы». Если пользователь попытается выполнить свою работу в период пиковой загрузки системы, то ему придется платить больше, чем когда система свободна.
Примечание (первый принцип Хавендера): Каждый процесс должен запрашивать все требуемые ресурсы сразу и не может начать выполняться до полного предоставления ему ресурсов.
14. Условие неперераспределяемости ресурсов и его разрешение.
Нарушение условия неперераспределяемости.
Второй стратегический принцип предотвращает возникновение условия неперераспределяемости ресурса. Предположим, что система позволяет процессам, запрашивающим дополнительные ресурсы, удерживать уже имеющиеся. Если у системы достаточно свободных ресурсов на это, то тупиковых ситуаций не возникает. Если же запрос удовлетворить не удаётся ,в этом случае один процесс удерживает ресурс , необходимый другому процессу, а второй в свою очередь делает то же самое со своей стороны. Поэтому второй стратегический принцип требует чтобы процесс, имея за собой некоторые ресурсы и получающий отказ от системы на выделение дополнительных ресурсов должен освободить свои ресурсы и заново запросить их вместе с дополнительными если они ему нужны. Такая стратегия полностью приводит к нарушению условия неперераспределяемости , позволяя забирать ресурсы , закреплённые за процессами до завершения работы самих процессов. Но имеются и недостатки этого принципа: процесс работающий в течение некоторого времени, используя определённые ресурсы, а затем освобождая эти ресурсы может потерять всю работу, выполненную до данного момента. Если такая ситуация случается редко, то можно считать что это относительно недорогой способ предотвращения тупиков. Если же такая ситуация встречается часто, то способ становится дорогостоящим, особенно если не удаётся вовремя завершить высокоприоритетные или срочные процессы. Одним из серьёзных недостатков такой стратегии является возможность бесконечного откладывания процессов. Выполнение процесса, который многократно запрашивает и освобождает одни и те же ресурсы может откладываться на неопределённо долгий срок. В этом случае у системы необходимо вывести данный процесс из решения, чтобы другие процессы получили возможность продолжить работу. Нельзя отбросить и такой вероятный случай, когда процесс, откладываемый бесконечно может оказаться «незаметным» для системы. В такой ситуации может случится, что процесс поглощает значительное количество ресурсов и появляется опасность снижения производительности системы к нулевому уровню.
Примечание (второй принцип Хавендера): Если процесс, удерживающий определённые ресурсы получает отказ в удовлетворении запроса на дополнительные ресурсы, то этот процесс должен освободить свои первоначальные ресурсы и снова запросить их вместе с дополнительными.