Просмотр запущенного процесса



МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

 

РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

 

Кафедра защиты информации (КБ-1)

Методические указания к практическим занятиям и самостоятельной работе по дисциплине Организация ЭВМ и ВС для направления подготовки 10.05.03 «Информационная безопасность автоматизированных систем»

 

Москва 2019

1. Практическое занятие 2

Практическое занятие № 2 «Управление оперативной памятью и очистка остаточной информации»

Цель работы

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

- изучить оптимизацию оперативной памяти компьютера и ее очистку средствами Windows и сторонними приложениями.

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

Оперативное запоминающее устройство (оперативная память) – это важнейший компонент любого компьютера, который отвечает за его быстродействие. Чем больше оперативной памяти, тем лучше ПК себя ведет при работе с большим числом программ.

Динамическое выделение памяти в программах — GetMem(), FreeMem() и другие в Dephi, new и delete в C++ — в конечном счете реализуется обращением к функциям ОС управления памятью.

Функции ОС управления памятью используют для решения ряда задач.

1. Борьба с фрагментацией памяти. Несмотря на то, что механизмы борьбы с фрагментацией заложены в ядро ОС, бывает необходимо заранее резервировать крупные участки памяти под очень большие объекты или под многочисленные мелкие.

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

3. Задание специальных свойств областей памяти: защита от чтения и записи, настройка кэширования операционной системой и т. п. Web-браузер, например, может хранить введенный на сайте пароль в защищенной области памяти, чтобы программы-шпионы не могли его считать.

Зачем чистить оперативную память?

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

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

Варианты задания и указания к их выполнению:

1. Задание на практическую работу. Использование виртуальной памяти и её фрагментация

Указания к выполнению задания 1

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

Программа VMMap предназначена для наблюдения виртуального адресного пространства (ВАП) процесса. Перед началом анализа необходимо выбрать процесс. Среды разработки (Delphi, Code::Blocks и т. п.) запускают программы как свои дочерние процессы, что не подходит для VMMap. Поэтому анализируемые программы следует запускать из «Проводника».

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

Фрагментацию памяти удобно наблюдать через Fragmentation View (пункт меню View → Fragmentation View). Ползунок слева позволяет изменять масштаб. При щелчке мышью на область памяти она подсвечивается в списке внизу основного окна VMMap.

Механизм виртуальной памяти (virtual memory, ВП), или виртуального адресного пространства (virtual address space, ВАП), предназначен для того, чтобы позволить процессам использовать больше памяти, чем физический объем ОЗУ. Вместо физического адреса (ФА) ячейки ОЗУ операционная система предоставляет программе виртуальный адрес (ВА). Когда программа обращается по ВА, ОС при необходимости загружает необходимую область в ОЗУ и преобразует ВА в ФА для доступа к данным. Области ВП, которые не помещаются в ОЗУ, выгружаются временно на диск. Таким образом, в ОЗУ находится только рабочий набор (working set) активно используемых областей памяти, остальное размещается на диске, доступ к которому гораздо медленнее, однако размер существенно больше.

Все современные ОС общего назначения обладают механизмом ВП; в Windows каждому 32-битному процессу предоставляется 4 ГБ памяти, 2 ГБ из которых программа может использовать свободно. Для повышения производительности ВП выделяется страницами (4 КБ на платформе x86); то есть, даже когда программист выделяет 1 байт, ОС отводит под эту область (регион) не менее одной страницы. Работа с виртуальной памятью реализуется семейством функций Windows API; необходимые в данном практическом задании функции также рассмотрены. Современные ЭВМ включают специальное устройство — блок управления памятью (memory management unit, MMU), обычно в составе ЦП, которые преобразуют ВА в ФА аппаратно, значительно повышая производительность. Задача же операционной системы — подготовить для MMU таблицу страниц и поддерживать её актуальность.

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

Первое, что нужно сделать, запустив VMMap, – выбрать процесс для анализа. Если не указать процесс во входном файле или командной строке, VMMap откроет окно Select or Launch Process (Выбор или запуск процесса). На вкладке View a Running Process (Просмотр запущенного процесса) можно выбрать уже запущенный процесс, а с вкладки Launch and Trace a New Process (Запуск и отслеживание нового процесса) можно запустить новый процесс и следить за его распределениями памяти. Окно Select or Launch Process (Выбор или запуск процесса) можно открыть и позже, нажав Ctrl+P.

Просмотр запущенного процесса

Выберите процесс на вкладке View a Running Process (Просмотр запущенного процесса) (рис. 2) и щелкните OK. Чтобы быстро найти процесс по идентификатору (PID) или по использованию памяти, щелкните на любом заголовке столбца, чтобы отсортировать строки по этому столбцу. Доступны следующие столбцы: User (Пользователь), Private Bytes (Байты закрытой памяти), Working Set (Рабочий набор) и Architecture (Архитектура) (в последнем показано, является ли процесс 32-разрядным или 64-разряд-ным). Чтобы обновить список, щелкните кнопку Refresh (Обновить).

На вкладке View a Running Process (Просмотр запущенного процесса) перечислены только те процессы, которые VMMap может открыть. Если VMMap запущена без администраторских прав (включая привилегию Debug [Отладка]), список будет включать только процессы, запущенные тем же пользователем, что запустил VMMap, на том же или более низком уровне целостности (IL). В Windows Vista и выше можно перезапустить VMMap с повышенными правами, щелкнув кнопку Show All Processes (Показать все процессы) или выбрав команду меню File | Run As Administrator (Файл | Запустить от имени администратора).

В Windows с архитектурой x64 VMMap может анализировать 32- и 64-разрядные процессы. Для анализа 32-разрядных процессов VMMap запускает свою 32-разрядную версию и 64-разрядную для анализа 64-разрядных процессов. Если использовать параметр командной строки-64, 64-разрядная версия утилиты будет использоваться для анализа всех процессов.

Рисунок 2 – Окно Select or Launch Process со списком запущенных процессов


Дата добавления: 2019-11-16; просмотров: 163; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!