ЗНАЕТЕ ЛИ ВЫ?

Требующееся ему время, независимо от событий в ВС



— При вытесняющем SJF-планировании учитывается появление новых процессов в очереди

Готовых к исполнению во время работы выбранного процесса

— Если CPU burst нового процесса меньше, чем остаток CPU burst у исполняющегося, то

Исполняющийся процесс вытесняется новым

Планирование по принципу SRT («по наименьшему остающемуся времени»)

— Принцип SRT - это аналог принципа SJF, но с переключением, применимый в системах с

Разделением времени. По принципу SRT всегда выполняется процесс, имеющий

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

процессов. По принципу SJF задание, которое запущено в работу, выполняется до

Завершения. По принципу SRT выполняющийся процесс может быть прерван при

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

— Дисциплина SRT характеризуется более высокими накладными расходами, чем SJF.

Механизм SRT должен следите за текущим временем обслуживания выполняющегося

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

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

Иметь даже большее среднее время ожидания и больший разброс времени ожидания, чем в

Случае SJF.

Планирование по принципу HRN («по наибольшему относительному времени реакции»)

— Бринк Хансен разработал стратегию планирования HRN, которая компенсирует некоторые из

слабостей присущих дисциплине SJF, в частности чрезмерное предубеждение против

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

HRN это дисциплина планирования без переключений, согласно которой приоритет каждого

задания является не только функцией времени и обслуживания этого задания, но также

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

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

Приоритеты вычисляются по формуле

приоритет = (время ожидания + время обслуживания)/время обслуживания

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

более коротким заданиям. Однако, поскольку в числителе имеется время ожидания, более

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

Предпочтение. Отметим, что сумма

время ожидания + время обслуживания

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

Немедленно.

Сеть очередей

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

Готовность

• Очередям приписываются фиксированные приоритеты

• Внутри очередей для планирования могут применяться разные алгоритмы

• Для больших счетных процессов, не требующих взаимодействия с пользователем (фоновых

процессов), может использоваться алгоритм FCFS, а для интерактивных процессов –

алгоритм RR

• Подход многоуровневых очередей повышает гибкость планирования: для процессов с

Различными характеристиками применяется наиболее подходящий им алгоритм

Сеть очередей с обратной связью

— Механизм планирования должен:

1) оказывать предпочтение коротким заданиям;

2) оказывать предпочтение заданиям лимитируемым вводом-выводом, чтобы обеспечить

хороший коэффициент использования устройств ввода-вывода;

3) можно быстрее определять характер задания и соответствующим образом планировать

выполнение этого задания.

— Многоуровневые очереди с обратными связями представляют структуру, которая

Обеспечивает достижение этих целей. Новый процесс входит в сеть очередей с конца верхней

Очереди. Он перемещается по этой очереди, реализующей принцип FIFO, пока не получит в

свое распоряжение ЦП. Если задание завершается или освобождает ЦП, чтобы подождать

Завершения операции ввода-вывода или наступления некоторого события, то оно, это

задание, выходит из сети очередей.

— Если выделенные квант времени истекает до того, как процесс добровольно освободит ЦП,

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

— Этот процесс в следующий раз получит в свое распоряжение ЦП, когда он достигнет начала

Данной очереди, если при этом не будет ожидающих в первой очереди.

— Если данный процесс будет продолжать использовать полный квант времени,

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

Нижележащего уровня.

— Обычно в системе предусматривается некоторая очередь самого нижнего уровня, которая

Реализует принцип циклического обслуживания и в которой данный процесс циркулирует до

Тех пор, пока не завершится.

— Во многих структурах многоуровневых очередей с обратными связями квант времени,

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

Увеличивается.

— Таким образом, чем дольше находится процесс в сети очередей, тем больший квант времени

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

Удается получать ЦП слишком часто, поскольку процессы, находящиеся в очередях более

Высоких уровней, имеют и более высокий приоритет.

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

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

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

Процессы и потоки в ОС Windows

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

Windows NT процесс – это объект, создаваемый и уничтожаемый менеджером объектов.

— Процесс содержит потоки, учетную информацию и ссылки на системные ресурсы: закрытое

Адресное пространство, семафоры, коммуникационные порты, файлы и т.д. Процесс

Характеризуется текущим состоянием (выполнение, ожидание, готовность и т.д.) , которые

Обобществляются всеми потоками процесса.

— Задача ОС состоит в том, чтобы организовать их поддержку, которая подразумевает, что

каждый процесс получит все необходимые ему ресурсы;

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

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

Взаимодействия.

Для описания процесса ОС поддерживает набор структур, главную из которых принято называть

блоком управления процессом (PCB, Process control block). Состав PCB:

• идентификатор процесса;

• токен доступа - исполняемый объект, содержащий информацию о безопасности;

• базовый приоритет - основа для исполнительного приоритета нитей процесса;

• процессорная совместимость - набор процессоров, на которых могут выполняться нити

процесса;

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

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

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

• время исполнения - общее количество времени, в течение которого выполняются все нити

Процесса.

Создание процесса в Windows

Обычно процесс создается другим процессом вызовом Win32-функции CreateProcess. Создание

процесса осуществляется в несколько этапов:

1) на диске отыскивается нужный файл-образ, после чего создается объект "раздел" памяти для

проецирования на адресное пространство нового процесса (kernel32.dll);

Выполняется обращение к системному сервису NtCreateProcess для создания объекта

"процесс". Формируются блоки EPROCESS, KPROCESS и блок переменных окружения PEB.

Менеджер процессов инициализирует в блоке процесса маркер доступа (копируя

аналогичный маркер родительского процесса), идентификатор и другие поля;

3) создание первичного потока (сервис NtCreateThread, библиотека kernel32.dll);

Kernel32.dll посылает подсистеме Win32 сообщение, которое содержит информацию,

Необходимую для выполнения нового процесса. Данные о процессе и потоке помещаются, в





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

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