Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Моніторинг активності користувача в ОС Windows XP

Реферат Моніторинг активності користувача в ОС Windows XP





ільки фізична пам'ять (ОЗУ), але також пам'ять, резервируемая операційною системою на жорсткому диску. Цей вид пам'яті називається віртуальною пам'яттю і утворює файл підкачки. У міру необхідності операційна середу звертається до цього файлу, щоб помістити в нього поки непотрібні системі дані або навпаки вважати в ОЗУ вже потребовавшиеся. WinAPI надає спосіб роботи з файлами підкачки допомогою об'єкта файлового відображення.

Принцип файлового відображення є одним з основоположних принципів роботи з віртуальною пам'яттю в Windows. За допомогою техніки файлового відображення можна створити область пам'яті, яка при нестачі фізичної пам'яті буде скидатися не в файл підкачки, а в якій-небудь вказаний нами файл. Таким чином, при зміні пам'яті, виділеної і спроектованої за допомогою механізму відображення, вміст файлу теж буде змінено.

Для створення об'єкта файлового відображення необхідно використовувати WinAPI функцію CreateFileMapping. Вона має наступний формат:

CreateFileMapping (hFile, _ATTRIBUTES lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow,

LPCTSTR lpName);


Функція WinAPI OpenFileMapping відкриває існуючий об'єкт файлового відображення. Функція має наступний формат:

OpenFileMapping (

DWORD dwDesiredAccess, bInheritHandle, lpName);


Для проектування об'єкта файлового відображення на пам'ять необхідно використовувати WinAPI функцію MapViewOfFile. Вона має наступний формат:


LPVOID MapViewOfFile (

HANDLE hFileMappingObject,

DWORD dwDesiredAccess,

DWORD dwFileOffsetHigh, dwFileOffsetLow, dwNumberOfBytesToMap);


Функція WinAPI UnmapViewOfFile звільняє виділену пам'ять для об'єкта файлового відображення. Функція має наступний формат:

OOL UnmapViewOfFile (

LPVOID lpBaseAddress);


Для закриття об'єкта файлового відображення необхідно використовувати WinAPI функцію CloseHandle. Вона має наступний формат:


BOOL CloseHandle (

HANDLE hFileMapObj);


Для приміщення зібраної інформації в віртуальну пам'ять використовуємо функцію CopyMemory.


. 4 М'ютекс


Під час роботи моніторингу, DLL з фільтр-функцією проектується системою в адресний простір всіх GUI процесів, де фільтр-функції збирають відстежуємо інформацію активності користувача.

Після отримання інформації нам необхідно помістити її в буфер, організований у вигляді об'єкта файлового відображення. Але так як DLL спроектовані на адресні простори процесів, і в кожного з них свої системні потоки, то для виключення ситуації асинхронного доступу до буфера пам'яті необхідно використовувати обробник критичних секцій. Заміною оброблювача критичних секцій в Межпроцессорная масштабі є об'єкти взаємовиключення - м'ютекси.

М'ютекс - одномісний семафор, службовець для синхронізації одночасно виконуються потоків. М'ютекси можуть знаходитися в двох станах в захопленому і вільному. Також м'ютекси, як і будь-які інші об'єкти в Windows, можуть знаходитися в двох станах: сигнальному і несигнальному стані. Коли мьютекс захоплений яким-небудь потоком, він знаходиться в несигнальному стані, коли мьютекс вільний, він знаходиться в сигнальному стані.

Для роботи з м'ютексів в ОС Windows визначені WinAPI функції:

Функція CreateMutex викликається для створення мьютекса, її формат:


HANDLE CreateMutex (_ATTRIBUTES lpMutexAttributes, bInitialOwner, lpName);


Функція OpenMutex використовується для відкриття існуючого мьютекса, її формат:

OpenMutex (dwDesiredAccess, bInheritHandle, lpName);


Для звільнення мьютекса використана функція ReleaseMutex, її формат:


BOOL WINAPI ReleaseMutex (hMute);


Для здійснення ексклюзивного доступу до буфера використовуємо конструкцію:

();

//код працює з загальними даними ();


Функція WaitForSingleObject очікує, поки зазначений об'єкт знаходиться в несигнальному стані або поки не закінчиться час очікування, затримуючи при цьому виконання потоку в поточному процесі. При зміні об'єкта на сигнальний стан, вона отримує доступ до буферу і встановлює мьютекс в несигнальному стан. Функція має наступний формат:

WaitForSingleObject (hHand...


Назад | сторінка 9 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Інтернет-додаток файлового обміну з розмежуванням прав доступу
  • Реферат на тему: Теоретичні положення з програмування в інтерфейсі Windows Forms і застосува ...
  • Реферат на тему: Модернізація обчислювальної мережі в центральному офісі міжрегіональної гру ...
  • Реферат на тему: Технології створення новин: події, ідея, формат
  • Реферат на тему: Розробка файлового менеджера