Главная страница
Навигация по странице:

  • В PCB хранится PID, PPID, UID, которые характеризует процесс (идентификация процесса).

  • Жизненный цикл процесса. Двухуровневая модель

  • Трехуровневая модель

  • Пятиуровневая модель

  • Семиуровневая модель

  • Вопросы_к_экзамену_по_операционным. Функции и механизмы программдиспетчеров, предшественников операционных систем


    Скачать 1.12 Mb.
    НазваниеФункции и механизмы программдиспетчеров, предшественников операционных систем
    Дата28.01.2018
    Размер1.12 Mb.
    Формат файлаdoc
    Имя файлаВопросы_к_экзамену_по_операционным.doc
    ТипДокументы
    #35354
    страница9 из 19
    1   ...   5   6   7   8   9   10   11   12   ...   19

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


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

    Традиционно операционная система создает все процессы незаметно для пользователя или приложения; такой способ принят во многих современных операционных системах. Однако иногда требуется, чтобы один процесс мог послужить причиной создания другого процесса. Например, процесс приложения может сгенерировать другой процесс, который будет получать данные от первого процесса и приводить их к виду, удобному для дальнейшего анализа. Новый процесс будет работать параллельно с приложением и время от времени активизироваться для получения новых данных. Такая организация может быть очень полезна для структурирования приложений. В качестве другого примера можно привести ситуацию, в которой процесс-сервер (например, сервер печати или файловый сервер) может генерировать новый процесс для каждого обрабатываемого им запроса. Создание операционной системой процесса по явному запросу другого процесса называется порождением процесса (process spawning).

    Когда один процесс порождает другой, то порождающий процесс называется родительским, или предком (parent), а порождаемый процесс — дочерним, или потомком (child). Обычно "родственные" процессы обмениваются между собой информацией и взаимодействуют друг с другом. Организация такого взаимодействия является достаточно трудной задачей для программиста.

    ИЗ ЛЕКЦИЙ:

    Создание процесса – создание структуры данных в памяти (PCB). Любой процесс порождается другим существующим процессом (идеология ОС). Первый процесс порождается ядром ОС, остальные порождаются от этого процесса.

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

    В Linux используется иерархия процессов. Родитель всех процессов - процесс init с PID =1. Процесс-потомок посылает информацию по завершению работы и контроль осуществляет процесс-родитель. Процессы-потомки не могут иметь большие права, чем права у процесса-родителя. Если процесс-родитель аварийно завершился, то процесс-наследник усыновляется либо процессом-родителем, вышестоящим по иерархии, либо процессом init.

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

    В PCB хранится PID, PPID, UID, которые характеризует процесс (идентификация процесса).

    Еще одно отличие Windows и Linux заключается в том, что в Linux процессы размножаются клонированием, в Windows е создается с чистого листа.

    Так же в PCB хранится статус процесса (status word). С точки зрения ОС нельзя попытаться родить процесса с одинаковым статусом. Данные о ресурсах, история (статистика) процесса - сколько процесс потреблял процессорного времени, сколько ожидал процессорное время - данные для планировщиков
    1. Модель жизненного цикла процесса.


    Жизненный цикл процесса.

    Двухуровневая модель: исполняется и не исполняется.

    • Любому процессу при его рождении присваивается статус «не исполняется».

    • Как только планировщик выбирает этот процесс для исполнения, процесс получает статус «исполняется».

    • Поле исполнения он может завершиться, либо снова получить статус «не исполняется» и ожидать время на исполнение.

    В данной модели невозможно различить, по какой причине процесс получил статус «не исполняется». Данная модель сейчас нигде не реализуется.

    Трехуровневая модель: исполняется, готовность состояния процесса, ожидание.

    • Процесс при порождении может выполняться.

    • Из готовности планировщик переводит процесс в статус «исполняется».

    • После исполнения процесс либо завершается, либо отправляется в ожидание. За состоянием ожидания следит определенный процесс ядра ОС.

    • После прерывания ожидания процесс переходит в статус готовности. И снова к исполнению.

    Любая современная ОС поддерживает данную модель.

    Пятиуровневая модель: исполняется, готовность, ожидание, рождение, завершение.

    • Рождение – растянутый этап, на котором ОС решает, стоит ли рождать этот процесс. На этом этапе у процесса нет PCB.

    • После рождения процесс переходит в статус «готовность».

    • Из готовности планировщик переводит процесс в статус «исполняется».

    • После исполнения процесс либо завершается, либо отправляется в ожидание. За состоянием ожидания следит определенный процесс ядра ОС.

    • После прерывания ожидания процесс переходит в статус готовности. И снова к исполнению.

    • Завершение – растянутый этап завершения процесса: освобождения памяти, нахождение родителя. Процесс находится в завершении значительное время пока ОС в поисках.

    Семиуровневая модель: пятиуровневая модель + исключительная ситуация + зомби-состояние (только для Linux).

    • Если в процессе исполнения возникает ошибка, процесс отправляется в исключительную ситуацию. После решения ошибки из исключительной ситуации процесс получает статус готовности.

    • Выход из зомби процесса не всегда возможен.
    1. 1   ...   5   6   7   8   9   10   11   12   ...   19


    написать администратору сайта