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

10. Общая характеристика алгоритмов планирования и диспетчеризации процессов и задач. Дисциплины диспетчеризации.

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

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

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

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

Системы с многозадачным режимом. Переключение происходит по истечении некоторого кванта времени. Многозадачный режим примени в интерактивных системах и системах реального времени. 

Три уровня планирования

Планирование верхнего уровня – это планирование при поступлении в систему, планирование стадии «оформления» процесса и его допуска его в систему.

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

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

Пять основных целей планирования

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

Завершение максимального количества процессов в единицу времени. Эта цель особенно актуальна для пакетных систем

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

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

Постепенное снижение работоспособности системы.

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

- статические (не меняющиеся с момента поступления процесса в систему) и динамические

Присваемые автоматически (system defined и назначенные извне (user defined);

Купленные (например, в 70 годах 20 века в американских вычислительных центрах за назначение высокого приоритета платили деньги) и заслуженные

- Рациональные (назначенные из разумных соображений) и случайные (random)

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

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

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

Первым обслуживается процесс с наименьшим остаточным временем (Shortest Rest Time - SRT). Это случай дополнения предыдущего алгоритма квантования времени Два следующие алгоритма планирования ориентированы на интерактивные операционные системы

Циклическое (круговое обслуживание) (Round Robin - RR). Каждый процесс находится на процессоре ограниченный квант времени, по истечении которого становится в конец очереди. Разновидность кругового обслуживания – круговорот со смещением, при котором квант времени зависит от внешнего приоритета процесса

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

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

Планирование процессов включает в себя решение следующих задач:

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

выбор процесса на выполнение из очереди готовых процессов;

переключение контекстов "старого" и "нового" процессов.

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

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