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

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

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

  • выполняется, если ему в данный момент выделен ЦП;

  • готов, если он может сразу использовать ЦП в случае его предоставления;

  • в состоянии блокировки, если он ожидает появления какого-либо события.

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

Переход процесса из состояния в состояние совершается мгновенно.

Когда в систему поступает задание, ОС создает процесс, и он ставится в список готовых к выполнению. Предоставление ЦП первому процессу в списке готовых процессов называется запуском для выполнения. Это делается диспетчером.

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

Диаграмма состояний процесса

1 – допуск к планированию

2 – событие произошло

3 – ожидание события

4 – прерывание (остановка)

5 – запуск

6 – завершение работы

Представителем процесса в ОС является блок управления процессом PCB (Process Control Block). Туда входит: 1. текущее состояние (готов, выполняется, блокирован); 2. уникальный идентификатор; 3. приоритет; 4. указатели памяти; 5. указатели выделенных ресурсов; 6. область сохранения регистров.

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

Системы управления процессами должны иметь возможность выполнять операции над процессами: 1. создание: присвоение имени, включение имени в список известных системе имен, определение приоритета, формирование РСВ-дискриптора, выделение начальных ресурсов (внешние устройства, память); 2. уничтожение; 3. возобновление; 4. изменение приоритета; 5. блокирование; 6. пробуждение; 7. запуск.

Процесс может породить новый процесс (дочерний).

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

Приостановка используется, если: 1) система работает ненадежно; 2) пик нагрузки. Возобновление процесса – подготовка к его повторному запуску.

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

Обработка прерываний. Прерывание –событие, когда меняется нормальная последовательность команд, выполняемых процессором. Сигнал прерывания обрабатывается аппаратными средствами. Если оно произошло, то:

1) управление передается ОС

2) ОС запоминает состояние прерванного процесса в РСВ

3) ОС анализирует тип прерывания

4) ОС предает управление соответствующей программе обработки

Для обработки каждого из типов прерываний в составе ОС есть программы, называемые

обработчиками прерываний (IH – Interruption Handler).

Планирование и диспетчеризация (управление) процессов и потоков.

Планирование процессов осуществляется на основе, некоторой стратегии, например:

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

2) отдавать предпочтение более коротким процессам;

3) предоставлять всем пользователям одинаковые услуги (например, время ожидания).

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

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

Помимо деления согласно приведенной классификации дисциплины диспетчеризации делятся на:

1) вытесняющие (preemptive), которым на выполнение вычислений выделяется квант процессорного времени, а в следующем кванте процессор передаётся другому процессу;

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

Примеры наиболее часто используемых дисциплин диспетчеризации:

FCFS (first come – first served – первым пришёл первым обслужен), в соответствии с которой задачи обслуживаются в «порядке очереди».

SJN (Shortest Job Next или следующим будет выполняться кратчайшее задание) и SRT (Shortest Remaining Time или следующим будет выполняться задание, требующие меньше всего времени).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]