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

Определение операционной системы

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

Управление вычислительными процессами и заданиями

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

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

Система управления заданиями управляет прохождением заданий в ВС и выполняет следующие функции:

1.Предоставление языковых средств управления работами в вычислительной системе (Shell в UNIX).

2.Ввод и интерпретация заданий/команд.

3.Выделение и освобождение необходимых ресурсов.

4.Планирование заданий на выполнение.

5.Сбор и предоставление информации о состоянии заданий.

Три основных уровня планирования.

В однопроцессорном вычислительном комплексе существует три основных уровня планирования:

Планирование на верхнем уровне или планирование заданий.

На этом уровне осуществляется выбор заданий пользователем для выполнения и их запуск. Выбранные задания становятся готовыми процессами. Эту работу выполняет системный компонент - планировщик заданий.

Планирование на нижнем уровне или диспетчирование процессов.

Здесь осуществляется выбор готового процесса для выполнения, то есть предоставления ему ЦП. Выбранный процесс становится активным. Эту работу выполняет системный компонент - диспетчер.

Планирование на промежуточном уровне.

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

Алгоритмы планирования процессов

Существует множество различных алгоритмов планирования процессов. Группы наиболее часто встречающихся алгоритмов: алгоритмы, основанные на приоритетах, и алгоритмы, основанные на квантовании.

В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:

*процесс завершился и покинул систему,

*произошла ошибка,

*процесс перешел в состояние ОЖИДАНИЕ,

*исчерпан квант процессорного времени, отведенный данному процессу.

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

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

Приоритет - это число, характеризующее степень привилегированности процесса при использовании ресурсов вычислительной машины, в частности, процессорного времени: чем выше приоритет, тем выше привилегии.

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

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

Две разновидности приоритетных алгоритмов: с относительными приоритетами и абсолютными приоритетами.

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

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

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

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

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

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

Hosted by uCoz