Функции подсистемы управления.

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

Запускаем программку (запускаем задачку) и когда эта программки начинает производиться микропроцессором, то говорим, что производится процесс

Процесс довольно непростой разбивается на части потоки (нити) thread.

В рамках 1-го процесса происходит порождение потоков. И процесс и поток, это командный Функции подсистемы управления. код. Для того, чтоб этот код производился, нужно место в оперативки. Оперативка выделяет процессу опредиленный раздел опер памяти. Если выделены потоки, то каждому сгустку доступна вся память процесса.

В ординарном случае процесс = сгустку. В сложном процесс порождает несколько потоков.

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

Сделать процесс либо поток – это

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

Чтоб переключать процессы.

Контекст процесса – та информация о состоянии процесса в момент остановки. Когда прерывается процесс он сохраняет информацию об остановке.

Контекст содержит.

  1. Содержимое регистров микропроцессора
  2. Коды ошибок выполненных микропроцессором системных вызовов
  3. Информацию об открытых процессом файлах
  4. Информацию об незавершенных операциях вв/выв.

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

В протяжении существования процесса Функции подсистемы управления. его выполнение может быть неоднократно прервано и продолжено. Для того, чтоб возобновить выполнение процесса, нужно вернуть состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы микропроцессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д Функции подсистемы управления.. Эта информация именуется контекстом процесса.

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

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

Очереди процессов представляют собой дескрипторы Функции подсистемы управления. отдельных процессов, объединенные в списки. Таким макаром, каждый дескриптор, не считая всего остального, содержит по последней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет просто их переупорядочивать, включать и исключать процессы, переводить процессы из 1-го состояния в другое.

Программный код только тогда начнет производиться Функции подсистемы управления., когда для него операционной системой будет сотворен процесс. Сделать процесс - это означает:

1. сделать информационные структуры, описывающие данный процесс, другими словами его дескриптор и контекст;

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

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

Планирование и диспетчеризация процессов и потоков.

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

А. Необходимо запланировать переключение (планирование какая задачка 1 какая 2)

Б. Диспетчеризация (переключение)

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

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

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

1-ые две задачки решаются программными средствами, а последняя Функции подсистемы управления. в значимой степени аппаратно

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

Динамическое планирование – планировщик воспринимает решение в процессе работы повсевременно (зависимо от критерий)

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

Б. Переключение процессов производится с 1-го потока на др Функции подсистемы управления..

1. Сохраняется контекст текущего потока

2. Загружается контекст нового потока

3. Пуск нового потока на выполнение

Состояние процессов

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

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

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

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

В процессе актуального цикла каждый процесс перебегает из 1-го состояния в другое в согласовании с методом планирования процессов, реализуемым в данной операционной системе. Обычный граф состояний процесса показан на рисунке 2.1.

В состоянии ВЫПОЛНЕНИЕ Функции подсистемы управления. в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Актуальный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ожидает собственной очереди. При активизации процесс перебегает в состояние ВЫПОЛНЕНИЕ Функции подсистемы управления. и находится в нем до того времени, пока или он сам высвободит микропроцессор, перейдя в состояние ОЖИДАНИЯ какого-либо действия, или будет против воли "вытеснен" из микропроцессора, к примеру, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс ворачивается в состояние ГОТОВНОСТЬ. В это состояние процесс Функции подсистемы управления. перебегает из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.

Рис. 2.1. Граф состояний процесса в многозадачной среде

Выход – если выполнен ил произошла ошибка

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

Методы планирования, основанные на квантовании.

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

 процесс закончился и покинул систему,

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

 процесс перебежал в состояние ОЖИДАНИЕ,

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

Процесс, который исчерпал собственный квант Функции подсистемы управления., переводится в состояние ГОТОВНОСТЬ и ждет, когда ему будет предоставлен новый квант процессорного времени, а на выполнение в согласовании с определенным правилом выбирается новый процесс из очереди готовых. Таким макаром, ни один процесс не занимает микропроцессор навечно, потому квантование обширно употребляется в системах разделения времени. Граф состояний процесса Функции подсистемы управления., изображенный на рисунке 2.1, соответствует методу планирования, основанному на квантовании.

Кванты, выделяемые процессам, могут быть схожими для всех процессов либо разными. Кванты, выделяемые одному процессу, могут быть фиксированной величины либо изменяться в различные периоды жизни процесса. Процессы, которые не вполне использовали выделенный им квант (к примеру, из-за ухода на выполнение Функции подсистемы управления. операций ввода-вывода), могут получить либо не получить компенсацию в виде приемуществ при следующем обслуживании. По различному может быть организована очередь готовых процессов: циклически, по правилу "1-ый пришел - 1-ый обслужился" (FIFO) либо по правилу "последний пришел - 1-ый обслужился" (LIFO).

Методы планирования, основанные на ценностях.

Другая группа алгоритмов употребляет понятие "ценность Функции подсистемы управления." процесса. Ценность - это число, характеризующее степень привилегированности процесса при использовании ресурсов вычислительной машины, а именно, процессорного времени: чем выше ценность, тем выше привилегии.

Ценность может выражаться целыми либо дробными, положительным либо отрицательным значением.Чем выше привилегии процесса, тем меньше времени он будет проводить в очередях. Ценность может назначаться Функции подсистемы управления. директивно админом системы зависимо от значимости работы либо внесенной платы, или рассчитываться самой ОС по определенным правилам, он может оставаться фиксированным в протяжении всей жизни процесса или изменяться во времени в согласовании с неким законом. В последнем случае ценности именуются динамическими.

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

В обоих случаях выбор процесса на выполнение из очереди готовых осуществляется идиентично: выбирается процесс, имеющий наивысший ценность. По различному решается неувязка определения момента смены активного процесса. В системах с относительными ценностями активный процесс производится до того времени, пока он сам не покинет микропроцессор, перейдя в Функции подсистемы управления. состояние ОЖИДАНИЕ (либо же произойдет ошибка, либо процесс закончится). В системах с абсолютными ценностями выполнение активного процесса прерывается еще при одном условии: если в очереди готовых процессов появился процесс, ценность которого выше приоритета активного процесса. В данном случае прерванный процесс перебегает в состояние готовности. На рисунке 2.2 показаны Функции подсистемы управления. графы состояний процесса для алгоритмов с относительными (а) и абсолютными (б) ценностями.

Рис. 2.2. Графы состояний процессов в системах

(а) с относительными ценностями; (б)с абсолютными ценностями

Вытесняющие и невытесняющие методы планирования

Существует два главных типа процедур планирования процессов - вытесняющие (preemptive) и невытесняющие (non-preemptive).

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

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


funkcii-gosudarstvennogo-regulirovaniya-ekonomiki.html
funkcii-heshirovaniya-i-algoritmi-elektronnoj-cifrovoj-podpisi.html
funkcii-i-disfunkcii-socialnih-institutov.html