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


Диаграмма переходов процесса



2019-08-13 290 Обсуждений (0)
Диаграмма переходов процесса 0.00 из 5.00 0 оценок




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

Переход из «готовый» в «выполняющийся». Происходит, когда ОС выбирает новый процесс для его выполнения процессором. Выбор процесса происходит по определенным правилам.

Переход из «выполняющийся» в «готовый». Чаще всего происходит, когда процесс отрабатывает максимальный промежуток времени, отведенный для непрерывной работы одного процесса.

Переход из «выполняющийся» в «блокированный». Процесс переводится в заблокированное состояние, если для продолжения его работы требуется какое-либо событие, необходимое для продолжения работы процесса. (например, медленная операцию ввода-вывода).

• Переход «заблокированный»-«готовый». Осуществляется, когда происходит ожидаемое событие.

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

 

15.  Системный, регистровый и пользовательский контекст процесса и его размещение в памяти.

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

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

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

Системный контекст процесса имеет "статическую часть" и "динамическую часть". На протяжении всего времени выполнения процесс постоянно располагает одной статической частью системного контекста. Динамическую часть системного контекста можно представить в виде стека, элементами которого являются контекстные уровни.

Системный контекст включает в себя следующие компоненты:

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

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

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

Регистровый контекст процесса

Регистровый контекст состоит из следующих компонент:

  • Счетчика команд, указывающего адрес следующей команды, которую будет выполнять центральный процессор
  • Регистра состояния процессора, который указывает аппаратный статус машины по отношению к процессу.
  • Указателя вершины стека, в котором содержится адрес следующего элемента стека ядра или стека задачи
  • Регистров общего назначения, в которых содержится информация, сгенерированная процессом во время его выполнения.

Регистровый контекст хранится в области памяти ядра.

 

 

Пользовательский контекст процесса

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

В пользовательском контексте хранится:

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

Пользовательский контекст процесса хранится в пользовательской области памяти процесса и перемещается при необходимости вместе с ним.

16.  Размещение образа процесса в памяти

В образ процесса в памяти входит следующая информация:

1. Данные программы;

2. Код программы - пользовательская программа;

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

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

5. Общую разделяемую память могут использовать все процессы;

4. Управляющий блок процесса – данные нужные ОС для управления процессом;

5. Системный стек процесса;

6. Регистровый контекст – в нем хранится содержимое регистров процессора.

17. Особенности создания процесса в Linux(Unix) и Windows.

Особенности создания процесса в Linux(Unix)

В UNIX/Linux существует только один системный вызов для создания нового процесса — fork.

§ Этот вызов создает точную копию вызывающего процесса.

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

§ По возвращаемому функцией fork () значению процесс может узнать, дочерний он (fork () возвращает 0) или родительский (fork () возвращает число больше 0).

Функции wait () и waitpid ().

• Для запуска (загрузки) программы в созданном системным вызовом fork () процессе применяется системный вызов exec (). Вызов exec () заменяет пользовательский контекст текущего процесса (образ процесса) на содержимое некоторого исполняемого файла и устанавливает начальные значения регистров процессора.

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

• Если запущено несколько процессов, то для того чтобы дождаться выполнения конкретного процесса используется функция waitpid ().

• void exit (int status) прекращает процесс, из которого эта функция была вызвана. Кодом возврата этого процесса становиться значение status.

Особенности создания процесса в Windows

Процессы Windows NT имеют следующие особенности:

• Процессы Windows NT реализованы в форме объектов - EPROCESS, которые создает менеджер объектов;

• Объект-процесс, содержит заголовок (PCB), который создает менеджер объектов. Заголовок инициализирует (заполняет) диспетчер процессов;

•  Менеджер процессов Windows NT не поддерживает между процессами отношений типа «родитель-потомок», т.е. родительский процесс не может создать дочерний процесс;

• Вместо этого в процессе Windows сразу создается начальный поток, в котором выполняется программа процесса;

• Начальный поток может порождать дочерние потоки.

18. Функции ОС по управлению процессами. Последовательность создания процесса. Завершение процесса.

Функции ОС по управлению процессами

создание и уничтожение;

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

переключение;

синхронизация(взаимодействие);

организация управления блокировкой.

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

Для создания нового процесса операционной системе необходимо:

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

2. Выделить пространство для процесса, т.е. выделить адресное пространство для всех элементов образа процесса;

3. Загрузить часть кодов и данных процесса в оперативную память.

4. Инициализировать управляющий блок процесса;

5. Поместить процесс в список “готовых” или “готовых приостановленных процессов”.

Завершение процесса

Основные причины завершения процессов следующие:

1. Обычное завершение (добровольно).

2. Превышение процессом времени, отведенной для его выполнения (принудительно).

3. Недостаточный объем памяти (принудительно).

4. Ошибки в самом процессе (коде программы) - деление на ноль; использование чисел, выходящих за разрядную сетку, неверная команда (принудительно).

5. Ошибки ввода-вывода.

6. Завершение другим процессом.

7. Вмешательство оператора.

19. Синхронизация процессов (критические секции, блокирующие переменные).

Критические секции

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

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

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

Блокирующие переменный

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

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

Таким образом, 0 означает, что ни один из процессов не находится в своей критической области, а 1 означает, что какой-то процесс находится в своей критической области.

20. Основные механизмы межпроцессорного взаимодействия (общие файлы, общая и разделяемая память, сигналы, каналы, семафоры).

 

Общие файлы

Термином «общие файлы» обычно называют совместный доступ к файлам, преимущественно в контексте операционных систем или служб локальных компьютерных сетей.

Общая и разделяемая память

Общая память

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

Разделяемая память

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

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

Сигналы

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

· Сигналы, посылаемые в случае завершения выполнения процесса;

· Сигналы, посылаемые в случае возникновения вызываемых процессом особых ситуаций;

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

Каналы

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

 

Семафоры

Инициализация семафора (задать начальное значение счётчика):

• Захват семафора (ждать пока счётчик станет больше 0, после этого уменьшить счётчик на единицу);

• Освобождение семафора (увеличить счётчик на единицу);

• Бывает бинарный семафор и семафор счетчик.

Семафор — неотрицательная целая переменная, над которой возможны два вида операций:

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

V-операция. Если при этом имеются процессы, задержанные на выполнении P-операции на данном семафоре, один из этих процессов выходит из состояния ожидания и может выполнить свою P-операцию.

21. Планирование процессов. Виды планирования процессов(среднесрочное, краткосрочное; вытесняющее, невытесняющее), круговое(циклическое) краткосрочное планирование.

Для организации многозадачности ОС осуществляет планирование процессов.

1.

Долгосрочное планирование – когда будет создан новый процесс. Определяет сколько процессов может работать одновременно (степень мультипрограммирования). Такое событие происходит редко (раз в несколько(десятки) минут);

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

Краткосрочное планирование (диспетчер процессов) это планирование какой процесс будет выполняться на процессоре. (переход готовый – выполняющийся, единицы миллисекунд).

Краткосрочное планирование процессов – задачи:

Определение момента времени для смены выполняемого процесса – когда выбирать;

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

Переключение контекстов "старого" и "нового" процессов.

2. Алгоритмы планирования делятся на две группы:

– вытесняющие (может прерываться);

– невытесняющие (не может прерываться).

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

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

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

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

3. Наиболее часто встречающиеся алгоритмы (когда выбирать):

• алгоритмы, основанные на квантовании;

• алгоритмы, основанные на приоритетах.

Алгоритм квантования (Циклический алгоритм. Круговое планирование)

Алгоритм квантования:

1.Таймер генерирует прерывания через определенные интервалы времени.

2. При каждом прерывании исполняющийся в настоящий момент процесс помещается в очередь готовых к выполнению процессов, и начинает выполняться очередной процесс.

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

22. Приоритетное планирование.

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



2019-08-13 290 Обсуждений (0)
Диаграмма переходов процесса 0.00 из 5.00 0 оценок









Обсуждение в статье: Диаграмма переходов процесса

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

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

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



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

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

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

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

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

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



(0.009 сек.)