Помощь в написании студенческих работ
Антистрессовый сервис

Процессы. 
Управление процессами. 
Планирование и диспетчеризация процессов

РефератПомощь в написанииУзнать стоимостьмоей работы

Синхронизация процессов. Процессы работают параллельно и при этом конкурируют за общие ресурсы, а также должны в некоторые моменты вычислений ожидать наступления некоторых событий. Для предотвращения возможных конфликтов и несогласованностей, например, race condition — несогласованного доступа к общим данным, при котором один процесс читает старые данные, а другой их в этот же момент обновляет… Читать ещё >

Процессы. Управление процессами. Планирование и диспетчеризация процессов (реферат, курсовая, диплом, контрольная)

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

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

Важная особенность процесса: это единица вычислений, которая должна выполняться последовательно, т. е. каждый процесс имеет свой последовательный поток управления (control flow) — последовательность выполняемых процессом команд. Многие большие задачи успешно решаются путем параллельного выполнения процессов.

Состояния процессов:

Новый (new): Процесс создается операционной системой, но еще не начал выполняться.

Исполняемый (running): Исполняются команды процесса на процессоре или процессорах компьютерной системы под управлением ОС.

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

Готовый к выполнению (ready): Процесс ожидает получения ресурсов процессора для его исполнения. В состояние готовности к выполнению процесс попадает обычно либо при его создании, либо после завершения ввода-вывода (из состояния ожидания).

Завершенный (terminated): Исполнение процесса завершено.

Планирование — обеспечение поочередного доступа процессов к одному процессору.

Ситуации, когда необходимо планирование:

  • 1. Когда создается процесс
  • 2. Когда процесс завершает работу
  • 3. Когда процесс блокируется на операции ввода / вывода, семафоре, и т. д.
  • 4. При прерывании ввода / вывода.

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

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

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

Блок управления процессом (Process Control Block — PCB) — системная структура данных, используемая ОС для управления процессом, содержащая следующую информацию, ассоциируемую с каждым процессом:

  • · Состояние процесса
  • · Текущее значение счетчика команд (используется при продолжении выполнения процесса);
  • · Значения регистров процессора (также используются при возобновлении процесса);
  • · Информация для диспетчеризации процессора (указатель на стек процесса, номер процесса);
  • · Информация для управления памятью (границы области памяти процесса);
  • · Статистическая информация (общее время выполнения процесса, оставшееся из заявленного время выполнения, суммарное время ввода-вывода и т. д.)
  • · Информация о состоянии ввода-вывода (список открытых файлов).

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

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

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

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

операционный вычислительный диспетчеризация.

Список источников

  • 1. http://www.intuit.ru — сайт «Интуит»
  • 2. http://citforum.ru — онлайн IT библиотека
  • 3. http://www.ignatova-e-n.narod.ru — информационный портал
Показать весь текст
Заполнить форму текущей работой