- •Содержание Оглавление
- •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. Идеология структуры и базовый состав ядра ос юникс.
6. Понятие тупика, характеристика отношений, возникающих в системе.
Если запрашиваемый процессором ресурс недоступен, то процесс переходит в состояние ожидания. В случае, если требуемый ресурс удерживается другим ожидающим процессом, то первый процесс не сможет сменить свое состояние. Такая ситуация называется тупиком.
Тупиковая ситуация является следствием того, что один или более процессов находятся в состоянии тупика.
Обнаружение тупика – это установление факта того что возникла тупиковая ситуация и определение процессов и ресурсов, вовлечённых в эту тупиковую ситуацию.
Применение алгоритмов обнаружения тупиков сопряжено с определёнными дополнительными затратами машинного времени. Поскольку появляется необходимость принимать компромиссные решения, что вообще характерно для операционных систем.
Процессы в системе обозначим квадратами, классы идентичных ресурсов – большими кружками, малые кружки, находящиеся внутри больших будут означать количество ресурсов внутри каждого класса. Рассмотрим возможные отношения, которые могут возникнуть в системе на графе запросов и распределения ресурсов.
А.)В текущий момент времени запрос от процесса на выделение ресурса находится на стадии рассмотрения.
Б.) Ресурс R1 выделен процессу Р1.
В.) Процесс Р3 запрашивает ресурс R3, который выделен Р4. Ситуация потенциального тупика.
Г.) ресурс R5 выделен процессу Р5, который запрашивает ресурс R4, который в свою очередь выделен процессу R6. Ситуация тупика.
7. Основная задача обнаружения тупика, основной способ определения состояния системы (редукция графа).
Задача механизма обнаружения тупиков – определить, не возникла ли в системе тупиковая ситуация. Одним из способов обнаружения тупиков является приведение, или «редукция» графа. Это позволяет определить процессы, которые могут завершиться и процессы , которые будут оставаться в тупиковой ситуации. Если запросы ресурсов для некоторого процесса могут быть удовлетворены, то говорят, что граф можно редуцировать на этот процесс. Такая редукция эквивалентна для фиксированного момента времени, изображая граф, таким образом, как если бы процесс завершил работу и возвратил системе все свои ресурсы. На схеме редукция графа на конкретный процесс изображается исключением стрелок, идущих от этого процесса и стрелок, идущих к ресурсам. Если граф можно редуцировать на все процессы, значит тупиковых ситуаций нет, а если этого сделать нельзя, то все нередуцированные процессы образуют набор процессов, вовлечённых в тупиковую ситуацию. Порядок, в котором осуществляется редукция, не имеет значения, так как окончательный результат в любом случае одинаков. Систему, оказавшуюся в тупике необходимо из него вывести, при этом обязательно несколько процессов потеряют полностью или частично уже проделанную работу
8. Факторы, обуславливающие сложность восстановления системы после тупика.
Неочевидность того что система попала в тупиковую ситуацию.
В большинстве ОС не существует эффективных средств приостановки процесса на неопределённо долгое время и выведения его из системы с последующим его возобновлением. Так процессы реального времени не должны быть остановлены. Даже если в системе имеются средства остановки – восстановления процесса, то это требует значительных затрат машинного времени и высококвалифицированных профессионалов.
Требуется большой объём дополнительных работ.
В современных ОС процесс восстановления после тупиков осуществляется путём принудительного вывода некоторого процесса из системы, что бы можно было использовать его ресурсы. Этот процесс теряется, зато за счёт освобождения ресурсов остальные процессы могут работать. Иногда требуется уничтожить несколько процессов чтобы освободить достаточное количество ресурсов для завершения оставшихся процессов. В таких ситуациях большое значение имеет алгоритм выведения процессов. Наиболее значимым на сегодняшний день является алгоритм выведения процессов по приоритетам. Скорее всего самым целесообразным способом восстановления системы после тупиков всё таки является механизм приостановки-восстановления процесса, поскольку он позволяет перевести процессы в состояние ожидания, а затем их активизировать без потери результата предыдущей работы тупики могут приводить к катастрофическим последствиям в некоторых системах: в первую очередь в системах реального времени. Тупиковые ситуации могут явиться критическим фактором для операционных систем больших вычислительных комплексов из за большого количества одновременно выполняемых процессов и более динамичного использования ресурсов.
