
25-30 / 28Управление процессами. Основные задачи ОС. Понятие процесса и ресурса
.docОсновные задачи управления процессами
Под управлением процессами понимаются процедуры ОС, обеспечивающие запуск системных и прикладных программ, их выполнение и завершение.
В однозадачных ОС управление процессами решает следующие задачи:
-
загрузка программы в память, подготовка ее к запуску и запуск на выполнение;
-
выполнение системных вызовов процесса;
-
обработка ошибок, возникших в ходе выполнения;
-
нормальное завершение процесса;
-
прекращение процесса в случае ошибки или вмешательства пользователя.
Все эти задачи решаются сравнительно просто.
В многозадачном режиме добавляются значительно более серьезные задачи:
-
эффективная реализация параллельного выполнения процессов на единственном процессоре, переключение процессора между процессами;
-
выбор очередного процесса для выполнения с учетом заданных приоритетов процессов и статистики использования процессора;
-
исключение возможности несанкционированного вмешательства одного процесса в выполнение другого;
-
предотвращение или устранение тупиковых ситуаций, возникающих при конкуренции процессов за системные ресурсы;
-
обеспечение синхронизации процессов и обмена данными между ними.
Понятия процесса и ресурса
Процесс- запущенная программа
Классификация процессов:
-
По временным характеристикам:
-интерактивные (время существования интерактивного процесса определяется реакцией ЭВМ на запрос обслуживания и составляет секунды)
-пакетные (запускаются один за другим, время реакции минуты и даже часы)
-процессы реального времени (имеют гарантированное время окончания работы и время реакции порядка миллисекунд)
-
По генеалогическому признаку:
-порождающие
-порожденные
-
По времени развития:
-последовательные
-параллельные
-комбинированные (есть моменты, в которых существуют оба процесса и моменты, в которых существует только 1 процесс)
-
По принадлежности к ОС:
-системные (исполняют программу из состава ОС)
-пользовательские
-
По связности:
-взаимосвязанные
-изолированные (слабо связанные)
-информационно-независимые (используют совместные ресурсы, но имеют собственные информационные базы)
-взаимодействующие (имеют информационные связи и разделяют общие структуры данных)
-взаимосвязанные по ресурсам
-конкурирующие
Ресурс- средство вычислительной системы, которое может быть выделено процессу на определенный интервал времени.
Управление процессами
ОС контролирует:
-создание и удаление процессов;
-планирование процессов;
-синхронизацию процессов;
-коммуникацию процессов;
-разрешение тупиковых ситуаций.
Различают следующие состояния процесса:
-новый (процесс только что создан)
-выполняемый (команды программы выполняются в ЦП)
-ожидающий (процесс ожидает завершения некоторого события, чаще всего операции ввода/вывода)-процессу для продолжения работы требуется либо дополнительные ресурсы, либо какие-то действия системы.
-готовый (процесс ожидает освобождения ЦП)
-завершенный
Переход из одного состояния в другое не может выполняться произвольным образом.
Диаграмма перехода процессов:
Состояние «Готов» - процесс может выполняться, но не выполняется, потому что процессор занят другим процессом.
Дескриптор и контекст процесса
С каждым процессом связаны описывающие его данные в основной памяти, необходимые ОС для поддержки выполнения процесса. Все эти данные можно разбить на две большие структуры: дескриптор процесса и контекст процесса.
Дескриптор процесса включает в себя все те данные о процессе, которые могут понадобиться ОС при различных состояниях процесса.
Контекст процесса включает данные, необходимые только для текущего процесса. Точный состав дескриптора и контекста сильно зависят от конкретной ОС.
При переключении текущего процесса система должна каждый раз переключать и текущий контекст, т.е. сохранять в своей памяти или на диске контекст предыдущего выполнявшегося процесса и восстанавливать ранее сохраненный контекст того процесса, который будет выполняться.