Процессы 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() . Каждый поток (первичный или вторичный) в процессе становится уникальным путем выполнения и может параллельно получать доступ ко всем разделяемым элементам данных внутри соответствующего процесса.
Как нетрудно догадаться, разработчики обычно создают дополнительные потоки для улучшения общей степени восприимчивости программы к действиям пользователя. Многопоточные процессы обеспечивают иллюзию того, что выполнение многочисленных действий происходит примерно в одно и то же время. Например, дополнительный рабочий поток может порождаться в приложении для выполнения какой-нибудь трудоемкой задачи (подобной выводу на печать большого текстового файла). После начала выполнения задачи вторичным потоком основной поток все равно не утрачивает способности реагировать на действия пользователя, что дает всему процессу возможность сопровождаться куда более высокой производительностью.
Однако такого может и не происходить: в случае использования слишком большого количества потоков в одном процессе его производительность может даже ухудшаться из-за возникновения у ЦП необходимости переключаться между активными потоками в процессе (что отнимает определенное время).
На некоторых машинах многопоточность по большей части представляет собой не более чем просто обеспечиваемую операционной системой иллюзию. Машины с одним (не поддерживающим гиперпотоки) процессором буквально не имеют никакой возможности обрабатывать множество потоков в точности в одно и то же время. Вместо этого они выполняют по одному потоку за единицу времени (называемую квантом), основываясь отчасти на приоритете потока. По истечении выделенного кванта времени выполнение существующего потока приостанавливается для предоставления другому потоку возможности выполнить свою задачу.
Чтобы поток не забывал, на чем он работал перед тем, как его выполнение было приостановлено, каждому потоку предоставляется возможность записывать данные в и выделяется отдельный стек вызовов, как показано на рисунке:
Процессы Windows. Как найти и удалить вирусный процесс?
Что такое процессы windows и как можно ими управлять? Как найти и удалить с компьютера вирусный процес с помощью программы Starter?
Список всех выполняемых на компьютере программ можно просмотреть с помощью Диспетчера задач Windows. Для этого необходимо нажать на клавиатуре сочетание клавиш Ctrl+Alt+Del. Вы увидите список процессов, и сразу возникнет вопрос: зачем нужен каждый конкретный процесс в этом списке? Давайте разберемся, что же такое процессы и как можно ими управлять.
Процессы – это все, что происходит в данный момент времени в системе. В Диспетчере задач на вкладке “Процессы” отображаются все запущенные на данный момент программы. Процессы могут быть “порождены” либо пользователем, либо системой. Системные процессы запускаются при загрузке Windows; пользовательские процессы – это программы, запущенные самим пользователем компьютера либо запущенные от его имени. Все системные процессы запускаются от имени LOCAL SERVICE, NETWORK SERVICE или SYSTEM (данная информация доступна в Диспетчере задач в столбце “Имя пользователя”).
Диспетчер задач позволяет только просматривать список процессов и завершать их работу. Для этого выделите имя процесса в списке и нажмите кнопку “Завершить процесс”.Это означает завершение работы программы, которой принадлежит процесс. Однако в Диспетчере задач невозможно просмотреть информацию о том или ином процессе.
Для управления процессами Windows я бы рекомендовал использовать более мощную утилиту, которая называется Starter. Это отличная бесплатная программа, которая к тому же не требует установки. Скачиваем ее здесь, затем запускаем из папки файл Starter.exe и выбираем сверху вкладку “Процессы”.
Starter показывает все процессы в реальном времени, предоставляя исчерпывающую информацию по каждому из них. Щелкнув правой клавишей мыши по интересующему нас процессу и выбрав пункт “Свойства файла”, мы можем узнать производителя программного модуля, версию, атрибуты и другие сведения. Контекстное меню процесса также позволяет перейти в папку с программой, завершить процесс либо найти информацию о нем в интернете.
Как избавиться от вирусов на компьютере с помощью Starter?
Очень часто вирусы и другие вредоносные программы маскируются под различные процессы. Поэтому, если вы заметили что с вашим компьютером что-то не так – запустите проверку антивирусом. Если это не помогло или ваш антивирус вообще отказался запускаться, откройте Диспетчер задач и просмотрите все запущенные процессы.
Если при нажатии Ctrl+Alt+Del у вас появляется ошибка: “Диспетчер задач отключен администратором”, читайте вот эту мою заметку.
Особое внимание уделите процессу, если тот запущен от имени пользователя и потребляет слишком много ресурсов (столбцы “ЦП” и “Память”). Если вы нашли в списке явно подозрительный процесс – завершите его и посмотрите, как после этого будет работать ваша система. Если же вы сомневаетесь или не знаете, какой программе принадлежит запущенный процесс – лучше зайдите в Google или Яндекс, введите в поисковой строке название процесса и найдите информацию о нем.
Встроенный в Windows Диспетчер задач конечно позволяет отключать процессы, но, к сожалению, дает очень мало информации по ним, а потому довольно сложно понять является ли процесс вирусным. Программа Starter в этом плане намного полезнее.
Итак, чтобы найти и удалить с компьютера вирусный процесс, делаем следующее:
1. Запускаем программу Starter и переходим во вкладку “Процессы”.
2. Находим процесс, который вызывает у нас подозрения. Щелкаем по нему правой клавишей мыши и выбираем пункт “Свойства файла”. Я для примера выбрал файл svchost.exe. В открывшемся окне смотрим компанию-производителя данного приложения:
На этом все. Сегодня мы узнали, что такое процессы Windows и с помощью каких утилит ими можно управлять. Кроме того, теперь мы умеем избавляться от вирусов, маскирующихся под различные процессы.
Как называется процесс windows
В продолжение рубрики «Основы», сегодня речь пойдет о процессах в Windows. Разберем что это такое, на что они влияют и с помощью чего их можно контролировать.
p, blockquote 1,0,0,0,0 —>
В операционной системе «процессом» является экземпляр компьютерной программы, которая запущенна в данный момент. Сама по себе программа является всего лишь набором правил и кода, тогда как процесс является фактическим выполнением всего этого. Задачи одной и той же программы могут выполняться в нескольких процессах и, естественно, каждому активному процессу требуется определенное количество системных ресурсов, и чем больше их одновременно запущенно, тем медленнее начинает работать компьютер.
p, blockquote 2,0,0,0,0 —>
Многих начинающих пользователей мало интересует, какие скрытые процессы у них работают, а между тем, есть смысл поинтересоваться, не работают ли какие-нибудь фоновые программы и сервисы, в которых нет необходимости и которые при этом впустую расходуют процессорное время и память. Но прежде чем отключать ненужные процессы, чтобы освободить ресурсы компьютера, необходимо научиться разбираться в них, чтобы случайно не затронуть, например, процессы относящиеся к системным, многие из которых запускаются во время старта компьютера и критически необходимы для функционирования операционной системы и других приложений.
p, blockquote 3,0,0,0,0 —>
Следует также упомянуть, что большинство вирусов для осложнения обнаружения маскируют себя под какой-либо из процессов. Именно по этим причинам важно уметь их опознавать и идентифицировать.
p, blockquote 4,0,0,0,0 —>
Для того чтобы увидеть весь список активных процессов необходимо открыть «Диспетчер задач» (Task Manager). Сделать это можно тремя распространенными способами:
p, blockquote 5,0,0,0,0 —>
— комбинация клавиш ctrl + alt + del
— комбинация клавиш ctrl +shift + esc
или
— правый клик мыши на панели задач — пункт «Диспетчер задач».
p, blockquote 6,0,0,0,0 —>
Находясь в окне диспетчера, выберите вкладку «Процессы».
p, blockquote 7,0,0,0,0 —>
p, blockquote 8,0,0,0,0 —>
В открывшемся окне находится несколько столбцов с помощью которых мы и сможем получить первую необходимую информацию о том, какие процессы загружены и сколько ресурсов они потребляют.
p, blockquote 9,0,0,0,0 —>
1. Имя образа — название процесса
2. Пользователь — от какой учетной записи запущен процесс
3. ЦП — показывает загрузку процессора в процентном соотношении
4. Память — выделенный объем оперативной памяти
5. Описание — краткое описание того какая программа, служба или сервис инициирует данный процесс.
p, blockquote 10,0,0,0,0 —>
В самом низу окна показывается суммарное количество активных процессов, общая загрузка процессора и оперативной памяти в процентах.
p, blockquote 11,0,1,0,0 —>
Чтобы отключить ненужный процесс, необходимо выбрать один из них и нажать кнопку «Завершить процесс». Однако простое «Завершение процесса» просто отключит его до следующей перезагрузки Windows. Поэтому, если вы хотите навсегда избавиться от него, необходимо отключить его запуск в самом приложении, которое запускает этот процесс, или отключить активирующую его службу, или убрать из автозагрузки, а может и вовсе удалить ненужное приложение.
p, blockquote 12,0,0,0,0 —>
Если для получения информации о процессе вам будет недостаточно стандартных столбцов, можно добавить дополнительные. Для этого в главном меню Диспетчера задач нажмите «Вид» и в открывшемся меню выберите пункт «Выбрать/Добавить столбцы».
p, blockquote 13,0,0,0,0 —>
p, blockquote 14,0,0,0,0 —>
Выставьте галочки напротив пунктов «ИД процесса (PID)» и «Путь к образу». Нажмите «Ок».
p, blockquote 15,0,0,0,0 —>
p, blockquote 16,0,0,0,0 —>
p, blockquote 17,0,0,0,0 —>
Теперь в столбце ««Путь к образу» вы можете видеть расположение файла, который инициирует запущенный процесс.
p, blockquote 18,0,0,0,0 —>
А информация столбца «ИД процесса (PID)» будет полезна, если вам понадобится узнать, например, какая служба запускает процесс «Svchost.exe».
p, blockquote 19,0,0,0,0 —>
Заглянув немного вперед, почему мы выбрали именно его в качестве примера. Это важный системный процесс и нужен для включения и управления различных служб. Путаница у многих пользователей с этим процессом возникает от того что одновременно могут быть запущены несколько его экземпляров, но все от разных служб. И для того чтобы понять, какая именно служба относится к отдельно взятому процессу «Svchost.exe», нам и понадобится его числовой идентификатор — PID. Запомнив число, указанное в этом столбце переходим в «Диспетчере Задач» на вкладку «Службы».
Находясь в этом окне, нажмите левой кнопкой мыщи по заголовку столбца «ИД процесса». Список отсортируется и вы без труда сможете найти процесс по PID, посмотрев его описание в соответствующем столбце.
p, blockquote 20,0,0,0,0 —>
p, blockquote 21,0,0,0,0 —>
Сведений в этом окне конечно очень мало, однако позволяет примерно понять, какая именно служба запустила «Svchost.exe». Мы уже упоминали этот процесс в статье «svchost.exe — вирус или нет?»
p, blockquote 22,0,0,0,0 —>
Еще одна возможность увидеть, где располагается файл инициирующий запуск процесса, это нажать правой кнопкой мыши на одном из них и выбрать пункт «Открыть место хранения файла».
p, blockquote 23,1,0,0,0 —>
p, blockquote 24,0,0,0,0 —>
Со временем вы научитесь легко опознавать любые процессы. Для того, чтобы немного облегчить вам эту задачу, ниже приводим список наиболее типичных программных и системных процессов, большинство из которых по умолчанию запускаются вместе с операционной системой.
p, blockquote 25,0,0,0,0 —>
alg.exe — системный процесс. служба, являющаяся одним из компонентов ОС Windows необходимая для доступа к Интеренету и работы Брандмауэра. Если завершить этот процесс то подключение к интернет оборвется до следующей перезагрузки Windows.
p, blockquote 26,0,0,0,0 —>
ati2evxx.exe — является одним из компонентов драйверов для видеокарт AMD/ATI. Осуществляет работу горячих клавиш. Из-за большой нагрузки на ЦП рекомендуется отключить этот процесс и соответствующую службу.
p, blockquote 27,0,0,0,0 —>
BTTray.exe — компонент драйвера Bluetooth от Widcomm. Необходим для их работы.
p, blockquote 28,0,0,0,0 —>
csrss.exe — системный процесс Windows, обеспечивающий работу компонента «клиент/сервер». Не может быть отключен. Наиболее сильно подвержен заражению вирусов.
p, blockquote 29,0,0,0,0 —>
ctfmon.exe — системный процесс, отвечающий за языковую панель, индикатор, отображающий текущую раскладку клавиатуры и обеспечивающий поддержку других альтернативных методов ввода. Отключение этого процесса есстевстенно не рекомендуется.
p, blockquote 30,0,0,0,0 —>
dwm.exe — системный процесс Windows. Интегрирован в систему, начиная с Windows Vista и 7. Отвечает за графические эфекты рабочего стола, окон и меню, а также нормальное функционирование интерфейса «Aero».
p, blockquote 31,0,0,0,0 —>
explorer.exe — критический необходимый системный процесс проводника Windows, отвечающий за отображение рабочего стола и меню, возможность осуществления навигации пользователя. Не стоит его отключать.
p, blockquote 32,0,0,0,0 —>
issch.exe – процесс, позволяющий выполнять проверку обновлений в фоновом режиме стандартного инсталлятора Windows и других программ.
p, blockquote 33,0,0,0,0 —>
jusched.exe – процесс планировщика для автоматической проверки обновлений Java компонентов . Отключить автоматический запуск этого процесса можно путем выключения автоматической проверки обновлений в настройках Java (Пуск-Панель управления-Java).
p, blockquote 34,0,0,1,0 —>
lsass.exe – необходимый системный процесс, отвечающий за работу локального сервера проверки подлинности, политику безопасности и авторизации пользователей. Взаимодействует с службой winlogon. Не может быть завершен.
p, blockquote 35,0,0,0,0 —>
lsm.exe – системный процесс, управляющий удаленными подключениями к локальной системе. Не нужно отключать.
p, blockquote 36,0,0,0,0 —>
rthdcpl.exe – Процесс, обеспечивающий работу контрольной панели Realtek HD Audio. Иконка для этой программы находится в трее, рядом с часами. Завершение этого процесса может вызвать проблемы работы звука на системе.
p, blockquote 37,0,0,0,0 —>
rundll32.exe — Необходимй системный процесс Windows запускаемый утилитой командной строки. Позволяет запускать функции и команды DLL — файлов.
p, blockquote 38,0,0,0,0 —>
services.exe — важный системный процесс, отвечающий за за управление всеми системными службами.
p, blockquote 39,0,0,0,0 —>
smss.exe — необходимый системный процесс, отвечающий за запуск пользовательского сеанса, а также запуск процессов Winlogon и Csrss.exe. Завершать работу этого процесса нельзя.
p, blockquote 40,0,0,0,0 —>
spoolsv.exe — системный процесс. Отвечает за функции печати (принтер, факс и тд.).
p, blockquote 41,0,0,0,0 —>
svchost.exe — один из главных системных процессов, отвечающий за работу целого ряда сервисов и служб. Одновременно может работать несколько его копий, т.к. каждая содержит различные службы.
p, blockquote 42,0,0,0,0 —>
wininit.exe — необходимый системный процесс WIndows. ВЫполняет в фоновом режиме поддержку работы некоторых наиболее важных системных служб и программ, а также отвечает за своевременный запуск элементов автозагрузки.
p, blockquote 43,0,0,0,0 —>
winlogon.exe — Критически важный системный процесс. Отвечает за вход и выход пользователей в систему. Не может быть завершен.
p, blockquote 44,0,0,0,0 —>
wmiprvse.exe — системный процесс, один из компонентов Инструментария управления Windows. Отключение не рекомендуется.
p, blockquote 45,0,0,0,0 —> p, blockquote 46,0,0,0,1 —>