Скачать презентацию Планирование процессов Операционные системы и среды 230105 Скачать презентацию Планирование процессов Операционные системы и среды 230105

Планирование процессов 2 пара (ОС).pptx

  • Количество слайдов: 19

Планирование процессов Операционные системы и среды 230105 Планирование процессов Операционные системы и среды 230105

Постановка задачи Пусть нескольким параллельно выполняющимся процессам требуется некоторое устройство вводавывода с последовательным доступом. Постановка задачи Пусть нескольким параллельно выполняющимся процессам требуется некоторое устройство вводавывода с последовательным доступом. Так как такое устройство не может разделяться между выполняющимися процессами, то процессы могут долго ждать своей очереди. А если процессы не будут конкурировать за ресурсы, то смогут выполняться быстрее. Таким образом, возникает задача подбора такого множества процессов, которые при своем выполнении будут как можно реже конфликтовать из-за ресурсов. Такая задача называется планированием вычислительных процессов.

категории алгоритмов планирования Долгосрочное планирование Краткосрочное планирование категории алгоритмов планирования Долгосрочное планирование Краткосрочное планирование

Долгосрочное планирование решает, какой из процессов, находящихся во входной очереди, в случае освобождения ресурсов Долгосрочное планирование решает, какой из процессов, находящихся во входной очереди, в случае освобождения ресурсов памяти должен быть переведен в очередь процессов, готовых к выполнению. Долгосрочный планировщик выбирает процесс из входной очереди с целью создания неоднородной мультипрограммной смеси. Это означает, что в очереди готовых к выполнению процессов должны находиться в разной пропорции как процессы ориентированные на ввод-вывод, так и процессы, ориентированные преимущественно на активное использование ЦП.

Краткосрочный планировщик решает, какая из задач, находящихся в очереди готовых к выполнению, должна быть Краткосрочный планировщик решает, какая из задач, находящихся в очереди готовых к выполнению, должна быть передана на исполнение. Стратегия планирования определяет, какие процессы планируются к выполнению, чтобы достичь поставленной цели: По возможности заканчивать вычисления в том порядке в котором они были начаты Отдавать предпочтение более коротким процессам Предоставлять всем пользователям одинаковые услуги(в том числе время ожидания)

Диспетчеризация Давно – в первых пакетных операционных системах - требовалось планирование пакетов задач. Сейчас Диспетчеризация Давно – в первых пакетных операционных системах - требовалось планирование пакетов задач. Сейчас на первый план вышли задачи динамического (краткосрочного) планирования, то есть текущего наиболее эффективного распределения ресурсов, возникающего по каждому событию. Задачи динамического планирования стали называться диспетчеризацией.

Стратегии планирования 1. По возможности заканчивать вычисления (вычислительные процессы) в том же порядке, в Стратегии планирования 1. По возможности заканчивать вычисления (вычислительные процессы) в том же порядке, в котором они были начаты 2. Отдавать предпочтение более коротким процессам 3. Предоставлять всем процессам пользователей одинаковые услуги (время ожидания)

Дисциплины диспетчеризации Бесприоритетные – выбор в некотором заранее установленном порядке, без учета важности и Дисциплины диспетчеризации Бесприоритетные – выбор в некотором заранее установленном порядке, без учета важности и времени обслуживания. – 1)линейные и 2)циклические Приоритетные – имеют преимущественное право попасть в состояние исполнения. Причем, приоритет может быть постоянный и динамический. 3)с фиксированным приоритетом 4)с динамическим приоритетом

Приоритет зависит от времени обслуживания Приоритет зависит от времени ожидания Адаптивное обслуживание С динамическим Приоритет зависит от времени обслуживания Приоритет зависит от времени ожидания Адаптивное обслуживание С динамическим приоритетом С фиксированным приоритетом Циклические Линейные Бесприоритетные С абсолютными приоритетами С относительными приоритетами Многоприоритетный циклический алгоритм Циклический алгоритм Случайный выбор процесса В порядке очереди Дисциплины диспетчеризации Приоритетные

FCFS – First Come, First Served первым пришёл, первым обслужен Выполненные процессы Процессор Блокирование FCFS – First Come, First Served первым пришёл, первым обслужен Выполненные процессы Процессор Блокирование Очередь задач, вновь готовых к исполнению Очередь новых задач

SJN -Shortest Job Next наиболее короткий выполняется следующим SRT -Shortest Remaining Time следующим выполняется SJN -Shortest Job Next наиболее короткий выполняется следующим SRT -Shortest Remaining Time следующим выполняется задание, которому осталось меньше всего выполняться на процессоре

RR – Round Robin карусельная Процессор Очередь готовых к исполнению задач Выполненные процессы Новые RR – Round Robin карусельная Процессор Очередь готовых к исполнению задач Выполненные процессы Новые задачи

Гарантии обслуживания Диспетчеризация с динамическими приоритетами требует дополнительных расходов на вычисление значений приоритетов исполняющихся Гарантии обслуживания Диспетчеризация с динамическими приоритетами требует дополнительных расходов на вычисление значений приоритетов исполняющихся задач, поэтому во многих ОС реального времени используются методы диспетчеризации на основе абсолютных приоритетов. При этом низкоприоритетные процессы получаются обделены многими ресурсами и, прежде всего, процессорным временем. Такие процессы могут быть не выполнены к заданному сроку.

Гарантии обслуживания Планирование с учетом жестких временных ограничений можно реализовать, организуя очередь готовых процессов Гарантии обслуживания Планирование с учетом жестких временных ограничений можно реализовать, организуя очередь готовых процессов в порядке возрастания их временных ограничений. Или выделять время квантами, а при получении кванта, оценив множество факторов, переназначить приоритет задаче.

Если процесс способен создавать несколько других процессов(дочерних), а эти дочерние могут создавать собственные дочерние, Если процесс способен создавать несколько других процессов(дочерних), а эти дочерние могут создавать собственные дочерние, то получается как бы дерево процессов. Связанные процессы, совместно работающие над выполнением какой-нибудь задачи, зачастую нуждаются в обмене данными друг с другом и в синхронизации своих действий. Такая связь называется межпроцессным взаимодействием.

Главными системными вызовами, используемыми при управлении процессами, являются вызовы, связанные с созданием и завершением Главными системными вызовами, используемыми при управлении процессами, являются вызовы, связанные с созданием и завершением процессов. Другие системные вызовы, предназначенные для управления процессом, позволяют запросить выделение дополнительной памяти( или освобождение незадействованной), организовать ожидание завершения дочернего процесса и тд.

События, приводящие к созданию процессов Инициализация системы Выполнение работающим процессом системного вызова, предназначенного для События, приводящие к созданию процессов Инициализация системы Выполнение работающим процессом системного вызова, предназначенного для создания процесса Запрос пользователя на создание нового процесса Инициация пакетного задания

События, по которым может произойти завершение процесса Обычный выход(добровольно) Выход при возникновении ошибки(добровольно) Возникновения События, по которым может произойти завершение процесса Обычный выход(добровольно) Выход при возникновении ошибки(добровольно) Возникновения фатальной ошибки(принудительно) Уничтожения другим процессом(принудительно)