Web-орієнтована система для аналізу використання ресурсів комп’ютерної аудиторії студентами

Автор работы: Пользователь скрыл имя, 15 Мая 2013 в 05:41, магистерская работа

Описание

У результаті виконання магістерської роботи отримано наступні наукові та практичні результати:
вдосконалено методи для нагромадження і аналізу кількісних даних про використання комп’ютерних ресурсів, що на відміну від існуючих враховують тривалість інтерактивної взаємодії з користувачем.
розроблено Web-орієнтоване програмне забезпечення для аналізу і візуалізації даних про користування комп’ютерними ресурсами вищих навчальних закладів.

Работа состоит из  1 файл

MT_Кильнік_new.doc

— 1.31 Мб (Скачать документ)

 

 

 

Перевірка умови передачі параметра recategorize=1 здійснюється таким кодом:

<c:if test="${param.recategorize==1}">

<% ac.fillDB(); %>

<c:redirect url="soft_categorization.jsp" />

</c:if>

 

Коли параметр вибрано, шяхом натиску  на посилання „<a href = "?recategorize=1"> категоризувати наново </a>”, то система перенаправляє браузер та сторінку відображення категорій без параметра recategorize. Це зроблено з тією метою, щоб випадкове повторне завантаження браузером цієї сторінки не призвело до повторної категоризації із втратою даних категоризації, що, могли б, імовірно, за цей час бути внесеними через інші браузери.

Слід добавити також посилання, що асоційоване з кожним виконуваним  файлом, яке дозволило б обрати для нього нову категорію. Це буде здійснюватися також шляхом передачі методом GET параметра exeFile із значенням відповідного виконуваного файла.

Після виконання перелічених змін веб-орієнтована система після вибору пункту категоризації з меню рис. 3.3 виглядатиме так, як показана на рис.3.7.

 

Рисунок 3.7 – Вигляд сторінки категоризації ресурсів (прикладного ПЗ)

Передачу повідомлень між сторінкою  категоризації soft_categorization.jsp, сторінкою діалогової форми вибору категорії categorize.jsp та скриптом присвоєння категорії setCategory.jsp організовано за допомогою технології Java Beans, за допомогою коду:

<jsp:useBean id="app" class="ra.Application" scope="session" />

<jsp:setProperty name="app" property="*" />

Таким чином Bean app доступний в межах сесії роботи з веб-додатком, сесія зберігається до закриття браузера. Об’єкт арр містить властивості назви ресурсу (виконуваного файла) та його категорії. Поновлення категорії у базі даних, відповідно до значень атрибутів в арр відбувається за допомогою коду

<jsp:useBean id="ac" class="ra.ApplicationCollection" scope="request" />

<% ac.updateDB(app); %>

<c:redirect url="soft_categorization.jsp" />

Після виконання всіх перелічених  дій можна обирати категорію  ресурсу (прикладного ПЗ) в діалоговому  вікні рис. 3.8, обравши його у списку рис. 3.7.

Рисунок 3.8 – Діалогове вікно вибору категорії ресурсу

В результаті кожному ресурсу (прикладному  ПЗ) можна присвоїти категорію. Остаточно  список 3.7 після категоризації буде виглядати так, як показано на рис. 3.9.

 

Рисунок 3.9 – Список ресурсів після категоризації

 

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

3.3. Експериментальні дослідження  відлагодження системи в процесі  експлуатації

Основними даними, що свідчать про  надійність програмних продуктів є так звані пілот-експерименти, тобто експерименти довготривалої експлуатації програми в реальних умовах, у нашому випадку – комп’ютеризованих аудиторіях ВНЗ.

При дослідженні перших версій програмного продукту виявилося, що протягом п’яти діб експлуатації все працює стабільно, без збоїв. Проте об’єм вільної оперативної пам’яті зменшився до 80 Мегабайт, тоді як на початку завантаження комп’ютера об’єм вільної оперативної пам’яті складав 600 Мегабайт. Про це свідчить також різке зростання об’єму файла підкачки ОС, через що ОС Windows дала повідомлення про необхідність збільшення файла підкачки, див. рис. 3.10. У цьому повідомленні, між іншим, також зазначено, що протягом процесу збільшення об’єму файла підкачки, можуть виникнути помилки при користуванні системними викликами виділення пам’яті.

 

 

Рисунок 3.10 – Повідомлення про нестачу пам’яті в ОС Windows

 

При зменшенні кількості вільної  пам’яті менше 40 Мб спостережено помилки  у запуску віртуальної машини JAVA через відсутність достатнього об’єму пам’яті для створення хіпу.

При глибшому дослідженні було спостережено, що об’єм пам’яті, відведений під  системний кеш перевищив об’єм  в один гігабайт, а загальна кількість  відкритих в операційній системі  дескрипторів складає порядку 106. Тут слід зауважити, що у нормальних умовах кількість відкритих дескрипторів після завантаження ОС повинна бути порядку 103, див. рис. 3.11. Перевищення цього показника в тисячу разів повинне насторожити розробника програми, що повинна функціонувати протягом тривалого часу без перезавантаження комп’ютера.

Рисунок 3.11 – Завантаженість оперативної пам’яті на початку функціонування веб-орієнтованої системи

 

Вищезгаданий ріст кількості дескрипторів проілюстровано рис. 3.12, де їх кількість становить порядку 105 після функціонування комп’ютера протягом шести діб при відносно невеликій завантаженості (переважну більшість часу комп’ютер знаходився в режимі гібернації).

Рисунок 3.12 – Завантаженість оперативної пам’яті після тижневого використання веб-орієнтованої системи

Було висловлено припущення, що таке непомірне зростання об’єму системного кешу викликане великою кількістю відкритих дескрипторів, а наявність останньої – наслідок явища, що називається витоком дескрипторів (handle leak) [23]. Явище витоку дескрипторів може бути наслідком невірного коду закриття файла, або його повної відсутності. Ця явище повинне виникати в одній із програм ОС. Висловлено друге припущення, що, мабуть, це явище виникає в розроблюваній нами системі, оскільки раніше не спостерігалося. Для перевірки цього припущення було проведено додаткові експерименти за допомогою програми Марка Руссиновича „Process Explorer”.

Програма „Process Explorer” дозволяє виявити, що в той чи інший момент відбувається в ОС Windows, зокрема скільки дескрипторів відкрив той чи інший процес. Також вона дозволяє зупиняти і призупиняти виконання окремих потоків в процесах, змінювати пріоритет їхнього виконання, призначати на комп’ютерах з багатьма процесорами які потоки на якому процесорі повинні виконуватися.

В багатьох ситуаціях користувачеві важливо дізнатися чому сповільнилася робота комп’ютера під керуванням ОС Windows або у зв’язку з чим комп’ютер часто звертається до жорсткого диску. Причиною цього може бути як природня нестача ресурсів (швидкодії центрального процесора або об’єму оперативної пам’яті) так і ураження ОС шкідливими програмами, вірусами. В таких випадках може допомогти утиліта „Process Explorer”.

Утиліта „Process Explorer” може відображати багато показників функціонування процесів, їх можна переглядати встановлюючи відповідні поля в таблиці процесів (View->Select Columns). Обмін даними з файлами на жорсткому диску фіксується у показниках I/O History, I/O Delta Total Bytes, I/O Reads, І/О Writes. Робота з файлом підкачки віртуальної пам’яті фіксується у показниках Page Faults, Page Faults Delta. Кількість перемикань контексту центрального процесора фіксується у показниках Context Switches та Context Switch Delta.

Крім того, вибравши в списку процесів один процес і натиснувши <Ctrl>+<H>, є можливість переглянути які дескриптори (файли, об’єкти міжпроцесної взаємодії) відкриті у ньому. Натиском <Ctrl>+<D> можна переглянути використовувані процесом динамічні бібліотеки і файли, що відображаються в пам’ять. За допомогою <Ctrl>+<F> можна навіть знайти процес який відкрив той чи інший файл або використовує ту чи іншу бібліотеку. Наприклад ввівши в стрічку пошуку „\Device\TCP”, можна знайти список всіх процесів, що працюють з протоколом ТСР/ІР (тобто мережеві прикладні і системні програми).

Корисною функцією є пошук процесу, що відкрив те чи інше вікно, для того, щоб нею скористатися, необхідно „перетягнути” на бажане вікно кнопку-мішень з панелі інструментів Process Explorer.

Для аналізу роботи з пристроями та драйверами є спеціальні псевдопроцеси  Interrupts та DPCs. Надто великі значення показника використання процесора (CPU Usage) для цих процесів можуть свідчити про проблеми з пристроєм або драйвером. Кількість апаратних переривань можна аналізувати за допомогою показників Context Switches та Context Switch Delta.

Після проведення досліджень розроблюваної  програми за допомогою утиліти  Process Explorer підтвердилося, що в ній відбувається явище витоку дескрипторів, оскільки кількість відкритих дескрипторів кожну секунду збільшується на одиницю. Наступним кроком є виявлення місця, де відбувається цей витік, тобто де відсутній код закриття файла.

Розроблювана програма працює тільки з одиним файлом протоколу, тому кожен  раз відкриває один і той же файл, але, по всьому видно, що не закриває цей файл, що і виливається  у явище витоку дескрипторів. Для знаходження місця програми, де відбувається витік дескрипторів доцільно скористатися засобами відлагодження програм у середовищі MS VC++.

Висновки до розділу 3

  1. Для реалізації системної частини накопичення даних про користування комп’ютерними ресурсами використано інтерфейс прикладного програмування ОС Windows WIN32 API. Цей інтерфейс дозволяє отримувати спостереження з високою швидкістю, а отже витрачаючи невеликий об’єм ресурсів центрального процесора.
  2. Реалізацію прикладної частини аналізу використання ресурсів реалізовано на мові програмування Java з використанням технологій Java server pages (JSP) та Java Beans. Сервером баз даних виступає MYSQL. Ці технології дають достатньо високу швидкодію доступу до аналітичних даних і мають широкий потенціал криптозахисту.
  3. Дослідження системної та прикладної частин в так званому пілот-режимі функціонування в реальних умовах протягом місяця дозволило виявити і усунути численні приховані помилки. Таке відлагодження є вкрай необхідним при розробці великомасштабних проектів, які напрямлені на довготривале неперервне використання.

 

Висновки

У магістерській роботі розв’язано проблеми, актуальні для вищих навчальних закладів, а саме аналізу використання комп’ютерних ресурсів студентами в аудиторний час. При цьому отримано наступні результати:

  1. Розглянуто шляхи доступу користувачів до комп’ютерних ресурсів та проведено класифікацію типів комп’ютерних ресурсів аудиторії ВНЗ.
  2. Проведено аналіз проблем нагромадження спостережень про використання основних типів ресурсів комп’ютерної аудиторії.
  3. Проаналізовано функціональність існуючого програмного забезпечення для аналізу використання комп’ютерних ресурів. Виділено їх основні недоліки та запропоновано шляхи їх усунення у розроблюваному в магістерській роботі алгоритмічному і програмному забезпеченні.
  4. На основі теоретичних міркувань розроблено алгоритмічне забезпечення для нагромадження спостережень за динамікою використання комп’ютерних ресурсів аудиторії ВНЗ.
  5. На основі розробленого алгоритмічного забезпечення для нагромадження спостережень за використанням комп’ютерних ресурсів реалізовано дворівневу (клієнт-серверну) веб-орієнтовану систему, що дозволяє аналізувати динаміку використання ресурсів комп’ютеризованих аудиторій ВНЗ.
  6. За матеріалами магістерської роботи оформлено тези, які прийняті до опублікування в матеріалах незалежного інтернет-видання: [21], текст тез подано в додатку К.
  7. Розроблену веб-орієнтовану систему було випробувано в комп’ютерних аудиторіях ТНЕУ, а отримані результати впроваджено, див. додаток Л.

 

Перелік посилань

1.

Алексеев Д., Видревич Е„ Волков А. и др. Практика работы с QNХ. — М.: Ком  Бук. 2004. - 432 с.

2.

Алъбитц П., Ли К. DNS и ВIND. – 4-е изд. – М.: Символ-Плюс, 2004. – 696 с.

3.

Беляков М. И., Рабовер Ю. И., Фридман А. У. Мобильная операционная система. — М.: Радио и связь, 1991. — 208 с.

4.

Бэкон Дж., Харрис Т. Операционные системы. – К.: Издат. группа ВНV; СПб.: Питер, 2004. – 800 с.

5.

Вахалия Ю. UNIХ изнутри. – СПб.: Питер, 2003. – 844 с.

6.

Воеводин В. В., Воеводин Вл. В. Параллельные вычисления — СПб.: БХВ-Петербург, 2004. – 608 с.

7.

Гмурман В.Е. Теория вероятностей и  математическая статистика. – Изд. 4-е, доп. – М. : Высш. школа, 1972. – 368 с.

8.

Гордеев А. В.. Молчанов А. Ю. Системное  программное обеспечение. – СПб.: Питер, 2001. – 736 с.

9.

Дейтел Г. Введение в операционные системы. — М.: Мир, 1987. — Т. 1. — 359 с; Т. 2. – 398 с.

10.

Джонс Э., Оланд Дж. Программирование в сетях Мicrosoft Windows. — СПб.: Питер, 2001. – 608 с.

11.

Зима В., Молдовян А., Молдовян В. Безопасность глобальных сетевых технологий. – 2-е  изд. – СПб.: БХВ-Петербург, 2003. – 368 с.

12.

Зыль С. Операционная система реального  времени QNХ. От теории к практике. – 2-е изд. – СПб.: БХВ-Петербург, 2004. – 192 с.

13.

Иртегов Д. В. Введение в операционные системы.. — СПб.: БХВ-Петербург, 2002. — 624 с.

14.

Камер Д. Компьютерные сети и internet. Разработка приложений для internet. – М.: Вильяме, 2002. – 640 с.

15.

Келътон В., Лоу А. Имитационное моделирование. — 3-е изд. — К.: Издат. группа ВНV; СПб.: Питер, 2004. – 847 с.

16.

Керниган Б., Ритчи Д. Язык программирования Си / Брайан Керниган, Деннис Ритчи. – "Невский  Диалект", 2000.

17.

Кокорева О. Реестр МS Windows Servеr 2003. – СПб.: БХВ-Петербург, 2003. – 640 с.

18.

Корнішко Т., Мельник А., Мельник  В. Алторитми та процесори симетричного блокового шифрування. – Львів: БаК, 2003. – 168 с.

19.

Костер X. Основы Windows NT и NТFS. — М.: Русская  Редакция, 1996. — 440 с.

20.

Крюков В. А. Разработка параллельных программ для вычислительных кластеров  и сетей. — М.: Ин-т прикладной математики им. М. В. Келдыша РАН, 2002.

21.

Піговський Ю. Р. Визначення назви виконуваного файлу активного вікна засобами Win32 API / Ю. Р. Піговський, І. Ф. Кильнік // Programming for the masses. – 2011. – № 1. [Електронний ресурс]. – Режим доступу http://www.programmingforthemasses.ho.ua

22.

Поль А. Р. J2EE. Разработка бизнес-приложений: пер. с англ. / Аллен Р. Поль и др. – СПб.: ООО «ДиаСофтЮП», 2002. – 736 с.

23.

Руссинович М. Внутренне устройство Microsoft Windows: Windows Server 2003, Windows XP и Windows 2000. Мастер-класс. / Марк Руссинович и Девид Соломон. – Пер. с англ. – 4-е изд. – М.: Издательско-торговый дом «Русская редакция»; СПб.: Питер, 2005. – 992 с.

24.

Седжвик Р. Фундаментальные алгоритмы  на JAVA. Анализ / Структуры данных / Сортировка / Поиск: пер. с англ. / Роберт Седжвик. – К.: ООО «ТИД “ДС”», 2003. – 688 с.

25.

Харт Дж.М. Системное программирование в среде Windows, 3-e изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2005. – 592 с.

26.

Шеховцов В.А. Операційні системи. – К.: Видавнича група BHV, 2005. – 576 c.

27.

Brunner Robert J. Practical Guide to JavaServer Pages. – San Francisco (USA): Elsevier, 2003. – 194 p.

28.

Flanagan D. Java in a Nutshell. – Third ed. – O’Reilly, 1999. – pp. 418-475.

29.

Gosling J. The Java™ Language Specification, 3rd Ed. / James Gosling, Bill Joy, Guy Steele, Gilad Bracha. – Addison-Wesley, 2005. – 684 p.

30.

JavaTM Platform, Standard Edition 7 JDK. Sun Microsystems, Inc. –  2006. (на цифровому носії).

31.

Linux man pages [Електронний ресурс]. – Режим доступу http://www.linuxmanpages.com/

32.

MSDN. The Microsoft developer network Library [Електронний ресурс]. – Режим доступу http://msdn.microsoft.com/en-us/library/ms123401.aspx

33.

Niemeyer P. Learning Java / P. Niemeyer, J. Knudsen. – O’Reilly, 2000. – 714 p.

34.

Silberschatz А. Operating system concepts. – 7th ed. / Abraham Silberschatz, Peter Baer Galvin, Greg Gagne. – John Wiley & Sons, Inc., 2005. – 944 р.

35.

Wampler B.E. The Essence of Object Oriented Programming with Java and UML. – 2003. – 364 p.

36.

Zi Hiu. Java RMI Tutorial. – Режим доступу: http://fragments.turtlemeat.com/rmi.php

Информация о работе Web-орієнтована система для аналізу використання ресурсів комп’ютерної аудиторії студентами