Мегаобучалка Главная | О нас | Обратная связь


Активный и пассивный процессы.



2019-07-03 1122 Обсуждений (0)
Активный и пассивный процессы. 0.00 из 5.00 0 оценок




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

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

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

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

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

2 готовности к выполнению: ресурсы могут быть предоставлены этому процессу, тогда он перейдет в состояние выполнения.

3 Блокированное или ожидание: затребованные ресурсы не могут быть предоставлены или не завершена операция ввода/вывода.

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

2. Привилегированные и непривилегированные программные модули.

3. Объяснить понятие ресурса. Назвать виды и типы ресурсов.

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

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

Классификация ресурсов

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

Основные виды ресурсов.

1) Процессорное время

2) Память. Оперативная память может быть разделена одновременным способом, в этом сл-е в памяти может располагаться одновременно несколько процессов, либо целиком, либо текущие фрагменты; и попеременно – в разные моменты времени она может предоставляться для различных вычислительных процессов. В каждый конкретный момент времени процессор при выполнении вычислений обращается опять к ограниченному числу ячеек оперативной памяти. С этой точки зрения полезно разделять память для возможно большего числа идущих параллельно процессов. С другой стороны, как правило, чем больше оперативной памяти может быть свободно для конкретного текущего процесса, тем лучше условия его выполнения. Поэтому проблема эффективного разделения оперативной памяти между параллельно выполняемыми процессами является одной из самых актуальных. Сие явление называют также балансировкой загрузки.

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

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

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

Структура модуля:

Отключение прерываний Тело программного модуля Включение прерываний

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

Реентерабельные программные модули (reenter able) допускают повторное многократное прерывание своего исполнения и повторный их запуск при обращении из других задач. Для чего такие программные модули должны быть созданы таким образом, чтобы было обеспечено сохранение промежуточных вычислений для прерываемых вычислений и возврат к ним, когда вычислительный процесс возвращается к прерванной ранее точке.

Это может быть реализовано двумя способами с помощью статических методов определения памяти и динамических методов. Основной, часто используемый метод – метод динамической памяти. (рисунок нарисуй) 1) Привилегированный модуль, который заказывает в системной области памяти блок ячеек для хранения текущих промежуточных данных. 2) Основное тело реентерабельного программного модуля, которое может быть прервано работает в непривилегированном режиме. 3) Привилегированный модуль освобождающий в системной области памяти блок памяти, используемой для хранения промежуточных данных. Системная область памяти используется динамическим образом для буферизованного ввода/вывода и реентерабельной обработки.

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

При статическом выделении памяти заранее фиксируется число вычислительных процессов, для которых резервируется область памяти в которой будут располагаться переменные реентерабельных программных модулей. Чаще всего в качестве таких процессов выделяют процессы ввода/вывода. в этом случае говорят о реентерабельных драйверах (реентерабельный драйвер может управлять параллельно несколькими однотипными устройствами).

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

Информационные ресурсы могут существовать как в виде переменных, находящихся в оперативно памяти, так и в виде файлов. Если процессы могут использовать информационные ресурсы только для чтения, то такие информационные ресурсы можно разделять. Если же процессы могут изменять информационные ресурсы, то необходимо каким-то образом организовывать работу с такими данными.

№8

1. Интерфейсные оболочки.

2. Понятие многопоточности.

3. Сколько и каких типов дескрипторов задач может быть в системе? От чего должно зависеть это число?

№9

1. Вычислительный ресурс.

2. Обслуживание прерываний.

3. Что такое привилегированный программный модуль. Почему нельзя создать мультипрограммную ОС, в которой бы не было привилегированных программных модулей?

№10

1. Системы программирования. Кросс-системы.

2. Понятие ресурса. Виды унд типы оных.

3. Процесс. Задача.

№11

Дескриптор процесса.

Для того чтобы ОС могла управлять процессами она должна располагать всей необходимой для этого информацией. С этой целью на каждый процесс заводится опр. информационная структура, наз. дескриптором процесса или описатель задач или блок управления задачами. В общем случае структура дескриптора процесса: 1) Индентификатор процесса PI process identification; 2) тип или класс процесса, который определяет для супервизора некоторые правила предоставления ресурсов; 3) приоритет процесса, в соответствии с которым супервизор предоставляет ресурсы; 4) опред. в каком состоянии находится процесс.???; 5) защищенная область памяти или адрес такой зоны, в которой хранятся текущие значения регистров процессора. Если процесс прерывается, не закончив работы, эта информация называется контекстом задачи; 6) информацию о ресурсах, которыми процесс владеет или имеет право пользоваться (указатели на открытые файлы, информация о незавершенных процессах ввода/вывода); 7) место или его адрес для организации общения с другими процессами; 8) параметры времени запуска.

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

2. Внешние и внутренние прерывания.

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

№12



2019-07-03 1122 Обсуждений (0)
Активный и пассивный процессы. 0.00 из 5.00 0 оценок









Обсуждение в статье: Активный и пассивный процессы.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1122)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)