Процессы. Процесс – основное понятие ОС

 

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

- Приостанавливает выполнение одних процессов;

- Активизирует другие процессы;

- Создает новые процессы;

- Уничтожает процессы, которые уже выполнились, или не могут быть выполнены по каким – либо причинам ( ошибкам ).

Некоторыми процессами может управлять администратор, или пользователь.

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

- Исполнимый файл ( код программы );

- Начальные исходные данные;

- Имя текущего каталога;

- Стандартные файлы ввода – вывода;

- Файлы кодов ошибок;

- Переменные окружения и др.

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

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

Каждый процесс имеет свое адресное пространство (часть ОП), таким образом данные с которыми работает программа не доступны другим программа. Таким образом, достигается гарантия того, что данные с которыми работает пользователь не могут быть изменены другими программами. Каждый процесс потребляет аппаратные и программные ресурсы компьютера. Аппаратные:

- выделенная часть оперативной памяти;

- центральный процессор;

- периферийные устройства;

Программные:

- программы ОС для управления процессами;

- системные таблицы состояния системы и процессов;

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

Различают независимые и взаимодействующие процессы.

Независимые – не обмениваются информацией, а лишь конкурируют за ресурсы.

Взаимодействующие – обмениваются информацией, или их выполнение определенным образом упорядочено ( синхронизировано ), взаимодействие происходит с помощью специальных механизмов:

- общие файлы для нескольких процессов;

- разделяемая память, т. е. выделение общей памяти для нескольких процессов;

- именованные каналы;

- сигналы – коды ошибок;

- сообщения в ходе выполнения процессов.

При завершении любой процесс передает ОС статус своего завершения – число от 0 до 255, если процесс завершился нормально – статус завершения = 0, если нет – код ошибки.

Существует два режима исполнения процессов оперативный и фоновый.

В оперативном режиме ИК переходит в режим ожидания завершения процесса, или всех дочерних процессов ( в случае конвейера ), а не режим ввода следующей команды пользователя.

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

Атрибуты процессов – набор признаков, присущих определенному процессу, большинство атрибутов наследуется от родительского процесса:

Идентификатор процесса – PID ( Process Identifier ) – целое число, с помощью которого ОС управляет процессом. Новый процесс получает PID на 1 больше.

Идентификатор родительского процесса – PPID. Используются для организации взаимодействия между процессами.

Открытые файлы – стандартные файлы ввода, вывода, ошибок, и дополнительные файлы, например при перенаправлении ввода – вывода. Дочерний процесс наследует открытые файлы родительского процесса.

 

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

Текущей каталог – каталог из которого произошел запуск процесса;

 

Время исполнения - определено пользовательское, системное и реальное.

- пользовательское – время, затраченное центральным процессором на исполнение кода программы.

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

Полное процессорное время = пользовательское + системное

Реальное время выполнения от момента запуска процесса до его завершения.

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

 

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

 

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

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

 

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

1. Работоспособный ( runnable ). – в данный момент выполняет какие – либо действия или стоит в очереди на получения кванта процессорного времени. Обозначается символом R

2. Ожидающий ( спящий, sleeping ) – возникает после того, как процесс инициирует системную операцию , окончания которой он должен дождаться. Например: операции ввода – вывода, завершение дочернего процесса.
Обозначается символом S

3. Остановленный ( stopped ) – процесс может быть остановлен: администратором,
программой – отладчиком в контрольной точке;
при фоновом режиме выполнения при попытке ввести данные с клавиатуры;
Обозначается символом T

4. Завершающийся( zombie ) – ожидает завершения всех дочерних процессов, после того, как родительский процесс завершен. После завершения процесса информация о нем удаляется из таблицы состояния процессов.
Обозначается символом Z

 

Для получения информации о процессах используются команды PS и TOP.

 








Дата добавления: 2015-08-11; просмотров: 8897;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.01 сек.