Научная статья на тему 'Анализ критериев диспетчеризации и методов их оптимизации в операционных системах'

Анализ критериев диспетчеризации и методов их оптимизации в операционных системах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
548
51
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИСПЕТЧЕРИЗАЦИЯ / ОПЕРАЦИОННАЯ СИСТЕМА / OPERATING SYSTEM / МЕТОДЫ ОПТИМИЗАЦИИ / OPTIMIZATION METHODS / SCHEDULING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Горчакова Е., Зацаринная Ю.Н., Ушенина И.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Анализ критериев диспетчеризации и методов их оптимизации в операционных системах»

УДК 004.623

Е. Горчакова, Ю. Н. Зацаринная, И. Ушенина АНАЛИЗ КРИТЕРИЕВ ДИСПЕТЧЕРИЗАЦИИ И МЕТОДОВ ИХ ОПТИМИЗАЦИИ

В ОПЕРАЦИОННЫХ СИСТЕМАХ

Ключевые слова: диспетчеризация, операционная система, методы оптимизации.

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

Кeywords: scheduling, operating system, optimization methods.

Scheduling is the allocation of CPU time between processes. The purpose of scheduling is to maximize CPU utilization, which is achieved by multiprogramming. The operating system includes a scheduler, which is a separate component. The aim of activity of this component is the choice of one or several loaded in memory and ready to run processes and the selection of the processor for execution. One of the options to optimize the performance according to the criteria scheduling is the use of multilevel analytical queues. But such a strategy is not always justified. The fact that its implementation also requires a certain amount of CPU time used and their appropriateness must be assessed in the process of implementation.

В настоящее время вопрос построения диспетчера задач достаточно глубоко изучен, это объясняется его актуальностью и важностью в структуре операционных систем [1,2]. Последние 510 лет этот вопрос достаточно широко обсуждался в публикациях с позиции разработки новых политик диспетчеризации, а так же применения имеющихся на различных программно-аппаратных платформах [3,4,5]. В данной статье был проведён анализ критериев диспетчеризации и методов их оптимизации в операционных системах с целью выявления наиболее эффективных методов. В дальнейшем проведённый анализ планируется использовать для разработки учебно-методического комплекса для дисциплины «операционные системы» [6].

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

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

Выделяют два типа диспетчеризации:

- диспетчеризация без прерывания процесса;

- диспетчеризация с прерыванием процесса.

Критерии диспетчеризации распространяются

на оба типа.

Основными критериями диспетчеризации являются такие как:

- использование процессора или CPU utilization, предполагает поддержание процессора в режиме занятости максимально продолжительный период времени. Чем выше показатель использования процессора - тем лучше.

- пропускная способность системы или throughput, представляет собой среднее количество процессов, которые за единицу времени завершают свое выполнение. Чем выше данный показатель -тем лучше.

- время обработки процесса или turnaround time, даны критерий оценивает время, которое необходимо для выполнения какого-либо процесса. Чем меньше времени обработки нужно операционной системе - тем лучше.

- время ответа или response time, данный критерий «время ответа» оценивает время, которое будет потрачено с момента первого запроса и до момента первого ответа. Чем меньше времени нужно операционной системе - тем лучше

- критерий время ожидания или waiting time - оценивает время, проведенное в очереди готовых к выполнению процессов. Чем меньше времени проведет процесс в очереди готовых к выполнению процессов - тем лучше.

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

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

невозможно. Так критерии время обработки процесса и время ответа связаны между собой. Снижение времени для одного критерия - приведет к снижению времени и для другого. Так же и

критерии пропускная способность и время ожидания между собой тоже связаны. Повышение пропускной способности снизит время ожидания.

В рамках анализа критериев диспетчеризации выполним сравнение критериев между собой. Для этого выделим параметры, по которым и проведем сравнение. Таковыми параметрами будут:

- сила влияния на систему;

- простота улучшения;

- возможность одновременного улучшения.

Все критерии диспетчеризации влияют на

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

Из приведенных критериев сила влияния на операционную систему самая высокая у критерия снижения времени обработки процесса. Далее - у критерия использования процессора. Немного меньше у критериев время ответа, пропускная способность, время ожидания.

По большому счету, выделенные критерии диспетчеризации затрагивают такие ресурсы, как процессор, оперативная память и каналы связи.

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

Приведем критерии диспетчеризации отсортировав по простоте улучшения показателей (в порядке усложнения):

- пропускная способность;

- время ответа;

- время ожидания;

- использование процессора;

- время обработки процесса.

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

Одновременно можно улучшить такие группы выделенных критериев диспетчеризации:

- снижение времени обработки процесса и снижение времени ответа (взаимосвязь критериев высока);

- повышение пропускной способности и снижение времени ожидания (взаимосвязь критериев средняя).

И наоборот: повышение использования процессора приведет к увеличению времени ожидания (т.е. ухудшению показателя по данному критерию).

Теперь нам необходимо рассмотреть методы оптимизации критериев диспетчеризации в операционных системах.

Основным методом оптимизации показателей по критериям диспетчеризации в операционных системах является использование стратегий диспетчеризации процессов в операционных системах.

Выделяют несколько стратегий:

- Shortest Job First;

- First-Come-First-Served;

- Round Robin;

- диспетчеризация по приоритетам.

Стратегия Shortest Job First представляет

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

Стратегия First-Come-First-Served

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

Основой стратегии Round Robin является предоставление всем процессам одинакового количества процессорного времени по очереди. Каждый квант времени должен быть не очень маленьким, по той причине, что иначе расходы на переключение между процессами будут слишком большими.

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

Стратегия диспетчеризации по приоритетам предполагает сортировку процессов в порядке их важности для выполнения системой и непосредственное выполнение в соответствии со сделанной сортировкой.

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

В разных ситуациях, возникающих в операционной системе, подойдут разные стратегии диспетчеризации процессов [7,8].

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

Таким образом, можно предположить, что наиболее эффективной была бы связка стратегий

диспетчеризации по приоритетам, Round Robin и Shortest Job First. При этом, в случае применения стратегии Round Robin следует выбрать оптимальный размер кванта времени процессора, выделяемого процессу.

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

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

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

Отдельно следует отметить, что процессы могут быть переведены из одной очереди в другую, если в этом возникнет необходимость.

Многоуровневая очередь содержит в себе две очереди: основную и фоновую. Основная очередь предназначена для интерактивных процессов, а фоновая - для пакетных.

В каждой из очередей действует свой алгоритм диспетчеризации.

Так, в основной очереди, это стратегия Round Robin, а в фоновой - First-Come-First-Served.

При использовании многоуровневых очередей используют также диспетчеризацию между очередями. Выделяют такие виды диспетчеризации между очередями:

- выделение отрезка времени;

- с фиксированным приоритетом.

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

основной очереди, а потом, в фоновой. В случае использования стратегии с фиксированным приоритетом возможно «голодание» системы.

Самую гибкую диспетчеризацию процессов выполняют при помощи многоуровневых аналитических очередей. В таких очередях процессы подразделяются на классы. Каждый класс получают «свою» определенную кванту времени. Приоритетному (самому быстрому) классу процессов достается минимальная кванта времени. В том случае, если процесс не завершается в выделенный ему квант - он переносится в очередь процессов другого класса (которым выделена большая величина кванта времени). Цикл повторяется, если процесс не успевает завершиться и здесь. В ситуации, когда процесс не успевает завершиться даже в самой большой кванте времени (выделяемой системой) - данный процесс перемещают в класс пакетных процессов. Такие процессы обслуживаются по другой стратегии -First-Come-First-Served.

Использование многоуровневых

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

Литература

1. Сафонов В.О. Основы современных операционных систем. Бином, ИНТУИТ, Санкт-Петербург, 2014, 583с

2. А.В. Гордеев Операционные системы. ООО Принт, Санкт Петербург, 2010. 418с

3. Егоров В.Ю. Известия высших учебных заведений. Поволжский регион. №2. С.56-64. (2008)

4. Шестаков С.К. Труды Международного симпозиума «Надежность и качество» (Пенза, Россия, 27мая-3июня, 2013), Пенза, 2013, том 1, С.10-12

5. Мусиенко М.П., Савинов В.Ю., Крайных Я.М. Вектор ннауки тольяттинского государственного университета. Т 27, №1 С. 18-20 (2011)

6. Староверова Н. А. Вестник Казанского технологического университета. 2013., №9. С. 270-273

(2013)

7. Заседова А.А., Гатина Г.Р. Вестник Казанского технологического университета. Т.17, №4 С. 320 — 325.

(2014)

8. Зиятдинов Н.Н., Дмитриева Л.М., Серёжкина А.Е., Дмитриев М.Е // Вестник технологического университета. 2015. Т.18, №2. С. 357-362 (2015)

© Е. Горчакова - студ. каф. автоматизированных систем сбора и обработки информации КНИТУ; Ю. Н. Зацаринная -канд. тех. наук, доц. автоматизированных систем сбора и обработки информации КНИТУ, доц. каф. электрических станций им. В.К.Шибанова КГЭУ, zac_jul@mail.ru; И. Ушенина - студ. каф. автоматизированных систем сбора и обработки информации КНИТУ

© E. Gorchakova - student, Department of automated systems of gathering and processing information, KNRTU; Ju. N. Zatsarinnaya - PhD, Associate Professor, of the same Department, Associate Professor, Department of department «Electric Stations of V.K. Shibanov» KPUS, zac_jul@mail.ru; . I. Ushenina - student, Department of automated systems of gathering and processing information, KNRTU.

i Надоели баннеры? Вы всегда можете отключить рекламу.