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

Планирование процессов. Состояния существования процессов.

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

Не следует смешивать понятия процесс и программа. Програм­ма — это план действий, а процесс это само действие, поэтому понятие процесса включает:

  • программный код;

  • данные;

  • содержимое стека; (стек – это среда для размещения данных для возврата из подпрограммы )

  • содержимое адресного и других регистров процессора.

Состояния существования процессов

На рис. 2 представлена диаграмма состояний,

показывающая три возможных состояния процесса:

1. Выполнение (процесс использует процессор).

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

3. Блокировка (процесс не может быть запущен прежде, чем произойдет некое внешнее событие).

  1. П роцесс блокируется, ожидая входных данных

  2. Планировщик выбирает другой процесс

  3. Планировщик выбирает этот процесс

  4. Доступны входные данные

Рис. 2. Состояния процесса. Стрелками показаны возможные переходы между состояниями.

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

Каждый процесс представлен в операционной системе набором данных, называемых таблица управления процессом либо Блок управления процессом (ТУП (БУП)— PCВ — process control block). В РСВ процесс описывается набором значе­ний, параметров, характеризующих его текущее состояние и ис­пользуемых операционной системой для управления прохождением процесса через компьютер. Информация, хранящаяся в БУП:

  • текущее состояние процесса

  • уникальный идентификатор(номер) процесса

  • указатели памяти процесса

  • указатели выделенных ресурсов для процесса

  • область сохранения регистров, где хранится точка останова процессора

Понятие очереди

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

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

Процесс в состоянии ожидания завершения операции ввода-вы­вода находится в одной из очередей к оборудованию ввода-вывода.

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

Операционная система, обеспечивающая режим мультипрог­раммирования, обычно включает два планировщика — долгосрочный и краткосрочный. Например, в OS/360 долговременный планировщик назывался планировщиком заданий, а краткосрочный — суперви­зором задач.

Взаимодействие процессов.

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

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

Важным понятием синхронизации потоков является понятие «критической сек­ции» программы.

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

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

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

В операционных системах OS/2 и Microsoft Windows существует специальный механизм для взаимодействия процессов в реальном масштабе времени. Этот механизм называется DDE (Dynamic Data Exchangeдинамический обмен данными).

Другим интерфейсом для обмена данными является OLE (Object Linking and Embeddingсвязывание и встраивание объектов). Этот интерфейс позволяет хранить объекты, созданные одной програм­мой, в объектах, созданных другой программой, а также редактиро­вать (печатать) их без нарушения целостности информации и свя­зей.

Одним из наиболее простых, удобных и интуитивных интерфей­сов межпрограммного взаимодействия является буфер обмена — Clipboard.

Планирование работы процессора