Скачать презентацию ОПЕРАЦИОННЫЕ СИСТЕМЫ И СРЕДЫ Тема 1 3 Преподаватель Скачать презентацию ОПЕРАЦИОННЫЕ СИСТЕМЫ И СРЕДЫ Тема 1 3 Преподаватель

Лекция ОС тема 1.3.pptx

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

ОПЕРАЦИОННЫЕ СИСТЕМЫ И СРЕДЫ Тема 1. 3. Преподаватель: Шершова Л. Н. ОПЕРАЦИОННЫЕ СИСТЕМЫ И СРЕДЫ Тема 1. 3. Преподаватель: Шершова Л. Н.

Тема 1. 3. Планирование процессов и задач Занятие 3. 1. Планирование процессов. 2. Диспетчеризация. Тема 1. 3. Планирование процессов и задач Занятие 3. 1. Планирование процессов. 2. Диспетчеризация. Дисциплины диспетчеризации. 3. Бесприоритетные и приоритетные дисциплины диспетчеризации. Занятие 4. 1. Стратегии планирования процессов. 2. Планирование в системе пакетной обработки. 3. Планирование в интерактивных системах.

Тема 1. 3. Планирование процессов и задач Занятие 3. 1. Планирование процессов. 2. Диспетчеризация. Тема 1. 3. Планирование процессов и задач Занятие 3. 1. Планирование процессов. 2. Диспетчеризация. Дисциплины диспетчеризации. 3. Бесприоритетные и приоритетные дисциплины диспетчеризации.

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

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

Тема 1. 3. Занятие 3. Диспетчеризация. Задача планирования процессов возникла очень давно в первых Тема 1. 3. Занятие 3. Диспетчеризация. Задача планирования процессов возникла очень давно в первых пакетных операционных системах при планировании пакетов задач, которые должны были выполняться на компьютере и по возможности бесконфликтно и оптимально использовать его ресурсы. В настоящее время актуальность этой задачи стала меньше. На первый план уже очень давно вышли задачи динамического (или краткосрочного) планирования, то есть текущего наиболее эффективного распределения ресурсов, возникающего практически по каждому событию. Задачи динамического планирования стали называть диспетчеризацией. Очевидно, что планирование процессов осуществляется гораздо реже, чем текущее распределение ресурсов между уже выполняющимися задачами. Основное различие между долгосрочным и краткосрочным планировщиками заключается в частоте их запуска, например: краткосрочный планировщик может запускаться каждые 30 или 100 мс, долгосрочный один раз в несколько минут (или чаще; тут многое зависит от обшей длительности решения заданий пользователей).

Тема 1. 3. Занятие 3. Долгосрочный планировщик решает, какой из процессов, находящихся во входной Тема 1. 3. Занятие 3. Долгосрочный планировщик решает, какой из процессов, находящихся во входной очереди, в случае освобождения ресурсов памяти должен быть переведен в очередь процессов, готовых к выполнению. Долгосрочный планировщик выбирает процесс из входной очереди с целью создания неоднородной мультипрограммной смеси. Это означает, что в очереди готовых к выполнению процессов должны находиться в разной пропорции как процессы, ориентированные на ввод-вывод, так и процессы, ориентированные преимущественно на активное использование центрального процессора. Краткосрочный планировщик решает, какая из задач, находящихся в очереди готовых к выполнению, должна быть передана на исполнение. В большинстве современных операционных систем, с которыми мы сталкиваемся, долгосрочный планировщик отсутствует. Стратегии планирования. Стратегия планирования определяет, какие процессы мы планируем на выполнение для того, чтобы достичь поставленной цели. Известно большое количество различных стратегий выбора процесса, которому необходимо предоставить процессор. Среди них, прежде всего, можно выбрать следующие: по возможности заканчивать вычисления (вычислительные процессы) в том же самом порядке, в котором они были начаты; отдавать предпочтение более коротким вычислительным задачам; предоставлять всем пользователям (процессам пользователей) одинаковые услуги, в том числе и одинаковое время ожидания.

Тема 1. 3. Занятие 3. Выбор стратегии диспетчеризации задач, в соответствии с которой приоритет Тема 1. 3. Занятие 3. Выбор стратегии диспетчеризации задач, в соответствии с которой приоритет на получение процессорного времени будут иметь задачи пользователя, а не фоновые служебные вычисления в Windows 7.

Тема 1. 3. Занятие 3. Дисциплины диспетчеризации. Известно большое количество дисциплин диспетчеризации, то есть Тема 1. 3. Занятие 3. Дисциплины диспетчеризации. Известно большое количество дисциплин диспетчеризации, то есть правил формирования очереди готовых к выполнению задач, в соответствии с которыми формируется эта очередь (список). Иногда их называют дисциплинами обслуживания, опуская тот факт, что речь идет о распределении процессорного времени. Одни дисциплины диспетчеризации дают наилучшие результаты для одной стратегии обслуживания, в то время как для другой стратегии они могут быть вовсе неприемлемыми. Известно большое количество дисциплин диспетчеризации. Прежде всего, различают два больших класса дисциплин обслуживания: бесприоритетные и приоритетные. При бесприоритетном обслуживании выбор задач производится в некотором заранее установленном порядке без учета их относительной важности и времени обслуживания. При реализации приоритетных дисциплин обслуживания отдельным задачам предоставляется преимущественное право попасть в состояние исполнения.

Тема 1. 3. Занятие 3. Дисциплина FCFS (First Come First Served). Самой простой в Тема 1. 3. Занятие 3. Дисциплина FCFS (First Come First Served). Самой простой в реализации является дисциплина первым пришел, первым обслужен, согласно которой задачи обслуживаются «в порядке очереди» , то есть в порядке их появления. Дисциплина SJN (Shortest Job Next следующим выполняется самое короткое задание). Дисциплина обслуживания SJN требует, чтобы для каждого задания была известна оценка в потребностях машинного времени. Необходимость сообщать операционной системе характеристики задач с описанием потребностей в ресурсах вычислительной системы привела к тому, что были разработаны соответствующие языковые средства. Дисциплина SRT (Shortest Remaining Time) Дисциплина SRT следующим будет выполняться задание, которому осталось меньше всего выполняться на процессоре.

Тема 1. 3. Занятие 3. Дисциплина обслуживания, называемая карусельной (Round Robin, RR). Дисциплина обслуживания Тема 1. 3. Занятие 3. Дисциплина обслуживания, называемая карусельной (Round Robin, RR). Дисциплина обслуживания RR предполагает, что каждая задача получает процессорное время порциями или, как говорят, квантами времени (time slice) q. После окончания кванта времени q задача снимается с процессора, и он передается следующей задаче. Снятая задача ставится в конец очереди задач, готовых к выполнению.

Тема 1. 3. Занятие 3. Вытесняющие дисциплины обслуживания. Есть дисциплины, в которых процессор принудительно Тема 1. 3. Занятие 3. Вытесняющие дисциплины обслуживания. Есть дисциплины, в которых процессор принудительно может быть отобран у текущей задачи. Такие дисциплины обслуживания называют вытесняющими, поскольку одна задача вытесняется другой. Другими словами, возможно принудительное перераспределение процессорного времени между выполняющимися задачами. Оно осуществляется самой операционной системой, отбирающей периодически процессор у выполняющейся задачи. Не вытесняющие дисциплины обслуживания. А есть дисциплины диспетчеризации, в которых ничто не может отобрать у задачи процессор, пока она сама его не освободит. Освобождение процессора в этом случае, как правило, связано с тем, что задача попадает в состояние ожидания некоторого события. Итак, диспетчеризация без перераспределения процессорного времени, то есть не вытесняющая (non-preemptive multitasking), или кооперативная, многозадачность (cooperative multitasking), это такой способ диспетчеризации задач, при котором активная задача выполняется до тех пор, пока она сама, что называется «по собственной инициативе» , не отдаст управление диспетчеру задач для того, чтобы тот выбрал из очереди другой, готовый к выполнению процесс или поток.

Тема 1. 3. Планирование процессов и задач Занятие 4. 1. Стратегии планирования процессов. 2. Тема 1. 3. Планирование процессов и задач Занятие 4. 1. Стратегии планирования процессов. 2. Планирование в системе пакетной Планирование системе пакетной обработки. 3. Планирование в интерактивных Планирование интерактивных системах.

Тема 1. 3. Занятие 4. Планирование Планировщик - это часть операционной системы, принимающая решения Тема 1. 3. Занятие 4. Планирование Планировщик - это часть операционной системы, принимающая решения о том к какому из процессов предоставить процессор. Необходимость планирования: 1. При создании нового процесса необходимо решить какой процесс необходимо запускать (родительский или дочерний), так как оба процесса находятся в состоянии готовности, планировщик может запускать один из них. 2. При завершении работы процесса. Этот процесс уже не существует и необходимо из набора готовых процессов выбрать и запустить следующий. 3. При блокировании процессов на операции ввода-вывода, семафоре, или по какойлибо другой причине необходимо выбрать и запустить другой процесс. 4. При появлении прерывания ввода-вывода. Если прерывание ввода-вывода пришло от устройства закончившего работу, можно запустить процесс, который находился в заблокированном состоянии в ожидании этого события. Категории алгоритмов планирования: 1. Без переключений (не приоритетные). Выбранный процесс не будет прерываться планировщиком до тех пор пока сам не отдаст процессор или не будет заблокирован. Решения планировщика не принимаются по прерываниям, от таймера управления передается приостановленному процессу. 2. С переключением выбранный процесс работает в течении какого-либо фиксированного промежутка времени. Если по истечению промежутка времени есть другие процессы в очереди, а текущий все еще работает, он приостанавливается и управление передается другому процессу.

Тема 1. 3. Занятие 4. Когда компьютер работает в многозадачном режиме, на нем могут Тема 1. 3. Занятие 4. Когда компьютер работает в многозадачном режиме, на нем могут быть активными несколько процессов, пытающихся одновременно получить доступ к процессору. Эта ситуация возникает при наличии двух и более процессоров в состоянии готовности. Если доступен только один процессор, необходимо выбирать между процессами. Отвечающая за это часть операционной системы называется планировщиком, а используемый алгоритм – алгоритмом планирования. Во времена систем пакетной обработки, использовавших отображение содержимого перфокарт на магнитной ленте в качестве устройств ввода, алгоритм планирования был прост: запустить следующую задачу на ленте. С появлением систем с разделением времени алгоритм планирования усложнился, поскольку теперь несколько задач одновременно ожидали обслуживания. В такой системе время процессора является дефицитным ресурсом. С появлением персональных компьютеров ситуация изменилась. Во-первых, большую часть времени активен только один процесс. Пользователь, работающий с документом в текстовом редакторе, он не будет одновременно считать что-либо в фоновом режиме. Когда пользователь дает команду текстовому процессору, планировщику не приходится долго выбирать, какой процесс запустить, поскольку кандидатов нет. Во-вторых, компьютеры стали настолько быстрее, что время процесса практически перестало быть дефицитным ресурсом. Большинство программ для персонального компьютера ограничены скоростью, с которой пользователь вводит входные данные, а не скоростью процессора. На простых персональных компьютерах планирование не играет существенной роли. Картина меняется при рассмотрении мощных сетевых рабочих станций и серверов. Здесь планирование играет существенную роль , поскольку несколько процессов пытаются получить доступ к процессору. Помимо правильного выбора следующего процесса, планировщик также должен заботится об эффективном использовании процессора, поскольку переключение между процессами требует затрат.

Тема 1. 3. Занятие 4. Категории алгоритмов планирования В различных средах требуются различные алгоритмы Тема 1. 3. Занятие 4. Категории алгоритмов планирования В различных средах требуются различные алгоритмы планирования. Это связано с тем, что различные операционные системы и различные приложения ориентированы на разные задачи. Другими словами, то, для чего следует оптимизировать планировщик, различно в разных системах. Можно выделить три среды: O Системы пакетной обработки данных; O Интерактивные системы; O Системы реального времени. В системах пакетной обработки нет пользователя, сидящего за терминалом и ожидающих ответ. В таких системах приемлемы алгоритмы без переключений или с переключениями, но с большим временем, отводимым каждому процессу. Такой метод уменьшает количество переключений между процессами и улучшает эффективность. В интерактивных системах необходимы алгоритмы планирования с переключениями, чтобы предотвратить захват процессора одним процессом. Даже если ни один процесс не захватывает процессор на неопределенно долгий срок намеренно, из-за ошибки в программе один процесс может заблокировать остальные. Для исключения подобных ситуаций используется планирование с переключениями. В системах с ограничениями реального времени приоритетность, как это ни странно, не всегда обязательна, поскольку процессы знают, что их время ограничено, и быстро выполняют работу, а затем блокируются. Отличие от интерактивных систем в том, что в системах реального времени работают только программы, предназначенные для содействия конкретным приложениям. Интерактивные системы являются универсальными системами. В них могут работать произвольные программы, не сотрудничающие друг с другом и даже враждебные по отношению друг к другу.

Тема 1. 3. Занятие 4. 1. 2. 3. 1. 2. ИТАК: Категории алгоритмов планирования Тема 1. 3. Занятие 4. 1. 2. 3. 1. 2. ИТАК: Категории алгоритмов планирования исходя из условий работы системы Системы обработки пакетной обработки данных. Интерактивные системы. Системы реального времени. Задачи алгоритмов планирования для всех систем Справедливость-предоставление каждому процессу справедливой долей процессорного времени. Принудительное применении политики-контроль за выполнение принятой политики. Баланс-поддержка занятости всех частей системы. Для систем пакетной обработки данных Пропускная способность-максимальное количество задач в единицу времени. Оборотное время-минимизация времени затрачиваемого на ожидание обслуживания и обработку задач. Использование процессора-поддержка постоянной занятости процессора. Для интерактивных систем Время откликов-быстрая реакция на запросы. Соразмерность-выполнение по желанию пользователя относительно длительности каких-либо процессов. Для систем реального времени Окончание работ к срокам. Предотвращение потерь данных. Предсказуемость-предотвращение деградации качества в мультимедийных системах.

Тема 1. 3. Занятие 4. Планирование в системе пакетной обработки данных 1. Первым пришел Тема 1. 3. Занятие 4. Планирование в системе пакетной обработки данных 1. Первым пришел - первым обслужен. Процессам предоставляется доступ к процессору в том порядке, в котором они его запрашивают. Преимущество: легко понять и столь же легко программировать. Недостаток: если есть один процесс, ограниченный возможностями процессора, то они замедлят работу процесса 2. Кратчайшая задача - первая. Предполагается, что временные отрезки работы известны заранее. Если в очереди есть несколько одинаково важных задач, планировщик выбирает первой самую короткую задачу. Происходит экономия времени. Эта схема работает лишь в случае лишь одновременного наличия задач. 3. Наименьшее оставшееся время выполнения. Это версия предыдущего алгоритма с переключениями. В соответствии с этим алгоритмом планировщик каждый раз выбирает процесс с наименьшим оставшимся временем выполнения. В этом случае также необходимо заранее знать время выполнения задач. Когда поступает новая задача, ее полное время выполнения сравнивается с оставшимся временем выполнения текущей задачи. Если время выполнения новой задачи меньше, текущий процесс приостанавливается и управление передается новой задаче. Эта схема позволяет быстро обслуживать короткие запросы. .

Тема 1. 3. Занятие 4. Планирование в интерактивных системах 1. Циклическое планирование. Каждому процессу Тема 1. 3. Занятие 4. Планирование в интерактивных системах 1. Циклическое планирование. Каждому процессу предоставляется некоторый интервал времени процессора квант. Если к концу кванта времени процесс все еще работает, он прерывается, а управление передается другому процессу. Первоначальный процесс переносится в конец очереди. Значение кванта около 20 -50 мс является оптимальным. В этом типе алгоритма есть важное допущение о том, что все процессы равнозначны. 2. Приоритетное планирование. Основная идея: каждому процессу присваивается приоритет, и управление передается готовому к работе процессу с самым высоким приоритетом. Чтобы предотвратить бесконечную работу процессов с высоки приоритетом, планировщик может уменьшит приоритет процесса с каждым тактом часов (то есть при каждом прерывании по таймеру). Если в результате приоритет текущего процесса окажется ниже, чем приоритет следующего процесса, произойдет переключение. Возможно предоставление каждому процессу максимального отрезка времени работы. Как только время кончилось, управление передается следующему по приоритету процессу.

Тема 1. 3. Занятие 4. Планирование в системах реального времени В системах реального времени Тема 1. 3. Занятие 4. Планирование в системах реального времени В системах реального времени существенную роль играет время. Чаще всего одно или несколько внешних физических устройств генерирует входные сигналы, и компьютер должен адекватно на них реагировать в течение заданного промежутка времени. Например, компьютер в проигрывателе компакт-дисков получает биты от дисковода и должен за очень маленький промежуток времени конвертировать их в музыку. Если процесс конвертации будет слишком долгим, звук окажется искаженным. Подобные системы также используются для наблюдения за пациентами в палатах интенсивной терапии, в качестве автопилота самолета, для управления роботами на автоматизированном производстве. В любом из этих случаев запоздалая реакция ничуть не лучше, чем отсутствие реакции. Системы реального времени делятся на жесткие системы реального времени, что означает наличие жестких сроков для каждой задачи, и гибкие системы реального времени, в которых нарушения временного графика нежелательны, но допустимы. В обоих случаях реализуется разделение программы на несколько процессов, каждый из которых предсказуем. Эти процессы чаще всего бывают короткими и завершают свою работу в течении секунды. Когда появляется внешний сигнал, именно планировщик должен обеспечить соблюдение графика. Внешние события, на которые система должна реагировать можно разделить на периодические (возникающие через регулярные промежутки времени) и непериодические (возникающие непредсказуемо). Алгоритмы планирования для систем реального времени могут быть как статическими, так и динамическими. В первом случае все решения планирования принимаются заранее, еще до запуска системы. Во втором случае решения планирования принимаются по ходу дела. Статическое планирование допустимо только при наличии достоверной информации о работе, которую необходимо выполнить и о временном графике, которого нужно придерживаться. Динамическое планирование не нуждается в подобных ограничениях.

Контрольные вопросы: 1. 2. 3. 4. 5. 6. 7. 8. 9. Перечислите и поясните Контрольные вопросы: 1. 2. 3. 4. 5. 6. 7. 8. 9. Перечислите и поясните основные функции операционных систем, которые связаны с управлением задачами. Какая задача называется планированием вычислительных процессов? В чем заключается основное различие между планированием процессов и диспетчеризацией задач? Что такое стратегия обслуживания? Перечислите известные вам стратегии обслуживания. Что такое дисциплины диспетчеризации? Как производится выбор задач приоритетном и бесприоритетном обслуживании? Какие дисциплины диспетчеризации задач вы знаете? Поясните их основные идеи, перечислите достоинства и недостатки. Расскажите, какие дисциплины диспетчеризации следует отнести к вытесняющим, а какие к не вытесняющим.

Контрольные вопросы: 10. Планировщик – это…? 11. Когда возникает необходимость планирования? 12. Назовите категории Контрольные вопросы: 10. Планировщик – это…? 11. Когда возникает необходимость планирования? 12. Назовите категории алгоритмов планирования. 13. Назовите задачи алгоритмов планирования для всех систем. Назовите задачи алгоритмов планирования для систем пакетной обработки данных. 15. Назовите задачи алгоритмов планирования для интерактивных систем. 16. В чем заключается планирование в системе пакетной обработки данных? 17. Какое бывает планирование в интерактивных системах? 14.

Рекомендуемая литература: O Иртегов Д. В. Введение в операционные системы. – СПб. : O Рекомендуемая литература: O Иртегов Д. В. Введение в операционные системы. – СПб. : O O O БХВ-Петербург, 2012. – 624 с. Попов И. И. , Партыка Т. Л. Операционные системы, среды и оболочки. – М. : Форум, 2012. – 560 с. Синицын С. В. , Батаев А. В. , Налютин Н. Ю. Операционные системы. – М. : Академия, 2012. – 304 с. Спиридонов Э. Практикум по операционным системам. – М. : Либроком, 2010. – 328 с. Спиридонов Э. , Клыков М. Операционные системы. – М. : Либроком, 2010. – 352 с. Учебные и информационные ресурсы интернет.