
- •Оглавление
- •1. Концепция современного общества и тенденции его развития.
- •2. Влияние особенностей развития электронно-счётного машиностроения на информатизацию общества на современном этапе.
- •3. Сферы применения вт. Особенности развития компьютеризации общества с начала 80-хгодов хх века и способы решения возникших проблем.
- •4. Особенности развития электронно-счётного машиностроения и особенности компьютеризации в различных сферах применения
- •5. Характеристика новых систем общения « человек – эвм» на этапе развития компьютеризации общества. Направление новых технологий
- •6. Основные виды и характеристика новых систем общения на этапе компьютеризации общества.
- •7. Определение математического и программного обеспечения. Характеристические особенности развития мо с момента возникновения до современного уровня.
- •8. Этапы создания математического обеспечения
- •9. Система программирования: определение, сущность, классификация, связь с операционной системой
- •10. Языки программирования и системы команд, используемые в по.
- •11. Программное обеспечение ос реального времени: особенности и их реализация.
- •12. Типы модулей, функционирующих в вычислительной среде.
- •13. Типы задач в системе, диспетчерский и граничный приоритеты, очередь задач и её структура.
- •14. Блок тсв: определение, назначение и функции.
- •15. Метод логических устройств, система назначений.
- •16. Структура программ, реализуемые ос.
- •17. Определение операционной системы, типы ос – общее и особенное, понятие режима работы.
- •18. Группы определений операционных систем.
- •19. Принципы проектирования операционных систем.
- •20. Оптимальная система, понятие эффективности и критерия эффективности.
- •21 .Основные блоки (компоненты) ос. Прохождение задачи через ос
- •22. Понятие модуля в операционной системе, его функциональная значимость, разновидности, иерархия.
- •23. Структурный состав операционной системы. Назначение и функции комплекса программ технического обслуживания.
- •24. Виды структур программ, динамически развивающихся в ос. Концепция виртуальной машины, последовательность трансляции сверху вниз.
- •Концепция виртуальной машины, последовательность трансляции сверху вниз
- •25. Система назначений – смысл и применение.
- •26. Понятие архитектуры иерархической ос. Состав ос как набор процессов и объектов
- •27. 2-Х уровневая и 3-х уровневая ос: состав, назначение, осуществление работы.
- •28. Понятие виртуальной машины и принцип трансляции.
- •29. Динамическая последовательная структура программ, общая характеристика и разновидность.
- •30. Планировщик задач, структура.
- •31. Планировщик задач и иерархия уровней ос.
- •32 .Структура планировщика задач в многоуровневой ос
- •33. Структура очереди подзадач в многоуровневой ос.
- •34. Планировщик задач. Механизм планирования
- •35. Тупик: понятие, условие наличия, предотвращение.
- •36. Тупик: понятие, обнаружение, выход.
- •37. Объект исследования и типы моделей его представления
- •38.Понятие изоморфизма и гомоморфизма в абстрактной модели.
34. Планировщик задач. Механизм планирования
Планирование исполнения процессов является одним из ключевых теоретических и практических понятий, относящихся к многопроцессорным вычислительным системам. Планирование исполнения процессов или, в общем случае, задач, заключается в построении отображения множества задач на множество вычислительных элементов (ядер, процессоров) системы с учетом динамики ее работы. Программу, которая реализует тот или иной алгоритм планирования исполнения задач, называют планировщиком (scheduler).
Планировщик обычно пытается обеспечить максимальную загрузку процессоров, высокую пропускную способность системы - количество выполненных задач за единицу времени, минимальное время нахождения задачи в очереди на выполнение, справедливость распределения процессорного времени между задачами, и др.
В рамках однопроцессорной вычислительной системы обычно используются следующие классические дисциплины планирования:
FIFO - очередь задач (First In, First Out)
LIFO - очередь задач (стек) (Last In, First Out)
Варианты LIFO и FIFO иллюстрируют статическое планирование исполнения процессов в однопроцессорной системе под управлением операционной системы с монопольным доступом к процессору (операционная система без вытеснения процесса).
Круговое обслуживание задач на базе FIFO очереди
Данный вариант иллюстрирует принцип работы планировщика однопроцессорной системы с вытеснением процессов, зачастую поддерживается сортировка процессов в очереди согласно определенным приоритетам процессов. Принципы назначения или вычисления приоритета процесса определяются типом планировщика.
Можно выделить два подхода к планированию исполнения процессов в многопроцессорных системах:
Work Sharing - централизованное планирование, при котором планировщик контролирует единый пул задач в системе и назначает задачи процессорам;
Work Stealing - децентрализованное планирование, при котором единый планировщик отсутствует, а процессоры сами выбирают какие задачи им исполнять;
35. Тупик: понятие, условие наличия, предотвращение.
В многопользовательских системах процесс находится в состоянии тупика, если он ожидает некоторого события, которое никогда не произойдет.
Условия возникновения взаимной блокировки
Было показано, что для возникновения ситуации взаимной блокировки, необходимо выполнение следующих четырех условий одновременно:
Условие взаимного исключения ( англ. mutual exclusion ). Каждый ресурс в текущий момент или занят ровно одним процессом или свободный. То есть, ресурсы находятся в режиме эксклюзивного пользования.
Условие удержания и ожидания ( англ. hold and wait ). Процессы, в текущий момент удерживают полученные ранее ресурсы, могут делать запросы на получение новых ресурсов.
Условие отсутствия принудительного освобождения ресурсов ( англ. no preemption ). Невозможно заставить процесс освободить ранее полученные ресурсы.Процесс, обладающий ресурсами, должен сам их увольнять.
Условие циклического ожидания ( англ. circular wait ). Должно существовать кольцевая последовательность из двух или более процессов, каждый из которых ожидает увольнение ресурса, удерживаемого следующим членом последовательности. Иными словами, должно существовать множество процессов {P0, P1,... Pn}, так, что процесс P 0 ожидает освобождения ресур процесса P 1, P 1 ожидает P 2,..., P N - 1 ожидает P N, а P N ожидает освобождения ресурсов процессом P 0.
Для возникновения ситуации взаимной блокировки, необходимо выполнение всех четырех условий одновременно. Если хотя бы одно из условий не выполняется, взаимная блокировка невозможна.
Для предотвращения тупиковбыло предложено 3 стратегических принципа в 1969 году одним из сотрудников фирмы IBM Хавендером :
1) Каждый процесс должен запрашивать все требуемые ресурсы сразу и не может начать выполняться, пока все ресурсы не будут выделены.
2) Если процесс, удерживающий определенные ресурсы, получает отказ в удовлетворении запроса на выделение дополнительных ресурсов, то этот процесс должен освободить свои первоначальные ресурсы и снова запросить их вместе с дополнительными ресурсами.
3) Следует ввести линейную упорядоченность по типам ресурсов для всех процессов, то есть, если процессу выделены ресурсы данного типа, то в дальнейшем он может запрашивать только ресурсы более далеких по порядку типов.
Всем ресурсам даются уникальные номера и процессу выделяются ресурсы в порядке возрастания их номеров.