Рефетека.ру / Информатика и програм-ие

Лабораторная работа: Свойства host-процессов

Мордовский государственный университет им. Н.П.Огарева

Светотехнический университет

Кафедра светотехники


Отчет по лабораторной работе №2

по курсу "ОФОС"


Выполнил: студент 3205 гр

Завырылин Д.О.

Проверил: Ивлиев С.Н.


Саранск 2010


Теоретическая часть


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

закрытое виртуальное адресное пространство — диапазон адресов виртуальной памяти, которым может пользоваться процесс;

исполняемую программу — начальный код и данные, проецируемые на виртуальное адресное пространство процесса;

список открытых описателей (handles) различных системных ресурсов — семафоров, коммуникационных портов, файлов и других объектов, доступных всем потокам в данном процессе;

контекст защиты (security context), называемый маркером доступа (access token) и идентифицирующий пользователя, группы безопасности и привилегии, сопоставленные с процессом;

уникальный идентификатор процесса (во внутрисистемной терминологии называемый идентификатором клиента);

минимум один поток.

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

Поток включает следующие наиболее важные элементы:

содержимое набора регистров процессора, отражающих состояние процессора;

два стека, один из которых используется потоком при выполнении в режиме ядра, а другой — в пользовательском режиме;

закрытую область памяти, называемую локальной памятью потока (thread-local storage, TLS) и используемую подсистемами, библиотеками исполняющих систем (runtime libraries) и DLL;

уникальный идентификатор потока (во внутрисистемной терминологии также называемый идентификатором клиента: идентификаторы процессов и потоков генерируются из одного пространства имен и никогда не перекрываются);

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

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


Практические задания


Задание 1. Просмотр состояния процессов через диспетчер задач.


Просмотр и анализ взаимосвязей процессов и потоков.

Согласно первому заданию, я запустил диспетчер задач. Переключился на закладку Процессы. В меню Вид выбрал пункт Выбрать столбцы… и указал столбцы согласно (См.Рисунок 1).


Свойства host-процессовСвойства host-процессов

Рисунок 1. Выбор столбцов диспетчера задач


Потом определил сколько процессов запущено системой. Для этого я перешел на закладку Быстродействие и в меню Вид выбрал пункт Загрузка ЦП. (см. рис.2) Из рисунка мы видим что системой запущено 53 процесса, загрузка ЦП колеблется от 3-5%, файл подкачки загружен на 931 МБ.


Свойства host-процессов

Рисунок 2. Диспетчер задач. Вкладка "Быстродействие"


Теперь запускаю приложение Paint. Загрузка ЦП колеблется в пределах 1-4%, файл подкачки загрузился на 942 МБ. Если сравнить объёмы используемого файла подкачки и доступной физической памяти, то можно сделать вывод что в сумме они дают общий объем физической памяти. (см. рис.3).


Свойства host-процессов

Рисунок 3. Результат после запуска приложения Paint


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

Согласно следующему заданию я переключился на закладку Быстродействие и в меню Вид выбрал пункт Вывод времени ядра (см. Рисунок 4).

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


Свойства host-процессов

Рисунок 4. Состояние системы при прокрутке страниц


Задание 2. Просмотр сведений о поддержке многопроцессорных систем.


Согласно следующему заданию я открыл диспетчер устройств. В списке устройств раскрыл узел Компьютер. В окне свойств перешел на закладку Драйвер и с помощью кнопки Сведения просмотрел сведения о файлах драйверов (см. Рисунок 5).


Свойства host-процессов

Рисунок 5. Сведения о файлах поддержки многопроцессорных систем


Задание 3. Просмотр дерева процессов с помощью средства Tlist из набора Debugging Tools for Windows (x86).


В диалоговом окне Выполнить я набрал команду cmd (См. Рисунок 6), после чего у меня запустилось окно командной строки.


Свойства host-процессов

Рисунок 6. Запуск окна командной строки


1. В командной строке я ввел команду для поиска средств отладки:


Path c:\program files\Debugging Tools for Windows (x86).


2. Далее введите команду tlist –t получите листинг процессов.

Задание 5. Изучение отношения процессов родитель-потомок.

1. Согласно заданию я открыл окно командной строки.

2. Потом набрал start cmd для запуска второго окна командной строки.


Свойства host-процессов

Рисунок 7. Запуск окон командной строки


3. Далее я открыл диспетчер задач.

4. Переключился на второе окно командной строки.

5. Ввел mspaint для запуска Microsoft Paint.


Свойства host-процессов

Рисунок 8. Запуск приложения Paint


6. Потом я выбрал второе окно командной строки.

7. Ввел команду exit. тем самым завершив работу второго окна.

8. Потом переключился в диспетчер задач. Открыл его вкладку Приложения. Щелкнул правой кнопкой мыши задачу Командная строка (cmd.exe) и выбрал Перейти к процессам.


Свойства host-процессов Свойства host-процессов

Рисунок 9. Диспетчер задач. Переход к процессу cmd.exe


11. Щелкните процесс Cmd.exe, выделенный серым цветом.

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

13. В окне Предупреждение диспетчера задач щелкните кнопку Да.


Свойства host-процессов

Рисунок 10. Диспетчер задач. Переход к процессу cmd.exe


Первое окно командной строки исчезнет, но окно Paint по прежнему работает.


Задание 4. Определение взаимосвязей системного потока и драйвера устройств.


Для просмотра процессов внутри системы и связанных с ними потоков воспользуемся утилитой Process Explorer. После загрузки утилиты в окне я выбрал системный процесс System (См. Рисунок 11) и открыл свойства процесса, дважды щелкнув по строке System.


Свойства host-процессов

Рисунок 11. Основное окно Process Explorer


Потом перешел на закладку Threads (потоки). (См.Рисунок 12)


Свойства host-процессов

Рисунок 12. Просмотр потоков процесса


В данной вкладке можно просмотреть параметры потоков, нажав кнопку Module. Информация о выбранном драйвере отражается на закладках Общие (См. Рисунок 13.)


Свойства host-процессов

Рисунок 13. Свойства драйвера ntdll.dll


Таким образом можно описать назначение каждого процесса, вызываемого системным процессом System. А также можно изучить свойства всех системных host-процессов и сделать выводы в интересах каких сервисов запущен каждый host-процесс.

Рефетека ру refoteka@gmail.com