Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bezopasnost_operatsionnykh_sistem_Nastya.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
846.67 Кб
Скачать

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

И нициатор передает управление системе управления процессами, которая часто называется супервизором процесса, монитором и т.д.

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

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

Система управления процессами должна выполнять следующие операции.

  1. Создание или порождение образованного процесса.

  2. Уничтожение процесса.

  3. Приостановка процессов.

  4. Возобновление процессов.

  5. Изменение приоритетов процессов.

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

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

  2. Супервизор процессов.( обеспечивает механизмы синхронизации параллельных процессов и механизмы статистического и динамического назначения приоритетов для распределения основного ресурса центрального процессора.)

  3. Супервизор памяти. (распределение ОП в соответствии с принятой дисциплиной распределения памяти.)

  4. Супервизор таймера. (обеспечивает управление интервальным таймером системы исходя из требований параллельных процессов обслуживаемых ОС)

Очевидно, что процессы при управлении обрабатывают очередь, которые реально представляются дескрипторами процессора, объединяющими в списки. А это означает, что каждый дескриптор – соседний в очереди. В итоге программный код начинает выполняться только когда для него ОС будет создан процесс. Это означает:

1) Создать дескриптор и контекст процесса, то есть его информационную структуру.

2) Включить дескриптор нового процесса в очередь готовых процессов

3) Загрузить кодовый сегмент процесса в ОП или в область своппинга.

В последнее время появилась новая концепция много нитевой обработки в ОС, связывающая с понятием нить («thread» - нить). На самом деле концепция достаточно проста. С помощью нее понятие процесса выполняется из внутри (для ОС) на уровень пользователя. позволяют пользователям писать код программы, используя идеологию процесса.

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

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

В состав алгоритма внутреннего планирования входят:

1) Алгоритм управления, количество процессов в работающей смеси; зависит от:

  • Длительности квантов времени,

  • Времени сохранения и восстановления процесса

  • Времени, затраченного ОС на организацию мультипрограммирования.

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

2) Алгоритм планирования очередности выбора задач на выполнение; формирует решение о порядке выбора процессов в ОС, известны следующие алгоритмы: В основном они различаются реализациями блоков, которые можно условно назвать «выбор длины кванта и выбор очередного процесса».

  1. Циклической обработки; обработки не исполняет никакой информации о приоритетах max, очередь процессов упорядочивается по мере их поступления. Первый в очередности получает первый квант и тд

  2. Очередей с обратной связью; исполняет не 1, а m очередей, каждый из которых обслуживается в порядке поступления, новый процесс системы всегда попадает в очередь 1, процесс из очереди k после исполнения очередного кванта времени переходит в очередь k+1.

  3. Выбора по характеру исполнения предыдущего кванта; различает 2 типа состояния готовности процесса:

  • Низкоприоритетная готовность; если процесс полностью исполняет предыдущий выделенный квант, то ему присваивается состояние низкоприоритетная готовность

  • Высокоприоритетная готовность; Если не весь, то высокоприоритетная готовность

сначала выбирается высокоприоритетные процессы, а затем процессы низкоприоритетной готовности.

3)Алгоритм выбора кванта времени ЦП для отдельного процесса.

4) Выбора с приоритетом по характеру блокировки процесса;

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

Зависимость должна быть:

  1. Монотонной; По монотонно определяющей;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]