
- •Монитор процессов и потоков
- •Введение
- •1. Базовые функции
- •Краткие теоретические сведения
- •1.1. Получение списка процессов, выполняющихся в системе
- •1.1.1 Использование функций CreateToolHelp32Snapshot () и Process32xxxx()
- •1.1.2 Использование функций CreateToolHelp32Snapshot () и Thread32xxxx()
- •1.1.3 Использование функций CreateToolHelp32Snapshot () и Module32xxxx()
- •1.1.4 Использование функций CreateToolHelp32Snapshot () и Heap32Listxxxx()
- •1.2 Завершение выбранного процесса
- •1.3 Мониторинг процессов
- •2. Дополнительные функции
- •Краткие теоретические сведения
- •2.1 Получение дополнительной информации о процессах и потоках
- •Получение информации о времени выполнения процессов и потоков
- •Получение информации счетчиков ввода-вывода
- •Получение информации об используемой процессом памяти
- •Получение информации о загруженных драйверах
- •Методика выполнения
- •3. Отчет о выполненной контрольной работе
- •4. Контрольные вопросы
- •Библиографический список
Министерство транспорта Российской Федерации
Федеральное агентство железнодорожного транспорта
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«СамарскИЙ государственнЫЙ УНИВЕРСИТЕТ путей сообщения»
Кафедра информационных систем и телекоммуникаций
Монитор процессов и потоков
Методические указания
к выполнению контрольной работы
по дисциплинам «Системное программирование»
и «Системное программное обеспечение»
для студентов специальностей 230201 и 230400
«Информационные системы и технологии» заочной формы обучения
Составители: Е.А. Часовских
А.Е. Часовских
Самара
2011
УДК 004.451.2+004.45
Монитор процессов и потоков: методические указания к выполнению контрольной работы по дисциплинам «Системное программирование» и «Системное программное обеспечение» для студентов специальностей 230201 и 230400 заочной формы обучения [Текст] / составители: Е.А. Часовских, А.Е. Часовских. – Самара : СамГУПС, 2011. – 18 с.
Утверждены на заседании кафедры 6 сентября 2011 г., протокол № 1.
Печатаются по решению редакционно-издательского совета университета.
В данных методических указаниях рассмотрены вопросы мониторинга процессов в системе. Целью указаний является практическое знакомство студентов с методикой использования базовых функций для получения информации о процессах, потоках, модулях и кучах ОС Windows XP, а также методикой использования функций Win32 API для получения дополнительной информации о процессах, потоках, модулях и драйверах ОС Windows XP при выполнении контрольной работы по дисциплинам «Системное программирование» и «Системное программное обеспечение». Предназначены для студентов заочной формы обучения по специальностям 230201 и 230400 «Информационные системы и технологии»; а также могут быть полезны студентам других специальностей, аспирантам и преподавателям для самостоятельного изучения и получения практических навыков работы по монитору процессов и потоков.
Составители: Часовских Евгений Анатольевич
Часовских Алексей Евгеньевич
Рецензенты: кандидат технических наук, доцент кафедры «Автоматика, телемеханика
и связь на ж.д.т.» СамГУПС В.Г. Волик;
кандидат технических наук, доцент кафедры «Информационные системы и технологии» ПГУТИ А.С. Овсянников.
Редактор: А.Б. Иванова
Компьютерная верстка:
Подписано в печать Формат 60х90 1/16.
Бумага писчая. Печать оперативная. Усл. п.л.
Тираж 100 экз. Заказ № 241.
© Самарский государственный университет путей сообщения, 2011
Введение
Задача получения списка выполняющихся в системе процессов является одной из основных при выполнении мониторинга ресурсов как отдельного ПК, так и ЛВС в целом, поэтому для ее решения разработано значительное количество утилит, имеется встроенное системное средство – диспетчер задач.
Все перечисленные программные средства используют как функции Win32 API (Application Program Interface – прикладной программный интерфейс), так и функции еще одного базового интерфейса, называемого Native API (естественный API). Внешняя часть Native API пользовательского режима содержится в модуле ntdll.dll, «настоящий» интерфейс реализован в ntoskernel.exe – ядре операционной системы NT (NT operation system kernel). Функции Win32 API, как правило, обращаются к функциям Native API, отбрасывая часть полученной от них информации. Поэтому использование функций Native API позволяет получить, вообще говоря, более эффективное ПО.
К функциям Win32 API для получения информации о выполняющихся в системе процессах относятся функции CreateToolHelp32Snapshot(), Process32First(), Process32Next(), Thread32First(), Thread32Next(), Module32First(), Module32Next(), Heap32ListFirst(), Heap32ListNext() и некоторые другие. Самая известная из функций Native API для доступа к содержимому многих важных внутренних структур операционной системы, таких как списки процессов, потоков, дескрипторов, драйверов и т.п., – функция ntQuerySystemInformation () – вывод счетчика производительности.
Студенты заочной формы обучения выполняют контрольную работу. Для этого каждый студент получает у ведущего преподавателя карточку-задание, изображенную на рисунке 1.
Вариант №__ Вывести на форму список процессов с указанием приоритета. Список должен обновляться при нажатии на кнопку «Обновить». Для каждого прикладного процесса вывести время его старта и время работы в режиме пользователя. Предусмотреть возможность завершения выбранного из списка прикладного процесса по кнопке «Завершить». На форму выводить следующие статистические сведения:
|
Рис. 1. Карточка-задание на контрольную работу для студента