Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к экзамену ОС.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
454.66 Кб
Скачать
  1. Управление процессами. Планирование и диспетчеризация процессов

Блок управления процессом

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

  • Состояние процесса

  • Текущее значение счетчика команд (используется при продолжении выполнения процесса);

  • Значения регистров процессора (также используются при возобновлении процесса);

  • Информация для диспетчеризации процессора (указатель на стек процесса, номер процесса);

  • Информация для управления памятью (границы области памяти процесса);

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

  • Информация о состоянии ввода-вывода (список открытых файлов).

Планировщики, выполняющие диспетчеризацию процессов

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

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

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

Особенности планировщиков и процессов.Каждый планировщик имеет свои особенности поведения, как и каждый процесс.

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

  • Ориентированными на ввод-вывод (I/O-bound) – процессы, которые тратят больше времени на ввод-вывод, чем на вычисления. Такие процессы обычно расходуют много коротких квантов процессорного времени.

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

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

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

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

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

Преимущества взаимодействующих процессов очевидны:

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

  • Ускорение вычислений ;

  • Модульность: организация взаимодействующих процессов – это метод параллельного решения задачи, декомпозируемой на относительно независимые части, части, каждую из которых решает один из взаимодействующих процессов

  • Удобство.

Виды организации взаимосвязи процессов

Подчиненный процесс – процесс, зависящий от процесса-родителя.

Независимый процесс – дочерний процесс, выполняемый независимо от процесса-родителя

Сопроцесс (coprocess, coroutine) – процесс, равноправно взаимодействующий с другими такими же процессами;