Перечислите известные вам средства управления процессами в ос windows

Работа по теме: ОСзаочники97версияMSO. Глава: Управление процессами в Windows. ВУЗ: ИНЭКА.

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

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

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

Все
версии Windows от 1.0 до 3.11 представляли
собой достаточно мощные многозадачные
системы с невытесняющей диспетчеризацией.
Версии, начиная с Windows
NT
и Windows
95, используют вытесняющую диспетчеризацию.

      1. Понятие объекта в Windows

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

Объекты
Windows
делятся на объекты ядра (KERNEL),
позволяющие управлять процессами,
объекты USER,
описывающие работу с окнами, и объекты
GDI,
задающие графические ресурсы Windows.
В данном курсе рассматриваются только
объекты ядра. Процессы, нити и открытые
файлы являются примерами объектов ядра.

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

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

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

Объект
существует до тех пор, пока не будут
закрыты все хэндлы, указывающие на него.

Соседние файлы в папке заочникиОС

  • #
  • #

Управление процессами в ОС Windows

Цель:

освоить управление процессами c помощью командами tasklist  и  taskkill

и через диспетчер задач.

Ход выполнения работы:

Для того чтобы просмотреть количество запущенных программ в операционной системе  windows xp/seven можно использовать программу

“Диспетчер задач”.

Диспетчер задач можно запустить  двумя способами.

1.Способ:

Нажав комбинацию кнопок Contr+Alt+Del.

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

2.Способ:

Запустить интепритатор командной строки нажав горячие клавиши Win+R или запустить программу через меню пуск – выполнить.

В появившимся окне написать CMD и нажать Enter 

После чего запустится командная строка.

В ней написать команду Tasklist  и нажать Enter.

Запустится “Диспетчер задач”

В нём мы можем увидеть сколько запущено процессов а также  на сколько загружен процессор и задействована ОЗУ нажав на вкладку быстродействие.

Удалить процесс можно набрав команду taskkill/?

Taskkill

Завершает одно или несколько заданий или процессов. Процессы могут быть уничтожены кодом процесса или именем образа. Синтаксис taskkill [/s компьютер] [/u доменпользователь [/p пароль]]] [/fi имя_фильтра] [/pid код_процесса]|[/im имя_образа] [/f][/t] Параметры

/s компьютер

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

/u доменпользователь

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

/p пароль

Определяет пароль учетной записи пользователя, заданной параметром /u.

/fi имя_фильтра

Задает типы процессов, которые следует завершить и не следует.

/pid код_процесса

Указывает код процесса, который необходимо завершить.

/im имя_образа

Указывает имя образа процесса, который необходимо завершить. Используйте подстановочный знак (*) для указания всех имен образа.

/f

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

/t

Задает завершение всех дочерних процессов вместе с родительским, такое действие обычно известно как уничтожение дерева.

/?

Отображает справку в командной строке.

Примечания

Подстановочный символ (*) принимается только при указании вместе с фильтрами.

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

Указание имени компьютера в качестве фильтра HOSTNAME приведет к завершению работы и остановке всех процессов.

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

Команда taskkill является заменой средству Kill.

Примеры :

Далее приведены примеры использования команды taskkill: taskkill /pid 1230 /pid 1241 /pid 1253

taskkill /f /fi «USERNAME eq NT AUTHORITYSYSTEM» /im notepad.exe

taskkill /s srvmain /f /im notepad.exe

taskkill /s srvmain /u maindomhiropln /p p@ssW23 /fi «IMAGENAME eq note*» /im *

taskkill /s srvmain /u maindomhiropln /fi «USERNAME ne NT*» /im *

taskkill /f /fi «PID ge 1000» /im *

Команда запуска быстродействия сразу taskmgr.exe

Завершения процесса

 tskill {код_процесса | имя_процесса} [/server:имя_сервера] [{/id:код_сеанса | /a}] [/v]

Параметры:

код_процесса

Отображает код завершаемого сеанса.

имя_процесса

Отображает имя завершаемого сеанса. Для задания этого аргумента можно использовать подстановочные символы.

/server:имя_сервера

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

/id:код_сеанса

Завершает процесс, запущенный в выбранном сеансе.

/a

Завершает процесс, запущенный во всех сеансах.

/v

Отображает сведения о выполненных действиях.

/?

Отображает справку в командной строке.

Примечания

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

При завершении всех запущенных процессов в сеансе он тоже завершается.

Список различных процессов

CSRSS.EXE

Процесс отвечает за окна консоли, за создание и удаление потоков, а также частично за работу 16-битной среды MS-DOS. Он относиться к подсистеме Win32 пользовательского режима (WIN32.SYS же относиться к ядру Kernel) и должен всегда выполняться.

EXPLORER.EXE

Пользовательская среда, содержащая такие компоненты, как Панель задач, Рабочий стол и тому подобное. Его практически всегда можно закрывать и снова открывать без каких-либо последствий.

INTERNAT.EXE

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

LSASS.EXE

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

MSTASK.EXE

Отвечает за службу планирования Schedule, которая предназначена для запуска различных приложений в определённое пользователем время.

SMSS.EXE

Диспетчер сеансов запускает высокоуровневые подсистемы и сервисы. Процесс отвечает за различные действия, например запуск Winlogon и Win32 процессов, а также за операции с системными переменными. Когда Smss определяет, что Winlogon или Csrss закрыты, он автоматически выключает систему.

SPOOLSV.EXE

Обеспечивает создание очереди на печать, временно сохраняя документы и факсы в памяти.

SVCHOST.EXE

Этот всеобъемлющий процесс служит хостингом для других процессов, запускаемых с помощью DLL. Поэтому иногда работают одновременно несколько Svhost. С помощью команды > можно вывести на экран все процессы, использующие Svchost.

SERVICES.EXE

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

SYSTEM

Выполняет все потоки ядра Kernel.

SYSTEM IDLE PROCESS

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

TASKMGR.EXE

Процесс диспетчера задач, закрывать который крайне не рекомендуется.

WINLOGON.EXE

Отвечает за управление процессами авторизации пользователей.

WINMGTM.EXE

Основной компонент клиентской службы Windows. Процесс запускается одновременно с первыми клиентскими приложениями и выполняется при любом запросе служб. В Windows XP процесс запускается как клиент процесса Svchost.

по материалам журнала NetWork

Их можно просмотреть следующим способ:

1.Нажмите на панели задач Windows кнопку Пуск и выберите пункт Выполнить.

2.В поле Открыть введите команду CMD и нажмите клавишу ВВОД.

3.Введите команду Tasklist /SVC и нажмите клавишу ВВОД.

Команда Tasklist выводит список активных процессов. Параметр /SVC используется для вывода списка активных служб в каждом процессе. Для получения дополнительных сведений о процессе введите следующую команду и нажмите клавишу ВВОД:

Tasklist /FI «PID eq идентификатор_процесса» (кавычки обязательны)

В приведенном ниже примере показан вывод команды Tasklist для двух экземпляров процесса Svchost.exe.

Задание:

  1. Запустить Калькулятор
  2. Посмотреть командой tasklist появился ли процесс calc.exe
  3. Запустить Regedit(пуск>выполнить>regedit)
  4. Посмотреть командой tasklist появился ли процесс regedit.exe
  5. “Убить” процесс regedit.exe(командой taskkill)
  6. Посмотреть реакцию системы

Работа операционной системы Windows основана на работе процессов. В этой статье разберём что такое Windows процессы, их свойства, состояния и другое.

Процессы

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

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

Windows процессы состоят из следующего:

  • Закрытое виртуальное адресное пространство, то есть выделенная для процесса часть оперативной памяти, которая называется виртуальной.
  • Исполняемая программа выполняя свой код, помещает его в виртуальную память.
  • Список открытых дескрипторов. Процесс может открывать или создавать объекты, например файлы или другие процессы. Эти объекты нумеруются, и их номера называют дескрипторами. Ссылаться на объект по дескриптору быстрее, чем по имени.
  • Контекст безопасности. Сюда входит пользователь процесса, группа, привилегии, сеанс и другое.
  • Идентификатор процесса, то есть его уникальный номер.
  • Программный поток (как минимум один или несколько). Чтобы процесс хоть что-то делал, в нем должен существовать программный поток. Если потока нет, значит что-то пошло не так, возможно процесс не смог корректно завершиться, или стартовать.

У процессов есть еще очень много свойств которые вы можете посмотреть в “Диспетчере задач” или “Process Explorer“.

Процесс может быть в различных состояниях:

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

В Windows существуют процессы трёх типов:

  • Приложения. Процессы запущенных приложений. У таких приложений есть окно на рабочем столе, которое вы можете свернуть, развернуть или закрыть.
  • Фоновые процессы. Такие процессы работают в фоне и не имеют окна. Некоторые процессы приложений становятся фоновыми, когда вы сворачиваете их в трей.
  • Процессы Windows. Процессы самой операционной системы, например “Диспетчер печати” или “Проводник”.

Дерево процессов

В Windows процессы знают только своих родителей, а более древних предков не знают.

Например у нас есть такое дерево процессов:

Процесс_1
|- Процесс_2
  |- Процесс_3

Если мы завершим дерево процессов “Процесс_1“, то завершатся все процессы. Потому что “Процесс_1” знает про “Процесс_2“, а “Процесс_2” знает про “Процесс_3“.

Если мы вначале завершим “Процесс_2“, а затем завершаем дерево процессов “Процесс_1“, то завершится только “Процесс_1“, так как между “Процесс_1” и “Процесс_3” не останется связи.

Например, запустите командную строку и выполните команду title parrent чтобы изменить заголовок окна и start cmd чтобы запустить второе окно командной строки:

>title parrent
>start cmd

Измените заголовок второго окна на child и из него запустите программу paint:

>title child
>mspaint

В окне командной строке child введите команду exit, окно закроется а paint продолжит работать:

>exit

После этого на рабочем столе останутся два приложения, командная строка parrent и paint. При этом parrent будет являться как бы дедом для paint.

Запустите “Диспетчер задач”, на вкладке “Процессы” найдите процесс “Обработчик команд Windows”, разверните список и найдите “parrent“. Затем нажмите на нём правой копкой мыши и выберите “Подробно”:

Подробности по процессу parrent

Вы переключитесь на вкладку “Подробно” с выделенным процессом “cmd.exe“. Нажмите правой кнопкой по этому процессу и выберите «Завершить дерево процессов»:

Завершаем дерево процессов в диспетчере задач

Окно командной строки Parrent завершится а Paint останется работать. Так мы убедились что связи между первым процессом и его внуком нет, если у внука нет непосредственного родителя.

Потоки

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

Поток содержит:

  • два стека: для режима ядра и для пользовательского режима;
  • локальную памятью потока (TLS, Thread-Local Storage);
  • уникальный идентификатор потока (TID, Thread ID).

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

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

  • svchost.exe — главный процесс для служб Windows.
  • dllhost.exe — отвечает за обработку приложений, использующих динамически подключаемые библиотеки. Также отвечает за COM и .NET. И ещё управляет процессами IIS.
  • lsass.exe — отвечает за авторизацию локальных пользователей, попросту говоря без него вход в систему для локальных пользователей будет невозможен.

Волокна и планирование пользовательского режима

Потоки выполняются на центральном процессоре, а за их переключение отвечает планировщик ядра. В связи с тем что такое переключение это затратная операция. В Windows придумали два механизма для сокращения таких затрат: волокна (fibers) и планирование пользовательского режима (UMS, User Mode Scheduling).

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

Потоки UMS (User Mode Scheduling), доступные только в 64-разрядных версиях Windows, предоставляют все основные преимущества волокон при минимуме их недостатков. Потоки UMS обладают собственным состоянием ядра, поэтому они «видимы» для ядра, что позволяет нескольким потокам UMS совместно использовать процессор и конкурировать за него. Работает это следующим образом:

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

Задания

Задания Windows (Job) позволяют объединить несколько процессов в одну группу. Затем можно этой группой управлять:

  • устанавливать лимиты (на память или процессорное время) для группы процессов входящих в задание;
  • останавливать, приостанавливать, запускать такую группу процессов.

Посмотреть на задания можно с помощью Process Explorer.

Диспетчер задач

Чаще всего для получения информации о процессе мы используем «Диспетчер задач». Запустить его можно разными способами:

  • комбинацией клавиш Ctrl+Shift+Esc;
  • щелчком правой кнопкой мыши на панели задач и выборе «Диспетчер задач»;
  • нажатием клавиш Ctrl+Alt+Del и выборе «Диспетчер задач»;
  • запуском исполняемого файла C:Windowssystem32Taskmgr.exe.

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

Краткий режим Диспетчера задач

В полном режиме на вкладке «Процессы» виден список процессов и информация по ним. Чтобы получить больше информации можно нажать правой кнопкой мышки на заголовке и добавить столбцы:

Диспетчер задач - Добавление столбцов с информацией

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

На вкладке «Подробности» можно получить ещё больше информации о процессе. А также здесь также можно добавить колонки с дополнительной информацией, для этого нужно щелкнуть правой кнопкой мыши по заголовку и нажать «Выбрать столбцы»:

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

Process Explorer

Установка и подготовка к работе

Более подробную информацию о процессах и потоках можно получить с помощью программы Process Explorer из пакета Sysinternals. Его нужно скачать и запустить.

Некоторые возможности Process Explorer:

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

Запустите Process Explorer:

Process Explorer

Далее нужно настроить сервер символических имен. Если это не сделать, при двойном щелчке на процессе, на вкладке Threads (потоки) вы получите сообщение о том, что символические имена не настроены:

Предупреждение о не настроенных символических именах

Для начала скачиваем установщик «Пакет SDK для Windows 10».

Устанавливать все не нужно, достаточно при установки выбрать “Debugging Tools for Windows“:

Установка SDK для Windows 10

Для настройки символических имен перейдите в меню Options / Configure / Symbols. Введите путь к библиотеке Dbghelp.dll, которая находится внутри установленного «Пакета SDK для Windows 10» по умолчанию:

  • C:Program Files (x86)Windows Kits10Debuggersx64Dbghelp.dll.

И путь к серверу символической информации:

  • srv*C:Symbols*http://msdl.microsoft.com/download/symbols

При этом:

  • C:Symbols — путь к кеширующей локальной папке;
  • http://msdl.microsoft.com/download/symbols — сервер microsoft.

Настройка символический имен в Process Explorer

Некоторые основные настройки Process Explorer:

  • Смена цветового выделения – Options / Configure Colors.
  • Выбор колонок с информацией о процессах – View / Select Columns.
  • Сортировка процессов – нужно щелкнуть на заголовке столбца Process, при первом щелчке сортировка будет в алфавитном порядке, при втором в обратном порядке, при третьем вернется в вид дерева.
  • Просмотр только своих процессов – View / снять галочку Show Processes from All Users.
  • Настройка времени выделения только что запущенных процессов и завершённых – Options / Difference Highlight Duration / введите количество секунд.
  • Чтобы исследователь процесс подробнее можно дважды щелкнуть на нем и посмотреть информацию на различных вкладках.
  • Открыть нижнюю панель для просмотра открытых дескрипторов или библиотек – Vies / Show Lower Panel.

Потоки в Process Explorer

Потоки отдельного процесса можно увидеть в программе Process Explorer. Для этого нужно дважды кликнуть по процессу и в открывшемся окне перейти на вкладку «Threads»:

Process Explorer (потоки процесса)

В колонках видна информация по каждому потоку:

  • TID — идентификатор потока.
  • CPU — загрузка процессора.
  • Cycles Delta — общее количество циклов процессора, которое этот процесс использовал с момента последнего обновления работы Process Explorer. Скорость обновления программы можно настроить, указав например 5 минут.
  • Suspend Count — количество приостановок потока.
  • Service — название службы.
  • Start Address — начальный адрес процедуры, который начинает выполнение нового потока. Выводится в формате:«модуль!функция».

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

Изучение активности потока

  • Идентификатор потока.
  • Время начала работы потока.
  • Состояние потока.
  • Время выполнения в режиме ядра и в пользовательском режиме.
  • Счетчик переключения контекста для центрального процессора.
  • Количество циклов процессора.
  • Базовый приоритет.
  • Динамический приоритет (текущий).
  • Приоритет ввода / вывода.
  • Приоритет памяти.
  • Идеальный процессор (предпочтительный процессор).

Есть также кнопки:

Устройство Windows. Изучение активности потока, изображение №3

  • Stack — посмотреть стек процесса;
  • Module — посмотреть свойства запущенного исполняемого файла;
  • Permission — посмотреть права на поток;
  • Kill — завершить поток;
  • Suspend — приостановить поток.

Задания в Process Explorer

Process Explorer может выделить процессы, управляемые заданиями. Чтобы включить такое выделение откройте меню «Options» и выберите команду «Configure Colors», далее поставьте галочку «Jobs»:

Process Explorer — выделение заданий

Более того, страницы свойств таких процессов содержат дополнительную вкладку Job с информацией о самом объекте задания. Например приложение Skype работает со своими процессами как за заданием:

Process Explorer — вкладка Job

Запустите командную строку и введите команду:

>runas /user:<домен><пользователь> cmd

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

В новой командной строке запустите блокнот:

>notepad.exe

Далее запускаем Process Explorer и находим такое дерево процессов:

Устройство Windows. Задания, изображение №3

Как видим, процесс cmd и notepad это процессы связанные с каким-то заданием. Если дважды кликнуть по любому из этих процессов и перейти на вкладку Job, то мы увидим следующее:

Process Explorer — вкладка Job

Тут видно что эти два процесса работают в рамках одного задания.

Вернуться к оглавлению

Сводка

Процессы Windows

Имя статьи

Процессы Windows

Описание

Работа операционной системы Windows основана на работе процессов. В этой статье разберём что такое Windows процессы, их свойства, состояния и другое


Подборка по базе: Социология управления — Тест.doc, Шишкина реферат.docx, Темы рефератов сем2.docx, гигиена реферат.docx, Мильдзихова А.Ю, Услуги в ГП реферат.doc, Иновации в туризме реферат.docx, Практическое задание 3 Документационное обеспечение управления.d, Аттестация это является одним из главных нововведений в сист, Ответы. Теория и механизмы современного государственного управле, ИНОСТРАННЫЙ ЯЗЫК В СФЕРЕ ГОСУДАРСТВЕННОГО УПРАВЛЕНИЯ.docx


Кафедра информатики

Реферат

Средства управления процессами в ОС Windows

Содержание

I. Операционная система как система управления ресурсами и процессами 2

II. Управление процессами в ОС Windows 6

III. Диспетчер задач 9

Литература 11

I. Операционная система как система управления ресурсами и процессами

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

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

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

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

ВЫПОЛНЕНИЕ — активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

ОЖИДАНИЕ — пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

ГОТОВНОСТЬ — также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе. Типичный граф состояний процесса показан на рисунке 1.

В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ — несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно «вытеснен» из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.

Рис. 1. Граф состояний процесса в многозадачной среде

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

II. Управление процессами в ОС Windows

Процесс в ОС Windows состоит из следующих компонентов:

  • Структура данных, содержащая всю информацию о процессе, в том числе список открытых дескрипторов различных системных ресурсов, уникальный идентификатор процесса, различную статистическую информацию и т.д.;
  • Адресное пространство — диапазон адресов виртуальной памяти, которым может пользоваться процесс;
  • Исполняемая программа и данные, проецируемые на виртуальное адресное пространство процесса.

Новые процессы создаются при помощи функции Win32 API (Application Programming Interface – интерфейс прикладного программирования, или набор функций, которые операционная система предоставляет программисту) CreateProcessWithLogonW и происходит в несколько этапов:

  • открывается файл образа (ЕХЕ), который будет выполняться в процессе. Если исполняемый файл не является Win32 приложением, то ищется образ поддержки (support image) для запуска этой программы. Например, если исполняется файл с расширением .bat, запускается cmd.exe и т.п.
  • Создается объект Win32 «процесс».
  • Создается первичный поток (стек, контекст и объект «поток»).
  • Подсистема Win32 уведомляется о создании нового процесса и потока.
  • Начинается выполнение первичного потока.
  • В контексте нового процесса и потока инициализируется адресное пространство (например, загружаются требуемые DLL) и начинается выполнение программы.

У этой функции 10 параметров, каждый из которых может задаваться в различных вариантах:

1. Указатель на имя исполняемого файла.

2. Сама командная строка (непроанализированная).

3. Указатель на описатель защиты процесса.

4. Указатель на описатель защиты для начального потока.

5. Бит, управляющий наследованием дескрипторов.

6. Разнообразные флаги (например, режим ошибки, приоритет, отладка, консоли).

7. Указатель на строки окружения.

8. Указатель на имя текущего рабочего каталога нового процесса.

9. Указатель на структуру, описывающую начальное окно на экране.

10. Указатель на структуру, возвращающую вызывающему процессу 18 значений.
Создание потоков

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

Поток завершается если

— Функция потока возвращает управление.

— Поток самоуничтожается, вызвав ExitThread.

— Другой поток данного или стороннего процесса вызывает TerminateThread.

— Завершается процесс, содержащий данный поток.

Завершение процессов

Функция ExitProcess – завершить текущий процесс и все его потоки

Процесс завершается если:

— Входная функция первичного потока возвратила управление.

— Один из потоков процесса вызвал функцию ExitProcess.

— Поток другого процесса вызвал функцию TerminateProcess.

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

III. Диспетчер задач

Task Manager (Диспетчер задач) — это один из самых мощных и удобных инструментов в WinNT/2000/XP/2003/Vista, предназначенных для управления процессами. Вызывается он либо Ctrl+Shift+Esc, либо Ctrl+Alt+Del, либо выбором в меню, появляющимся после нажатия правой кнопкой на панели задач. C помощью этой утилиты можно в режиме реального времени отслеживать выполняющиеся приложения и запущенные процессы, оценивать загруженность системных ресурсов компьютера и использование сети.

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

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

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

Для каждого процесса выводятся его параметры: имя образа (как правило совпадает с именем запускаемого файла), имя пользователя (от ч ьего имени был запущен процесс), загрузка этим процессом центрального процессора (колонка ЦП) и объем занимаемой им оперативной памяти.

В ряде случаев может потребоваться вручную завершить некий процесс. Это можно сделать с помощью кнопки Завершить процесс. Кроме этого, с любым из этих процессов можно произвести вполне определённые действия. Для этого надо просто нажать на нём правой кнопкой мыши, появится контекстное меню, через которое можно закончить, «убить» процесс (Завершить процесс), можно убить сам процесс, и все остальные, которые он «породил» (Завершить дерево процессов). Можно выставить приоритет процессу, от высшего (Реального времени) до самого низкого (Низкий). Если на машине установлено два процессора и многопроцессорное ядро, то в этом меню появляется ещё один пункт — Задать соответствие, который позволяет перевести процесс на другой процессор — Cpu 0, Cpu1, и так далее до Cpu31.

Столбец Имя пользователя – показывает для каждого процесса данные о том, каким пользователем он запущен. Процессы с именами пользователя SYSTEM, LOCAL SERVICE, NETWORK SERVICE запускаются операционной системой и являются самыми важными (они заботятся о корректном распознавании устройств, отвечают за работу брандмауэра и управляют передачей данных через Интернет). Другие процессы отображаются под именем пользователя, зашедшего в систему. Это означает, что они относятся к программе, которая была запущена этим пользователем, например к текстовому процессору Word или ICQ-клиенту.

Столбец ЦП показывает, насколько процессор загружен конкретным процессом. Нормальной величиной для большинства процессов является загрузка менее 20%. Если же процессы загружают ЦП на 50–99%, то за ними скрываются или очень ресурсоемкие программы или программы-вредители.

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

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

Третья вкладка Быстродействие. На этой закладке показывается информация о загрузке процессора(ов) в реальном времени, показывается загрузка физической памяти, причём показано сколько занято/свободно оперативной памяти. Кроме этого, там же даётся другая дополнительная информация, например, количество нитей и процессов, исполняемых сейчас на машине.

Литература

  1. Андреев А.Г. и др. Microsoft Windows XP: Home Edition и Professional. Русские версии/ Под общ. ред. А.Н.Чекмарева. –СПб.: БХВ-Петербург,2003
  2. Таненбаум Э. Современные операционные системы. 2-е изд. – СПб.: Питер, 2002.
  3. Фигурнов В.Э. IBM PC для пользователя// — Уфа: НПО «Информатика и компьютеры», 1993.

Понравилась статья? Поделить с друзьями:
  • Перечислите известные вам программы установки по используемые в семействе windows
  • Переход на другой диск в командной строке windows 10
  • Перечислите виды окон используемых в windows
  • Переход на веб страницу отменен как убрать windows 10
  • Перечислите виды меню в операционной системе windows