Процессы. Процесс – основное понятие ОС
Процесс – основное понятие ОС. Операционная система создает процесс, когда пользователь запускает программу на выполнение. ОС руководит всеми процессами в системе, а именно:
- Приостанавливает выполнение одних процессов;
- Активизирует другие процессы;
- Создает новые процессы;
- Уничтожает процессы, которые уже выполнились, или не могут быть выполнены по каким – либо причинам ( ошибкам ).
Некоторыми процессами может управлять администратор, или пользователь.
Программа на стадии выполнения и процесс – это не одно и то же, для каждого процесса ОС создает набор данных, который называется средой выполнения процесса, который включает:
- Исполнимый файл ( код программы );
- Начальные исходные данные;
- Имя текущего каталога;
- Стандартные файлы ввода – вывода;
- Файлы кодов ошибок;
- Переменные окружения и др.
Процесс – совокупность программы и связанных с ней системных данных, необходимые для ее выполнения ( среды процесса).
Многозадачность ОС 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; просмотров: 8993;