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

Структура описателя процесса:

- идентификатор процесса (PID)

- тип процесса

- данные о расположении в памяти исполняемого модуля

- адрес контекста задачи

- приоритет процесса

- переменная состояния

- информация о ресурсах, которыми процесс владеет

- параметры времени запуска

_____________________________________________________________________________________

  1. Планирование и диспетчеризация потоков. Состояния потока в многозадачной ос.

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

Диспетчеризация потоков - реализация найденного в результате планирования решения.

  • Диспетчеризация сводится к следующим шагам:

  • сохранение контекста текущего потока, который требуется сменить;

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

  • запуск нового потока на выполнение.

Контекст потока отражает состояние аппаратуры процессора в момент прерывания потока:

значение счетчика команд, содержание регистров общего назначения, ссылки на открытые файлы и др.

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

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

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

______________________________________________________________________________________

  1. Алгоритмы планирования потоков: вытесняющие и невытесняющие.

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

Preemptive multitasking - вытесняющая многозадачность - это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается планировщиком операционной системы, а не самой активной задачей.

( реализовано в Windows, Unix)

______________________________________________________________________________________

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

КВАНТ - некий непрерывный период процессорного времени, который предоставляется потоку для его выполнения.

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

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

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

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

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

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

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

______________________________________________________________________________________

  1. Алгоритмы планирования, основанные на приоритетах.

Приоритет — это число, характеризующее степень привилегированности потока при

использовании ресурсов вычислительной машины.

  • Порядок выполнения потоков определяется на основе их приоритетов.

  • Чем выше приоритет потока, тем меньше времени поток будет проводить в очереди.

Виды приоритетного планирования:

  • Планирование с относительными приоритетами

  • Планирование с абсолютными приоритетами

Граф состояний потоков в ОС с относительными и абсолютными приоритетами:

________________________________________________________________________________________

  1. Смешанные алгоритмы планирования.

Во многих операционных системах алгоритмы планирования построены с использованием как концепции квантования, так и приоритетов. Например, в основе планирования лежит квантование, но величина кванта и/или порядок выбора потока из очереди готовых определяется приоритетами потоков. Именно так реализовано планирование в системе Windows NT, в которой квантование сочетается с динамическими абсолютными приоритетами. На выполнение выбирается готовый поток с наивысшим приоритетом. Ему выделяется квант времени. Если во время выполнения в очереди готовых появляется поток с более высоким приоритетом, то он вытесняет выполняемый поток. Вытесненный поток возвращается в очередь готовых, причем он становится впереди всех остальных потоков имеющих такой же приоритет.

Например, в операционной системе UNIX System V Release 4 понятие «поток» отсутствует, и планирование осуществляется на уровне процессов. В этой системе реализована вытесняющая многозадачность, основанная на использовании приоритетов и квантования.

________________________________________________________________________________________