Главная страница

Древовидная структура процессов в ОС Windows Объектная модель в ОС Windows. ЛР2. Лабораторная работа 1 Древовидная структура процессов в ос windows Объектная модель в ос windows по дисциплине Операционные системы


Скачать 115.96 Kb.
НазваниеЛабораторная работа 1 Древовидная структура процессов в ос windows Объектная модель в ос windows по дисциплине Операционные системы
АнкорДревовидная структура процессов в ОС Windows Объектная модель в ОС Windows
Дата19.12.2021
Размер115.96 Kb.
Формат файлаdocx
Имя файлаЛР2.docx
ТипЛабораторная работа
#309672

Санкт-Петербургский политехнический университет Петра Великого

Институт компьютерных наук и технологий

Кафедра «Компьютерные интеллектуальные технологии»

Лабораторная работа №1

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

Объектная модель в ОС Windows

по дисциплине «Операционные системы»

Выполнил

студент гр.03506/0 Е.Н. Мазур

<_________>

Руководитель

доцент, к.т.н. А.В. Сергеев

<_________>

«___» __________ 2019 г.

Санкт-Петербург

2019

Цель работы: Изучить древовидную структуру процессов в ОС Windows. Исследовать зависимость дочернего процесса от родительского. Рассмотрение особенностей реализации объектной модели в ОС Windows.


  1. При помощи утилиты Process Explorer (procexp.exe) исследуйте дерево процессов и постройте соответствующий граф. Так как полный граф получается большой, то на каждом уровне достаточно изобразить 4 процесса. На графе должны быть указаны наименования процессов, идентификаторы процессов и количество потоков в каждом процессе. Всего процессов в графе должно быть не менее 20.





System

PID: 4

Threads: 242

System Idle Process

PID: 0

Threads: 12

Memory Compression

PID: 2116

Threads: 46

smss.exe

PID: 500

Threads: 2




















Opera_crashreporter.exe

PID: 2512

Threads: 7

opera.exe

PID: 464

Threads: 26

Conhost.exe

PID: 11920

Threads: 2

NVIDIA Web Helper.exe

PID: 14752

Threads: 93

RAVCpl64.exe

PID: 3772

Threads: 7

SecurityHelpSystray.exe

PID: 9972

Threads: 1

explorer.exe

PID: 9960

Threads: 83

dwm.exe

PID: 18016

Threads: 22

fontdrvhost.exe

PID: 14308

Threads: 5

winlogon.exe

PID: 15624

Threads: 3

SefCharp.BrowserSubpprocess.exe

PID: 4216

Threads: 37

SefCharp.BrowserSubpprocess.exe

PID: 9064

Threads: 21

RazerCentral.exe

PID: 16620

Threads: 36

RazerCentralService.exe

PID: 3260

Threads: 22

dllchost.exe

PID: 1952

Threads: 5

svchost.exe

PID: 568

Threads: 12

services.exe

PID: 876

Threads: 8

wininit.exe

PID: 804

Threads: 1



    1. Запустите программу procexp.exe. Появится окно, разделённое на две части. В верхней части представлен список процессов. В нижней части находится список описателей объектов (handle) для процесса или список используемых dll в зависимости от настройки.

    2. Все процессы надо упорядочить в виде дерева для этого надо выбрать пункт меню View-Show Process Three. Если этот пункт меню не активный, то процессы уже представлены в виде дерева.

    3. Для определения потоков процесса надо выделить требуемый процесс и нажать правую кнопку мыши. В контекстном меню надо выбрать Properties и закладку Threads. На этой вкладке показаны стартовые адреса всех потоков процесса, а также их ID.

    4. В отчёте приведите описание любой системной службы, представленной на графе. Объясните для чего она нужна и особенности работы.


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


  1. Определение имён системных служб, использующих те или иные процессы. Требуется заполнить следующую таблицу.




Имя системной службы

Описание

Имя процесса

PID

Keylso

Изоляция ключей CNG

Isass.exe

888

EFS

Шифрованная файловая система

Isass.exe

888

SamSs

Диспетчер учетных записей безопасности

Isass.exe

888

VaultSvc

Диспетчер учетных данных

Isass.exe

888

WdNisSvc

Служба проверки сети антивирусной программы Microsoft Defender

NisServ.exe

22296

TrustedInstaller

Установщик модулей Windows

TrustedInstaller.exe

2792

DcomLaunch

Модуль запуска процессов DCOM-сервера

svchost.exe

604

PlugPlay

Plug and Play

svchost.exe

604

Power

Питание

svchost.exe

604

SystemEventsBroker

Брокер системных служб

svchost.exe

604




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

    2. Запустите диспетчер задач и выберите вкладку Службы. На вкладке представлен список служб и их описание.

    3. Используя PID, можно сопоставить процесс и службу, выполняющуюся в процессе. В таблицу требуется занести информацию о 10 системных службах.

    4. Как видно запущено несколько процессов svchost.exe. Каждый процесс svchost.exe содержит несколько системных служб. Объясните, что из себя представляет процесс svchost.exe, зачем он нужен? Почему один процесс содержит несколько системных служб?


svchost.exe это процесс, потоки которого оформлены в виде служб, загружаемых из dll библиотек. Сам процесс служит для запуска этих библиотек, соответственно, чем больше этих служб, тем больше копий этого процесса.



  1. Исследование связи родительских и дочерних процессов.

    1. Запустите окно командной строки cmd.exe.

    2. Измените заголовок окна на Parent, набрав команду title Parent.



    1. Из запущенного окна командной строки запустим ещё одно окно командной строки. Для этого наберите команду start cmd.

    2. Переименуйте новое окно, набрав команду title Child.





    1. Перейдите в «Диспетчер задач». Откройте вкладку «Процессы», если используется ОС Windows 10, или «Приложения», если используется Windows 7. Щёлкните правой кнопкой мыши на задаче Parent и выберите пункт «Подробно» ("Перейти к процессу"). Диспетчер задач Windows 3 10 не показывает имя окна в отличие от Windows 7. В этом случае следует учитывать, что процесс Parent располагается ниже Child в списке приложений.

    2. Щёлкните правой кнопкой мыши на процессе cmd.exe и выберите пункт "Завершить дерево процессов". Почему завершились оба процесса?


Оба процесса находятся в одно дереве процессов, поэтому закрытие процесса Parent привело к закрытию процесса Child.


    1. Запустим опять окно командной строки: Пуск – Выполнить – cmd.

    2. Повторите пункты 3.2 – 3.4.

    3. В окне Child запустите программу Paint, набрав mspaint.

    4. После запуска программы Microsoft Paint завершите работу окна Child. Для этого в окне Child надо набрать команду exit. Окно Child закрылось, а программа Paint продолжает работать. Почему?


Мы завершили сам процесс Child, а не дерево процессов, как было в предыдущем вопросе, поэтому закрылось только окно Child.


    1. Перейдите в «Диспетчер задач». Откройте вкладку «Процессы» («Приложения»). Щёлкните правой кнопкой мыши на задаче Parent и выберите пункт «Подробно» ("Перейти к процессу").

    2. Щёлкните правой кнопкой мыши на процессе cmd.exe и выберите пункт "Завершить дерево процессов". Почему программа Paint продолжила работу?


После закрытия процесса Child процесс Paint стал работать самостоятельно, отдельно от дерева процессов Parent. Поэтому завершения дерева процессов не привело к закрытию Paint.


  1. Исследование динамического приоритета дочерних процессов.

    1. Запустите окно командной строки cmd.exe.

    2. Измените приоритет процесса cmd.exe на Below Normal.

    3. Командой start cmd создайте дочерний процесс.

    4. Определите динамический приоритет дочернего процесса. Объясните получившийся результат.


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


    1. Закройте дочерний процесс, а приоритет родительского процесса измените на Above Normal.

    2. Командой start cmd создайте дочерний процесс.

    3. Определите динамический приоритет дочернего процесса. Объясните получившийся результат.


Приоритет дочернего процесса установился на Normal т.к. приоритет родительского процесса был Above Normal, а в таком случае приоритет не наследуется.


  1. Исследование объектов, принадлежащих процессу. Объекты, принадлежащие процессу, описываются дескрипторами или описателями (handles). Описатели каждого процесса представлены в нижнем окне утилиты Process Explorer.

    1. Запустите программу Microsoft Word.

    2. Найдите в Process Explorer процесс WINWORD.EXE. Определите общее количество объектов, принадлежащих данному процессу. Для этого надо выделить требуемый процесс и нажать правую кнопку мыши. В контекстном меню надо выбрать Properties и закладку Performans. Параметр Handles показывает число описателей. Каждый описатель определяет объект.


Процессу WINWORD.EXE принадлежит 1209 объектов.



    1. Определите количество разных типов объектов, принадлежащих процессу WINWORD.EXE.


В WINWORD.exe 11 различных типов объектов:

-WindowStation

-Thread

-Semaphore

-Section

-Mutant

-Key

-File

-Event

-Directory

-Desktop

-ALPC Port

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


Количество объектов увеличилось, появились новые типы объектов:

-Job

-Process

-Token

Появился объект типа File с именем открытого документа.


    1. Запустите программу Блокнот (Notepad.exe). Откройте текстовый файл. Определите, какие появились объекты типа File, связанные с открытым файлом. Почему отсутствует объект, связанный с открытым файлом?


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


написать администратору сайта