Меню Рубрики

Что означает термин процесс в oc windows

Что такое «процессы Windows» и зачем они нужны

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

Можно сказать, что процесс — это выполняемая на компьютере программа, но тут нужно кое что прояснить. Дело в том, что программа и процесс — это не одно и тоже. Программа представляет собой некоторый код (набор команд и инструкций), который находится на компьютере в виде файлов. А вот процесс — это некоторый набор ресурсов и данных, которые используются при выполнении программы. То есть упрощенно можно сказать, что процесс — это выполняющаяся программа со всеми необходимыми для ее выполнения ресурсами.

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

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

Далее необходимо перейти на вкладку «Процессы».

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

Windows — это операционная система (ключевое слово здесь — «система»), то есть можно сказать, что это пакет программ, предназначенных для управления компьютером. Системные программы в Windows называют службами и каждая из них решает определенные узконаправленные задачи.

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

Обычно по умолчанию Windows настроена некоторым универсальным (по мнению разработчиков) образом и вполне вероятна ситуация, что запускаемые со стартом Windows процессы вы никогда не будете использовать, а значит они будут просто висеть «мертвым грузом», перетягивая на себя некоторые ресурсы компьютера.

Список запущенных процессов, который вы увидите открыв Диспетчер задач, будет характерен только для вашего компьютера, ведь как вы понимаете, количество и набор процессов зависит от установленных и запущенных на вашем компьютере программ, а также от редакции операционной системы. И тут речь идет не только о версии Windows (например, XP, Vista, 7 или 8), а и о редакции — так у Windows 7 Домашняя набор запущенных процессов будет отличаться от Windows 7 Максимальная и дело тут в том, что эти операционные системы предназначены для разных задач, а значит и список запускаемых со стартом Windows системных служб будет у них отличаться.

Более подробно о некоторых службах и процессах я расскажу в следующих заметках.

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Многозадачность ОС 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

Понятие «процесса» существовало в операционных системах Windows задолго до появления платформы .NET. Попросту говоря, под процессом понимается выполняющаяся программа. Однако формально — это концепция уровня операционной системы, которая используется для описания набора ресурсов (таких как внешние библиотеки кода и главный поток) и необходимой памяти, используемой выполняющимся приложением. Для каждого загружаемого в память файла *.ехе в операционной системе создается отдельный изолированный процесс, который используется на протяжении всего времени его существования. Благодаря такой изоляции приложений, исполняющая среда получается гораздо более надежной и стабильной, поскольку выход из строя одного процесса никак не сказывается на работе других процессов.

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

Каждый процесс Windows получает уникальный идентификатор процесса (Process ID — PID) и может независимо загружаться и выгружаться операционной системой (в том числе программно). Как уже наверняка известно, в окне WindowsTask Manager (Диспетчер задач) имеется вкладка Processes (Процессы), на которой можно просматривать различные статические данные о выполняющихся на данной машине процессах, в том числе их PID-идентификаторы и имена образов. Чтобы открыть окно диспетчера задач, нажмите комбинацию клавиш :

Роль потоков

В каждом процессе Windows содержится первоначальный «поток», который является входной точкой для приложения. Потоком называется используемый внутри процесса путь выполнения. Формально поток, который создается первым во входной точке процесса, называется главным потоком (primary thread). В любой исполняемой программе .NET (консольном приложении, приложении Windows Forms, приложении WPF и т.д.) входная точка обозначается как метод Main(). При вызове этого метода главный поток создается автоматически.

Процессы, в которых содержится единственный главный поток выполнения, изначально являются безопасными к потокам (thread safe), поскольку в каждый отдельный момент времени доступ к данным приложения в них может получать только один поток. Однако подобные однопоточные процессы (особенно с графическим пользовательским интерфейсом) часто замедленно реагируют на действия пользователя, когда их единственный поток выполняет какую-то сложную операцию (вроде вывода на печать длинного текстового файла, сложных математических вычислений или подключения к удаленному серверу).

Из-за такого потенциального недостатка однопоточных приложений, API-интерфейс Windows (а также платформа .NET) предоставляет возможность для главного потока порождать дополнительные вторичные потоки (также называемые рабочими потоками). Это делается с применением набора функций из API-интерфейса Windows, таких как CreateThread() . Каждый поток (первичный или вторичный) в процессе становится уникальным путем выполнения и может параллельно получать доступ ко всем разделяемым элементам данных внутри соответствующего процесса.

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

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Что означает корпоративная версия windows
  • Что означает код ошибки 80070020 на windows phone
  • Что означает класс не зарегистрирован windows 10
  • Что означает индекс производительности windows
  • Что означает значок щита на ярлыке windows 10