No Image

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

СОДЕРЖАНИЕ
0 просмотров
22 января 2020

Список всех выполняемых на компьютере программ можно просмотреть с помощью Диспетчера задач 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. В открывшемся окне смотрим компанию-производителя данного приложения:Дело в том, что практически любой процесс подписывается его разработчиком. А вот вирусные приложения как правило не подписаны.
В моем случае файл svchost.exe подписан компанией Microsoft Corporation и потому мы можем ему доверять.
3. Если выбранный процесс оказался никем не подписан или подписан какой-то странной компанией, то снова щелкаем правой клавишей по названию этого процесса и выбираем “Искать в Internet” – “Google” (интернет на компьютере при этом должен быть подключен).
4. Если на предложенных гуглом сайтах подтверждают, что данный процесс – вирусный, то необходимо перейти в папку этого процесса (для этого в Starter в контекстном меню выбираем пункт “Проводник в папку процесса”). Затем, предварительно завершив процесс, удаляем здесь файл этого процесса.
Если вы все таки сомневаетесь вирус это или нет (возможно вам не удалось посмотреть информацию о нем в Google в виду отсутствия интернета), то можете просто сменить расширение у данного файла (например, с .exe на .txt) и переместить его в другую папку.

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

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

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

Читайте также:  Эксель работа с массивами данных

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

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

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

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

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

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

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

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

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

Персональные инструменты

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

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

Операционная система контролирует следующую деятельность, связанную с процессами:

  1. создание и удаление процессов
  2. планирование процессов
  3. синхронизация процессов
  4. коммуникация процессов
  5. разрешение тупиковых ситуаций

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

Читайте также:  Таблица без записей существовать

Содержание

Создание процесса

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

  • При запуске ОС;
  • При появлении запроса на создание процесса.

Инициализация

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

В UNIX системах устанавливаются строгая иерархия процессов по принципу родитель потомок. Родитель имеет право контролировать работу потомка, приостанавливать или завершать его выполнение. Потомок не имеет никаких прав по отношению к родителям, «братьям», «дядям».

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

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

Порождение нового процесса

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

  1. Выделить процессу необходимые ресурсы (адресное пространство, файлы, устройство и т.д.);
  2. Произвести инициализацию этих ресурсов (загрузить выполняемую программу в ОП, инициализировать первое начальное значение регистров и стеков, открыть файлы и т.д.);
  3. Занести всю необходимую информацию в специальную таблицу, описывающую процессу в системе;
  4. Передать управление новому процессу.

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

Планирование процессов

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

Для всех ОС соблюдается следующие принципы планирования:

  1. Предоставление каждому процессу справедливого (одинакового) количество процессорного времени.
  2. Производится принудительное выполнение политики приоритетов выполняющихся процессов.
  3. Планирование производится таким образом чтобы поддерживался максимальный баланс занятости системы. Например: в очереди на выполнение имеются 4 процесса, 2 из которых требуют значительного количество работы устройств ввода вывода и малого количество процессорного времени, а 2 других процесса требуют большого количество процессорного времени и малого времени работы устройств ввода вывода. Все процессы будут выполнятся значительно скорее если они будут запускаться попарно: процесс требующий большого количество работы устройств ввода вывода и малого количество времени процессора, а так же процесс требующий большого количество процессорного времени и малого времени работы устройств ввода вывода.
Читайте также:  Смартфоны с кнопочной клавиатурой

Для ОС пакетной обработки данных кроме того используются следующие критерии планирования:

  1. Максимальная пропускная способность ЭВМ в целом.
  2. Максимальное использование процессора.
  3. Минимальное время выполнения одного задания (процесса).

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

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

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

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

Linux Процесс в ОС Linux может находиться в одном из следующих состояний:

R (running) — процесс исполняется или ожидает своей очереди;

D — непрерываемый сон (ожидает события);

S — прерываемый сон (ожидает определённого события или сигнала);

T — остановка — процесс приостановлен чем-либо;

Z (zombie) — процесс уже завершился, но ещё не передал родительскому процессу свой код возврата.

Взаимоблокировка процессов

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

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

В итоге ЭВМ нужно будет заново перезагружать. Для майнфрейма каждая перезагрузка аналогична потере нескольких миллионов долларов, такова цена за невыполненные вовремя различные запросы. Имеются различные способы выхода из блокировок:

  1. Снятие оператором выполняющихся процессов до тех пор, пока не исчезнет взаимоблокировка. Этот путь эффективен лишь в том случае, когда количество выполняющихся процессов не очень велико (не превышает 100). При большом количестве выполняющихся процессов этот путь чаще всего не помогает преодолеть блокировку.
  2. Перезагрузка системы этот путь преодоления блокировок наиболее радикальный, но и наиболее дорогой.
  3. Рестарт системы с так называемой контрольной точки.

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

Имеются два противоположных способа борьбы с взаимоблокировками:

  1. Полное игнорирование угроз возникновения взаимоблокировок.
  2. Построение такой ОС, которая просчитывает на несколько шагов вперед ситуацию, которая может возникнуть в ЭВМ после запуска определенного процесса. Такое построение ОС ведет к существенному усложнению ее структуры, однако не решает проблемы на 100%, так как любая сложная программа имеет большое количество не выявленных ошибок.

На построение ОС безопасных по отношению к взаимоблокировкам идут лишь в некоторых случаях, в которых возникновение блокировок может привести к катастрофическим последствиям. Например: на ЭВМ управляющих системами стратегических ракет и противоракетной обороны.

Игнорирование угрозы взаимоблокировок приводит к тому, что ОС плохо контролирует последовательность выделения ресурсов отдельным процессам, поэтому с течением времени неизбежно возникновение блокировки. Почти все ОС построены по такому принципу. На майнфреймах, при проектировании, такая структура ОС была принята , что при среднем количестве запросов на ЭВМ и большом объеме ее ресурсов возникновение блокировок было маловероятным. Затраты на написание сложной безопасной ОС представлялись проектировщиками гораздо больше чем экономические потери возникающие из-за редких возникновении взаимоблокировок. Однако с появлением вирусов и хакерских атак вероятность перегрузки ЭВМ и возникновение блокировок очень сильно возросла.

Комментировать
0 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector