Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материал / ZIBBEN-I.doc
Скачиваний:
62
Добавлен:
30.04.2013
Размер:
1.04 Mб
Скачать

5. Понятие вычислительного процесса, состояние процесса, типовые операции над процессами.

Процессор-любое устр-во, способное автом-ки вып-ть допустимые для него действия по прогр-ме, хранящейся в памяти и непоср-но доступной такому активному устр-ву. Для каждой пр-мы, исп-щей процессор вводится понятие процесс, у к-рого есть 2 момента: во-1ых, процесс является носителем данных, а во-2ых, выполняет операции. Вычислит. процесс- развивается во времени в нек-рой аппаратно-программной среде, состоящей из набора ресурсов. К ресурсам относятся функциональные возможности устр-в, программ и набора данных. Если внутри ОС присутствуют неск. процессов, то м/д ними возникает конкуренция за обладание тем или иным ресурсом, в первую очередь за время ЦП. Сущ-ют след. режимы работы: 1) Однозадачный-в этом режиме вычисления носят последов-ный характер, ресурсы не разделяются, а полностью предоставлены одному процессу. 2) Фоново-оперативный. Процессы делятся на 2 типа. 1 тип-оперативные процессы или процессы переднего плана (foreground). 2 тип- фоновые процессы (background). 3) многозадачный режим.

Состояния процесса. При выполнении различают след. состояния процессов:

1. Порождение. Здесь подготавливаются условия для 1-ого выполнения на процессоре. Когда в систему поступает задание, она создает процесс, к-рый устанавливается в очередь готовых процессов. Когда процесс оказ-ся 1-ым в очереди ему выделяется квант времени ЦП. при этом говорят, что произошел запуск процесса.

2.Состояние выполнение (или активное). Когда процессу выделен квант времени ЦП.

3. Готовность- когда процесс не исполняется, но для вып-ния предоставлены все ресурсы, кроме ЦП.

4. Блокировка (или сост-е ожидания). Процесс не вып-ся по причине занятости нек-рого ресурса. Процесс ожидает наступление события.

5. Окончание- нормальное или аварийное завершение процесса.

Изобразим развитие процесса в виде графа конечного автомата:

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

6. Методы реализации многозадачного режима. Многопотоковость.

Если внутри ОС присутствуют неск. процессов, то м/д ними возникает конкуренция за обладание тем или иным ресурсом, в первую очередь за время ЦП. Сущ-ют след. режимы работы: 1) Однозадачный-в этом режиме вычисления носят последов-ный характер, ресурсы не разделяются, а полностью предоставлены одному процессу. 2) Фоново-оперативный. Процессы делятся на 2 типа. 1 тип-оперативные процессы или процессы переднего плана (foreground). 2 тип- фоновые процессы (background). 3) многозадачный режим. При реализации многозадачного режима исп-ся 2 метода:

1. Переключение по событию.

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

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

2. Разделение времени.

Переключение процессов происходит под действием внеш. сигнала, поступающего через опред-ный квант времени Т. Обычно этот сигнал- аппаратное прер-е от таймера.

Планировщик, получив упр-ние по прер-нию прекращает работу активного процесса и сохраняет всю инф-цию, необходимую для его продолжения (контекст процесса). Потом планировщик анализирует очереди задач и по определен. правилам выбирает след. активный процесс. Переключение процессов- передиспетчеризация. Объединение этих 2-ых механизмов можно выполнить, если считать событием в системе след. ситуации: 1) прерывание от таймера по истечению кванта времени. 2) активный процесс запрашивает операцию вв/выв. 3) активный процесс освобождает ресурс, к-рый ожидался более приоритетной задачей. 4) аппаратное прер-е сигнализирует об освобождении устр-ва вв/выв.

Многопотоковость.(thread-поток). ОС выполняет защиту процессов др. от друга, разделяет их, но м. предоставлять сец. ср-ва взаимодействия. Другой прием распараллеливания состоит в организации потоков в рамках одного процесса, т.е потоки м. быть организованы для совместного взаимод-вия, а не для конкурирования. Разделение времени проц-ра идет по потокам и тогда поток- минимальная вычислит. задача для диспетчеризации. Потоки вып-ся в общем контексте, поэт. они имеют общее адресное простр-во, общие глобальные переменные, общие открытые файлы. Но потоки имеют различные: программный счетчик, стек, локальные переменные, рег-ры, текущее состояние . 1) Многопотоковая обработка повышает эффективность работы системы за счет распараллеливания. 2) Некоторые прикладные задачи легче программировать, используя потоки. 3) Реальное распараллеливание в многопроцессорных системах повышает эффективность многопотоковых программ.

Hyper-Threading- Гиперпотоковые технологии разраб-ся компанией Intel для повышения производ-ти серверных систем.

Simul tameous multi threading technology- мн-во потоков вып-ся одновременно на одном проц-ре. Работа неск. потоков достигается за счет дублирования архитектурных состояний проц-ра при совместном исп-нии единого набора ресурсов. Под ресурсом понимаются функциональные модули проц-ра. Логический проц-р- архитектурное состояние, к-рое м. быть заполнено. Это реализовано в семействе проц-ров Intel Xeon, где аппаратно заложена поддержка технологии Hyper-Threading. В проц-ре имеются диспетчеры, к-рые формируют логические проц-ры как архитектурные состояния ресурсов одного процессорного ядра, поэт. добавляются схемы дублирования рег-ров и расширенный контроллер управ-ния прер-ем (APIC), к-рый назначает прер-я для обработки разными процессами в многопроцессорной системе.

7. Управление процессами в Unix.

Unix, как сис-ма разделения времени включает диспетчер, выполняющий переключение процессов. Вся инф-ция о процессах сосредоточена в

а) дескриптор процесса-содержит идентифиц. данные. Мн-во дескрипторов обрабатывает таблицу процессов в сис-ме.

б) контекст-совокуп-ть описат. инф-ции, харак-щей

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

Иерархия процессов в Unix. Все процессы организованы в связанную иерархическ. стр-ру.

В корне дерева находится процесс INIT, имеющий идент-тор PID=1. Порождение любого процесса осущ-ся с помощью системного вызова форм: fork( )

В сист. каждый процесс имеет след. идент-ры: 1. PID-идент-тор процесса 2. PPID-идент-тор отца (осущ-ет связь м/д отцом и сыном) Пользовательские процессы объединены в группы: 3. GID- иден-тор группы. У группы м.быть лидер терминальной группы. 4. TGID- иден-тор терминальной группы. 5. UID- иден-тор пользователя(user), UID=0-«супер пользователь» (root-имя).

Взаимод-вие процессов в Unix. Процесс-родитель порождает другой процесс системным вызовом fork, при этом сын наследует все св-ва отца, как корни процесса. Затем происх-дит вызов кода процесса сына из файла с помощью вызова exec. Прим:

main(){

int status

if (fork()==0)-вызов сист. вызова

exec l (“/bin/ primer”,0);

wait (& status);}

primer-файл, bin-каталог. После порождения сына, отец ожидает завершение его, исп-зуя системный вызов wait. exit()-завершение процесса этим системным вызовом. Загружающий процесс состоит из 3-х частей. 1) код(текст) 2) данные (их области связаны с сегментами прог-мы [сегм. кода, сегм. неиц данных) 3) стек (эта обл-ть созд-ся динамич.ядром системы).

Процессы выпол-ся в 2-х режимах: 1. режим ядра (супервизора)-привилегиров. 2. режим задачи (пользовательский)-непривилегиров. Для каждого строится свой стек, тюею стек задачи содержит параметры вызова ф-ций, выпол-ных в режиме задачи. Если происходит вызов системной ф-ции, то вып-ся переключение в режим ядра и задействуется стек ядра. ВUnix исп-ся страничная вирт. память-память выделенная процессу, описана в табл. обл-тей. Табл. имеет двухуровневую стр-ру (см. рис.)

Промежуточный уровень позволяет независ. процессам использ. разделяемые обл-ти памяти. Записи в табл. обл-тей описывают св-ва памяти. Св-ва: код или данные, раздел. или неразделенная обл-ть, имеются указ-ли физической памяти и др. инф-ция. “Проблема отцов и детей” при завершении процессов: 1) нормальное завершение-процесс-отец поwait ожидает завершение сына, а сын завершает свое вып-ние ф-цией exit. 2) ненормальное завешение- сын вызывает exit, когда отец не нах-ся в состоянии wait. Запись процесса сына в табл. процессов сохран-ся, хотя сам процесс уже удален из системы (завершен). Такой процесс назыв-ся зомби. 3) преждевременный выход- ситуация, когда отец завершается раньше своих сыновей, возникают процессы-сироты (они не входят в дерево). обычно они перенаправляются процессу init (в корень). Процессы делятся на: а) пользовательские б) системные (в режиме суперпользователя) в) процессы-демоны- резидентные процессы, вып-щие специфическ. действия администрирования и упр-ния.

Порожденный процесс наследует атрибуты (св-ва) предка: 1. идент-ры пользователя и группы. Эти идент-ры берутся командой-интерпретатором shell при регистрации пользователя из спец. файла опис-я пользователей, к-рый находится в каталоге letc/ passwol.

Идент-тор исп-ся для контроля доступа к ресурсам для проверки привилегий, учета ресурсов и т.д. 2. текущий каталог-тот каталог, куда идет запись “по умолчанию”. 3.открытые файлы.

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

Соседние файлы в папке Материал