ЗНАЕТЕ ЛИ ВЫ?

Для ее выполнения, и входных данных.



Две абсолютно идентичные программы, абсолютно идентичных задания в процессе выполнения

различны с точки зрения вычислительной системы:

v свое адресное пространство;

v свое состояние регистров;

V свои «права» и обязанности по отношению к другим задачам.

Термины программа и задание предназначены для описания статических, неактивных объектов.

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

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

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

Операционной системы процесс представляет собой единицу работы, заявку на потребление

Системных ресурсов.

Подсистема управления процессами (eng. PCB – Process Control Block)

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

Созданием и уничтожением процессов, обеспечивает процессы необходимыми системными

Ресурсами, поддерживает взаимодействие между процессами.

Мультипрограммирование или многозадачность – это способ организации вычислительного

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

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

— Все, что выполняется в ВС (даже определенные части операционных систем), организовано

Как набор процессов

— Реально на однопроцессорной компьютерной системе в каждый момент времени может

Исполняться только один процесс

— Пока один процесс выполняется, остальные ждут своей очереди на получение процессора

— В мультипрограммных вычислительных системах псевдопараллельная обработка нескольких

Процессов достигается с помощью переключения процессора с одного процесса на другой

Процесс, находящийся в состоянии процесс исполняется, может завершиться или быть

приостановлен ОС и переведен в состояние процесс не исполняется. Приостановка процесса: для

работы потребовалось возникновение события (завершение операции ввода-вывода), истек

Временной интервал, отведенный ОС для работы этого процесса. Потом ОС выбирает для

исполнения один из процессов, находящихся в состоянии процесс не исполняется и переводит его в

состояние процесс исполняется. Новый процесс, появляющийся в системе, первоначально

помещается в состояние процесс не исполняется

Жизненный цикл процесса

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных

состояний:

ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми

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

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по

своим внутренним причинам, он ждет осуществления некоторого события;

ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в

связи с внешними по отношению к нему обстоятельствами:

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

Выполнением другого процесса.

Контекст и дескриптор процесса

Состояние операционной среды отображается :

V состоянием регистров и программного счетчика,

V режимом работы процессора,

V указателями на открытые файлы,

V информацией о незавершенных операциях ввода-вывода,

V кодами ошибок выполняемых данным процессом системных вызовов и т.д.

Эта информация называется контекстом процесса.

Для реализации планирования процессов требуется дополнительная информация:

V идентификатор процесса,

V состояние процесса,

V данные о степени привилегированности процесса,

V место нахождения кодового сегмента и т.п.

Такая информация называется дескриптором процесса.

Задачи планирования

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

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

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

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

Первые две задачи решаются программными средствами, а последняя в значительной степени

Аппаратно.

Цели планирования

1. Справедливость: гарантировать каждому заданию или процессу некоторую часть времени

Использования процессора в компьютерной системе, не допуская ситуаций, когда процесс

Одного пользователя постоянно занимает процессор, а процесс другого пользователя

Фактически не выполняется

2. Эффективность: постараться занять процессор на все 100% рабочего времени, не позволяя

Ему простаивать в ожидании процессов, готовых к исполнению (в реальных ВС загрузка

процессора колеблется от 40 до 90 %)

Свойства планирования

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

Время

Минимальные накладные расходы

Сбаллансированная загрузка ресурсов ВС с предпочтением процессов, которые будут

Занимать малоиспользуемые ресурсы

Масштабируемость: алгоритмы должны сохранять работоспособность при увеличении

Нагрузки

Статические параметры планирования

Статические параметры (предельные значения ресурсов):

• размер оперативной памяти,

• максимальное количество памяти на диске для осуществления свопинга,

• количество подключенных устройств ввода-вывода

• каким пользователем запущен процесс или сформировано задание

• насколько важной является поставленная задача, т. е. каков приоритет ее выполнения

• сколько процессорного времени запрошено пользователем для решения задачи?

• какие ресурсы ВС и в каком количестве необходимы заданию?

Динамические параметры планирования

Динамические параметры:

• сколько времени прошло со времени выгрузки процесса на диск или его загрузки в

Оперативную память

• сколько оперативной памяти занимает процесс

• сколько процессорного времени было уже предоставлено процессу

• промежуток времени непрерывного использования процессора (CPU brust)

• промежуток ввода-вывода – I/O burst

Алгоритм планирования First-Come, First-Served (FCFS)

Невытесняющее планирование

— Процесс, получивший в свое распоряжение процессор, занимает его до истечения своего

Текущего CPU burst

— После этого для выполнения выбирается новый процесс из начала очереди

Преимущество: простота реализации

Недостатки:

— Среднее время ожидания и среднее полное время выполнения для этого алгоритма

Существенно зависят от порядка расположения процессов в очереди

— При наличии процесса с длительным CPU burst короткие процессы, перешедшие в состояние

готовность после длительного процесса, будут очень долго ждать начала своего выполнения

— Алгоритм FCFS практически неприменим для систем разделения времени

Алгоритм планирования Round Robin (RR)

• Вариант FCFS, реализованный в режиме вытесняющего планирования

• Готовые процессы организованы циклически - сидят на карусели

• Карусель вращается так, что каждый процесс находится около процессора небольшой

Фиксированный квант времени, обычно 10 - 100 миллисекунд

• Пока процесс находится рядом с процессором, он получает процессор в свое распоряжение и

Может исполняться

Алгоритм планирования Shortest-Job-First (SJF)

— Для алгоритмов FCFS и RR является существенным порядок расположения процессов в

Очереди процессов готовых к исполнению

— Если короткие задачи расположены в ближе к началу очереди, то общая производительность

Возрастает

— Если знать время следующих CPU burst для готовых процессов, то можно выбрать для

Исполнения процесс с минимальной длительностью CPU burst

— Если таких процессов несколько, то для выбора можно использовать FCFS (без квантования

Времени)

— ―Кратчайшая работа первой‖, или Shortest Job First (SJF).

— В качестве алгоритма краткосрочного планирования SJF может быть как вытесняющим, так и

Невытесняющим

— При невытесняющем планировании процессор предоставляется избранному процессу на все





Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.232.146.10 (0.019 с.)