Студопедия

Главная страница Случайная лекция

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика






Дескрипторы процессов

Читайте также:
  1. А. Нарушение процессов всасывания жиров
  2. Анализ процессов (определяем существующую в обществе повестку дня и соотносим с нею разработанные альтернативы). Устанавливаем клиентную группу.
  3. Анализ термодинамических процессов идеального газа.
  4. Архитектура процессов обработки информации
  5. Б. Нарушение процессов перехода жира из крови в ткань
  6. Билет 7. Характеристика восприятия и представления как психических процессов.
  7. Билет 9. Характеристика мышления и речи как психических процессов.
  8. Билет 9. Характеристика мышления и речи как психических процессов.
  9. Виды процессов
  10. Виды судебных процессов общая характеристика.

Процесс - это по своей сути абстракция, введенная для лучшего восприятия работы системы, для построения механизмов ОС на едином концептуальном базисе. Любому процессу, несмотря на абстрактную природу, присущи две вполне «осязаемые» части: программа, по которой будет развиваться процесс в активном состоянии, и дескриптор процесса, представляющий собой информацилнную структуру, в которой сосредоточена управляющая информация, необходимая и достаточная для системы управления процессом.

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

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

· информация по идентификациисодержит уникальное имя процесса для реализации операций управления над процессами как над поименованными объектами;

· информация о ресурсахсодержит информацию о ресурсах, которые затребованы или используются процессом в настоящее времы;

· информация о состоянии процессасодержит информацию о текущем состоянии процесса, позволяющую определить текущее состояние и возможность перехода на следующее.

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

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

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



В таблице пользователя сосредоточена текущая информация, ориенированная в основном на организацию работы процесса с внешними данными (файлами). Это, по сути, программный интерфейс процесса с файловой системой.

Каждый дескриптор в таблице процессов резервируется при порождении процесса и освобождается при его завершении. Здесь содержится статусная информация о процессе, которая необходима независимо от того, находится ли процесс в ОП или выгружен (подвержен свопингу). В частности, здесь содержатся адресные ссылки на область памяти, где располагается «образ процесса»: данные и программа. Кроме того, здесь содержится адресная ссылка на область внешней памяти, куда вытесняется процесс в результате свопинга. В дескрипторе содержится информация, необходимая для синхронизации процессов. Здесь же содержатся идентификаторы процесса, а также породившего его процесса.

Схема работы краткосрочного планировщика

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

Долгосрочный Обработчик

планировщик прерываний

               
   
   
     
 
 
 
 

 


Супревизор

задач

               
   
   
   
 


Супервизор Супервизор Очередь

связей памяти готовности

Диспетчер

Супервизор Очередь задач

таймера ожидания

 

Остальные управляющие

программы

 

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

В ОС UNIX функции краткосрочного планировщика выполняет одна из двух секций ядра ОС. Эта секция по назначению является центральной. Она программно реализрвана на языке СИ. Основные функции, выполняемый секцией: резервирование ресурсов, определение последовательности выполнения процессов,

принятие запросов на обслуживание.

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

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

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


<== предыдущая страница | следующая страница ==>
Образец оформления списка литературы | Тема 2.2 Средства распределения ресурсов (20 часов)

Дата добавления: 2014-11-24; просмотров: 403; Нарушение авторских прав


lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.004 сек.