Монитор процессов и потоков
Автор: oberklock • Декабрь 23, 2022 • Практическая работа • 853 Слов (4 Страниц) • 141 Просмотры
[pic 1]
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«МИРЭА – Российский технологический университет» РТУ МИРЭА
РТУ МИРЭА
Институт кибербезопасности и цифровых технологий
Кафедра КБ-1 «Защита информации»
Дисциплина: «Практика(2 семестр)»
Отчет по практической работе
Тема: «Монитор процессов и потоков»
Выполнил:
Студент группы: БАСО-05-19
Фролов Владимир Евгеньевич
Проверил: Карамышева Е.О. |
Москва 2022
Ход практической работы:
- Практическая работа на windows
- Изучение работы с диспетчером задач.
Для запуска диспетчера задач можно использовать комбинацию клавиш “ctrl+shift+esc”. Поскольку практическая работа выполняется в операционной системе “windows 10”, вместо столбца тип используется столбец имени, отсортировав по которому можно увидеть отдельно процессы, относящиеся к приложениям, фоновым процессам, а также процессы windows.
[pic 2]
[pic 3]
- Согласно второму пункту, перейдём во вкладку
производительность и мы увидим, что запущено 169 процессов и 1944 потока.
[pic 4]
- На данный момент запущены 4 приложения: google chrome,
Microsoft word, диспетчер задач, набросок на фрагменте экрана.
- Для подсчета работающих служб выгрузим список всех служб на
рабочий стол и с помощью поиска подсчитаем все строчки, где есть фраза “выполняется”. Суммарно 104
[pic 5][pic 6]
- На момент выполнения практической работы выполняется 178 процессов и загруженность процессора варьируется от 2% до 9%. Объём операционной памяти выделено 18.9 ГБ, а используется 4 ГБ.
[pic 7]
- Для выполнения задачи запустим лаунчер игры, вследствии чего диспетчер задач показал 186 процессов и был загружен почти на 85%
[pic 8]
- После выполнения команды tasklist мы видим следующий ответ:
[pic 9]
- Для вывода активных служб введем команду tasklist /SVC.
[pic 10]
- Практическая работа на Linux
- Изучение работы с диспетчером задач.
Для практической работы развернем в virtual Box виртуальную машину на linux mint. Вместо диспетчера задач в линукс используется системный монитор.
[pic 11]
- Запущена лишь одна задача gnome-system-monitor
[pic 12]
- Для подсчета запущенных процессов используем команду top. Всего запущено 178 процессов и 424 потока.
[pic 13]
- Для работающих служб используем команду systemctl list-units --type service. И увидим, что запущено 50 служб.
[pic 14]
- На момент выполнения работы запущена только 1 программа, процессор загружен на 2%, выделено 4ГБ, а используется 1.8ГБ.
- Запустим Firefox, запустилось 187 процессов
[pic 15]
- Дополнительное задание.
[pic 16]
- Ответы на вопросы
- Атрибутами процесса являются метаданные о нем, в них входят: идентификатор процесса и родительского процесса, идентификатор пользователя и группы, идентификатор сессии, процессорное время и приоритет процесса.
- Самым распространенным средством взаимодействия процессов являются сокеты /sockets/. Программы подключаются к сокету и выдают запрос на привязку к нужному адресу. Затем данные передаются от одного сокета к другому в соответствии с указанным адресом. Сигнал информирует другой процесс о возникновении определенных условий внутри текущего процесса, требующих реакции текущего процесса. Многие программы обработки сигналов для анализа возникшей проблемы выводят дамп памяти. Каналы реализованы в двух классах. Первый из них создается с помощью системного вызова pipe(). При этом для обмена информацией между процессами инициализируется специальная структура в ядре. Вызывающему процессу два дескриптора файла, один - для чтения, а другой для записи информации. Затем, когда процесс порождает новый процесс, между двумя процессами открывается коммуникационный канал. Другим типом каналов являются именованные каналы. При их использовании с управляющей структурой в ядре связывается специальный каталог, через который два автономных процесса могут обмениваться данными. При этом, каждый процесс должен открыть канал в виде обычных файлов [ один - для чтения, другой - для записи ]. Затем операции ввода/вывода выполняются обычным образом.
- Процесс порождается с помощью системного вызова fork(). При этом вызове происходит проверка на наличие свободной памяти, доступной для размещения нового процесса. Если требуемая память доступна, то создается процесс-потомок текущего процесса, представляющий собой точную копию вызывающего процесса.
Процессы, выполняющие разные программы, образуются благодаря применению имеющихся в стандартной библиотеке Unix функций "семейства exec": execl, execlp, execle, execv, execve, execvp. Эти функции отличаются форматом вызова, но в конечном итоге делают одну и ту же вещь: замещают внутри текущего процесса исполняемый код на код, содержащийся в указанном файле. Файл может быть не только двоичным исполняемым файлом Linux, но и скриптом командного интерпретатора, и двоичным файлом другого формата [например, классом java, исполняемым файлом DOS ]
...