
- •Содержание Оглавление
- •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. Идеология структуры и базовый состав ядра ос юникс.
9. Главные стратегические принципы предотвращения тупиков (принципы j.W. Havendera).
Для предотвращения тупиков ещё 1967 году Havender J.W. предложил три стратегических принципа:
каждый процесс должен запрашивать все требуемые ресурсы сразу и не может начать выполняться до полного предоставления ему ресурсов.
Если процесс, удерживающий определённые ресурсы получает отказ в удовлетворении запроса на дополнительные ресурсы, то этот процесс должен освободить свои первоначальные ресурсы и снова запросить их вместе с дополнительными.
Следует ввести линейную упорядоченность по типам ресурсов для всех процессов. Если процессу выделены ресурсы данного типа, то в дальнейшем он может запрашивать только ресурсы далёких по порядку типов. Всем ресурсам в системе присваиваются уникальные номера и процессы должны запрашивать ресурсы в порядке возрастания номеров, что позволяет не возникнуть в системе ситуации «кругового ожидания».
10. Условия возникновения тупиков и основные направления исследования тупиков.
Четыре необходимых условия возникновения тупика.
Процессы требуют предоставления им монопольного управления ресурсам, которые им выделяются (условие взаимоисключения).
Процессы удерживают за собой ресурсы, уже выделенные им и ожидают выделения дополнительных (условие ожидания ресурсов).
Ресурсы нельзя отобрать у процессов, удерживающих их пока эти ресурсы не будут использованы для завершения работы (условие не перераспределяемости).
Существует кольцевая цепь процессов в которой каждый процесс удерживает за собой один или несколько ресурсов, требующийся следующему процессу в цепи (условие кругового ожидания)
Основные направления проблемы тупиков.
Все разработки по проблеме тупиков делятся на 4 направления:
Предотвращение тупиков.
Обход тупиков.
Обнаружение тупиков.
Восстановление после тупиков.
При предотвращении тупиков основной целью является создание условий, исключающих возникновение тупиковых ситуаций. Такой подход вполне реален для самого тупика, но он приводит к нерациональному использованию ресурса.
Цель средств обхода тупиков заключается в том. чтобы можно было предусмотреть менее жёсткие ограничения чем в первом случае. В этом случае ресурсы системы будут использоваться лучше.
Метод обнаружения тупиков используется в системах, допускающих возможность возникновения тупиков вследствие умышленных и неумышленных действий программиста. Цель средства обнаружения тупиков – обнаружить тупиковую ситуацию, ресурсы и процессы, вовлечённые в неё. После обнаружения такую ситуацию можно попытаться устранить.
Методы восстановления после тупиков применяются для устранения тупиковых ситуаций с тем что бы система продолжала работать, а процессы , попавшие в тупиковую ситуацию могли завершиться с освобождением занимаемых ими ресурсов. Восстановление – очень серьёзная проблема и в большинстве систем разрешается путём полного выведения процессов, попавших в тупиковую ситуацию. В дальнейшем выведенные процессы обычно перезапускаются с самого начала, по этому проделанная ранее работа теряется.
11. Предотвращение тупиков, обход тупиков.
При предотвращении тупиков основной целью является создание условий, исключающих возникновение тупиковых ситуаций. Такой подход вполне реален для самого тупика, но он приводит к нерациональному использованию ресурса. Чаще всего при решении проблемы тупиков разработчики систем стараются исключить сами возможности их возникновения. Прежде всего разрабатываются методы предотвращения тупиков, оцениваются различные последствия их реализации как для пользователя так и системы (особенно с точки зрения их эксплуатационных характеристик и экономической эффективности). Хавендер показал, что возникновение тупика не возможно, если не нарушено хотя бы одно из четырёх необходимых условий:
Процессы требуют предоставления им монопольного управления ресурсам, которые им выделяются (условие взаимоисключения).
Процессы удерживают за собой ресурсы, уже выделенные им и ожидают выделения дополнительных (условие ожидания ресурсов).
Ресурсы нельзя отобрать у процессов, удерживающих их пока эти ресурсы не будут использованы для завершения работы (условие не перераспределяемости).
Существует кольцевая цепь процессов в которой каждый процесс удерживает за собой один или несколько ресурсов, требующийся следующему процессу в цепи (условие кругового ожидания)
Своё видение он изложил в формулировке трёх принципов, получивших название стратегических принципов Хавендера. Каждый из этих принципов имеет свое целью разрушение необходимых условий возникновения тупика.
каждый процесс должен запрашивать все требуемые ресурсы сразу и не может начать выполняться до полного предоставления ему ресурсов.
Если процесс, удерживающий определённые ресурсы получает отказ в удовлетворении запроса на дополнительные ресурсы, то этот процесс должен освободить свои первоначальные ресурсы и снова запросить их вместе с дополнительными.
Следует ввести линейную упорядоченность по типам ресурсов для всех процессов. Если процессу выделены ресурсы данного типа, то в дальнейшем он может запрашивать только ресурсы далёких по порядку типов. Всем ресурсам в системе присваиваются уникальные номера и процессы должны запрашивать ресурсы в порядке возрастания номеров, что позволяет не возникнуть в системе ситуации «кругового ожидания». Цель средств обхода тупиков заключается в том, чтобы можно было предусмотреть менее жёсткие ограничения, чем в первом случае. В этом случае ресурсы системы будут использоваться лучше.