Процессы в Windows
Для того чтобы запустить какую-либо существующую программу в ОС Windows используется стандартный системный вызов CreateProcess. Поля этой структуры содержат заголовок консоли, начальный размер и позицию нового окна, перенаправление стандартных потоков ввода/вывода. Поле dwFlags этой структуры содержит флаги, установленные в соответствии с тем, какие из остальных полей структуры вы хотели бы использовать при запуске новой программы. Например, если сбросить флаг STARTFUSEPOSITION, поля dwX и dwY структуры STARTUPINFO, содержащие координаты основного окна запускаемой программы, будут проигнорированы. Часто нет необходимости использовать какие-либо из этих полей. В этом случае следует передать функции CreateProcess корректный указатель на пустую структуру STARTUPINFO.
Параметр dwCreationFlags используется для установки свойств нового процесса (например, для создания потока с новой консолью используется CREATENEWCONSOLE), а также управляет классом приоритета нового процесса. В ОС Windows определены следующие классы приоритетов процессов: • HIGHPRIORITYCLASS - указывает процесс, который исполняет критические по времени задачи, которые должны быть выполнены практически немедленно. Потоки процесса такого приоритета выгружают потоки нормальноприоритетных или низко-приоритетных процессов. Пример - Windows Task List (Список задач), который должен появиться быстро, независимо от загрузки операционной системы. Необходимо проявлять осторожность при использовании приоритета HIGH PRIORITY CLASS, потому что такие процессы ограниченные возможностями процессора могут использовать почти все доступное процессорное время, что значительно замедлит выполнение остальных задач. • NORMALPRIORITYCLASS - указывает нормальный процесс без специальных потребностей планирования. • REALTIME PRIORITY CLASS - указывает процесс, который имеет самый высокий возможный приоритет. Потоки процесса такого класса приоритета (потоки реального времени) выгружают потоки всех других процессов, включая процессы операционной системы, выполняющие важные задачи. Такой класс приоритета используется ТОЛЬКО для создания приложений работающих с аппаратурой, в случае если время реакции является критичным.
У многих пользователей windows xp живет своей собственной жизнью, и их мало интересует, какие скрытые процессы в ней запущены. А между тем есть ли смысл в фоновой программе или сервисе, если вы его не используете? Зачем тратить на него процессорное время и память? Может, стоит поинтересоваться, не запущен ли на вашем пк новый троян или spyware? Как вообще разобраться, что именно грузит систему на 100%?
Процессом обычно называют экземпляр выполняемой программы.
Хотя на первый взгляд кажется, что программа и процесс понятия практически одинаковые, они фундаментально отличаются друг от друга. Программа представляет собой статический набор команд, а процесс это набор ресурсов и данных, использующихся при выполнении программы.
У системы приоритетов процессов собственно сама иерархичность и является основным плюсом. Прописав какие процессы должны выполняться первую очередь, а какие во вторую и последующую очереди, легко выделить в особую группу такие, которые являются жизненно необходимыми для работы всего компьютера в целом. Наглядный тому пример - вызов Диспетчера задач. Благодаря этой задаче можно снять с выполнения зависшие процессы или же вызвать через командную строку другие, более важные процессы.
Раз уж "винда" - многозадачная система, то нет ничего сверхъестественного в том, что некоторые процессы должны выполняться привилегировано...
Процесс Java Quick Starter (JQS) сокращает время первоначального запуска для большинства апплетов и приложений Java. JQS по умолчанию включен в операционных системах Windows XP и Windows 2000, но он не требуется в Windows Vista, поскольку в Vista имеются собственные механизмы предварительной загрузки. Для ускорения загрузки в фоновом режиме запускается процесс jqs.exe. jqs.exe загрузится после перезапуска Windows.