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

Концепции процесса.

Процессом является выполняемая программа, включающая текущие значения счетчика команд, регистров и переменных. Процесс потребляет такие ресурсы как: адресное пространство процесса – оно содержит программный код, данные и стеки; файлы – используются для чтения/записи данных; устройства ввода/вывода. Множество ресурсов определяется архитектурой. Поток (thread) – возник в ОС как средство распараллеливания вычислений. Процессу назначается адресное пространство и набор ресурсов, которые совместно используются всеми его потоками. ОС сама распределяет процессорное время между потоками. Процесс в периоде существования имеет ряд дискретных состояний. Состояния процесса:

1. выполняется – процесс находится в состоянии выполнения, если в его распоряжение выделен процессор

2. готов – процесс находится в состоянии готовности, если он мог бы выполняться, если бы ему был доступен процессор

3. блокировка – процесс находится в состоянии блокирования, если он ожидает некое событие, чтобы начать свою работу.

Смена состояний происходит по различным событиям.

 

Один процесс может быть порожден другим, то есть является родительским.

Описатели процесса.

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

Операционная среда характеризуется состоянием регистров, режимом работы процессора, кодами ошибок выполняемых процессором системных вызовов, указателями на открытые файлы, информацией о незавершенных операциях ввода/вывода.

В OS/360 использовался блок управления процессом. Он включал текущее состояние, идентификатор, значения регистров и т.д.

Unix System V – контекст процесса и дескриптор процесса. При смене процесса происходит переключение процесса, дескриптор содержит информацию, необходимую ядру. Дескрипторы объединены в таблицу процессов. В таблице содержится информация о расположение образов. На основании таблицы ОС производит планирование и синхронизацию процессов.

Windows – объект-процесс.

Потоки.

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