Что такое процесс в компьютере

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Почему на экране монитора текст нечеткий

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

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

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

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

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

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

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

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

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

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

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

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

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

Следует также упомянуть, что большинство вирусов для осложнения обнаружения маскируют себя под какой-либо из процессов. Именно по этим причинам важно уметь их опознавать и идентифицировать.

Для того чтобы увидеть весь список активных процессов необходимо открыть «Диспетчер задач» (Task Manager). Сделать это можно тремя распространенными способами:

— комбинация клавиш ctrl + alt + del
— комбинация клавиш ctrl +shift + esc
или
— правый клик мыши на панели задач — пункт «Диспетчер задач».

Находясь в окне диспетчера, выберите вкладку «Процессы».

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

1. Имя образа — название процесса
2. Пользователь — от какой учетной записи запущен процесс
3. ЦП — показывает загрузку процессора в процентном соотношении
4. Память — выделенный объем оперативной памяти
5. Описание — краткое описание того какая программа, служба или сервис инициирует данный процесс.

Читайте также:  Как сделать абзац в контакте

В самом низу окна показывается суммарное количество активных процессов, общая загрузка процессора и оперативной памяти в процентах.

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

Если для получения информации о процессе вам будет недостаточно стандартных столбцов, можно добавить дополнительные. Для этого в главном меню Диспетчера задач нажмите «Вид» и в открывшемся меню выберите пункт «Выбрать/Добавить столбцы».

Выставьте галочки напротив пунктов «ИД процесса (PID)» и «Путь к образу». Нажмите «Ок».

Теперь в столбце ««Путь к образу» вы можете видеть расположение файла, который инициирует запущенный процесс.

А информация столбца «ИД процесса (PID)» будет полезна, если вам понадобится узнать, например, какая служба запускает процесс «Svchost.exe».

Заглянув немного вперед, почему мы выбрали именно его в качестве примера. Это важный системный процесс и нужен для включения и управления различных служб. Путаница у многих пользователей с этим процессом возникает от того что одновременно могут быть запущены несколько его экземпляров, но все от разных служб. И для того чтобы понять, какая именно служба относится к отдельно взятому процессу «Svchost.exe», нам и понадобится его числовой идентификатор — PID. Запомнив число, указанное в этом столбце переходим в «Диспетчере Задач» на вкладку «Службы».
Находясь в этом окне, нажмите левой кнопкой мыщи по заголовку столбца «ИД процесса». Список отсортируется и вы без труда сможете найти процесс по PID, посмотрев его описание в соответствующем столбце.

Сведений в этом окне конечно очень мало, однако позволяет примерно понять, какая именно служба запустила «Svchost.exe». Мы уже упоминали этот процесс в статье «svchost.exe — вирус или нет?»

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

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

alg.exe — системный процесс. служба, являющаяся одним из компонентов ОС Windows необходимая для доступа к Интеренету и работы Брандмауэра. Если завершить этот процесс то подключение к интернет оборвется до следующей перезагрузки Windows.

ati2evxx.exe — является одним из компонентов драйверов для видеокарт AMD/ATI. Осуществляет работу горячих клавиш. Из-за большой нагрузки на ЦП рекомендуется отключить этот процесс и соответствующую службу.

BTTray.exe — компонент драйвера Bluetooth от Widcomm. Необходим для их работы.

csrss.exe — системный процесс Windows, обеспечивающий работу компонента «клиент/сервер». Не может быть отключен. Наиболее сильно подвержен заражению вирусов.

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

dwm.exe — системный процесс Windows. Интегрирован в систему, начиная с Windows Vista и 7. Отвечает за графические эфекты рабочего стола, окон и меню, а также нормальное функционирование интерфейса «Aero».

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

issch.exe – процесс, позволяющий выполнять проверку обновлений в фоновом режиме стандартного инсталлятора Windows и других программ.

jusched.exe – процесс планировщика для автоматической проверки обновлений Java компонентов . Отключить автоматический запуск этого процесса можно путем выключения автоматической проверки обновлений в настройках Java (Пуск-Панель управления-Java).

lsass.exe – необходимый системный процесс, отвечающий за работу локального сервера проверки подлинности, политику безопасности и авторизации пользователей. Взаимодействует с службой winlogon. Не может быть завершен.

Читайте также:  Передача где ищут родителей

lsm.exe – системный процесс, управляющий удаленными подключениями к локальной системе. Не нужно отключать.

rthdcpl.exe – Процесс, обеспечивающий работу контрольной панели Realtek HD Audio. Иконка для этой программы находится в трее, рядом с часами. Завершение этого процесса может вызвать проблемы работы звука на системе.

rundll32.exe — Необходимй системный процесс Windows запускаемый утилитой командной строки. Позволяет запускать функции и команды DLL — файлов.

Фундаментальным понятием для изучения работы операционных систем является понятие процессов, как основных динамических объектов, над которыми системы выполняют определенные действия.

Процесс — команда, которая выполняется в текущий момент. Стандарт. ISO 9000:2000 Definitions определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входящие данные в исходящие.

Компьютерная программа сама по себе это только пассивная совокупность инструкций, в то время как процесс — это непосредственное выполнение этих инструкций.

Часто процессом называют выполняющуюся программу и все её элементы: адресное пространство, глобальные переменные, регистры, стек, открытые файлы и т. д.

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

Каждый процесс может находиться как минимум в двух состояниях: процесс исполняется и процесс не исполняется.

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

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

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

либо он заканчивает свою деятельность;

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

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

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

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

В конкретных операционных системах состояния процесса могут быть еще более детализированы, могут появиться некоторые новые варианты переходов из состояния в состояние. Так, например, модель состояний процессов для операционной системы Windows NT содержит 7 различных состояний, а для операционной системы UNIX — 9. Тем не менее, в принципе, все операционные системы подчиняются изложенной выше модели.

9726552