Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

25-30 / 28Управление процессами. Основные задачи ОС. Понятие процесса и ресурса

.doc
Скачиваний:
40
Добавлен:
13.03.2016
Размер:
36.35 Кб
Скачать

Основные задачи управления процессами

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

В однозадачных ОС управление процессами решает следующие задачи:

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

  • выполнение системных вызовов процесса;

  • обработка ошибок, возникших в ходе выполнения;

  • нормальное завершение процесса;

  • прекращение процесса в случае ошибки или вмешательства пользователя.

Все эти задачи решаются сравнительно просто.

В многозадачном режиме добавляются значительно более серьезные задачи:

  • эффективная реализация параллельного выполнения процессов на единственном процессоре, переключение процессора между процессами;

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

  • исключение возможности несанкционированного вмешательства одного процесса в выполнение другого;

  • предотвращение или устранение тупиковых ситуаций, возникающих при конкуренции процессов за системные ресурсы;

  • обеспечение синхронизации процессов и обмена данными между ними.

Понятия процесса и ресурса

Процесс- запущенная программа

Классификация процессов:

  1. По временным характеристикам:

-интерактивные (время существования интерактивного процесса определяется реакцией ЭВМ на запрос обслуживания и составляет секунды)

-пакетные (запускаются один за другим, время реакции минуты и даже часы)

-процессы реального времени (имеют гарантированное время окончания работы и время реакции порядка миллисекунд)

  1. По генеалогическому признаку:

-порождающие

-порожденные

  1. По времени развития:

-последовательные

-параллельные

-комбинированные (есть моменты, в которых существуют оба процесса и моменты, в которых существует только 1 процесс)

  1. По принадлежности к ОС:

-системные (исполняют программу из состава ОС)

-пользовательские

  1. По связности:

-взаимосвязанные

-изолированные (слабо связанные)

-информационно-независимые (используют совместные ресурсы, но имеют собственные информационные базы)

-взаимодействующие (имеют информационные связи и разделяют общие структуры данных)

-взаимосвязанные по ресурсам

-конкурирующие

Ресурс- средство вычислительной системы, которое может быть выделено процессу на определенный интервал времени.

Управление процессами

ОС контролирует:

-создание и удаление процессов;

-планирование процессов;

-синхронизацию процессов;

-коммуникацию процессов;

-разрешение тупиковых ситуаций.

Различают следующие состояния процесса:

-новый (процесс только что создан)

-выполняемый (команды программы выполняются в ЦП)

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

-готовый (процесс ожидает освобождения ЦП)

-завершенный

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

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

Состояние «Готов» - процесс может выполняться, но не выполняется, потому что процессор занят другим процессом.

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

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

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

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

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