Автор работы: Пользователь скрыл имя, 15 Мая 2013 в 05:41, магистерская работа
У результаті виконання магістерської роботи отримано наступні наукові та практичні результати:
вдосконалено методи для нагромадження і аналізу кількісних даних про використання комп’ютерних ресурсів, що на відміну від існуючих враховують тривалість інтерактивної взаємодії з користувачем.
розроблено Web-орієнтоване програмне забезпечення для аналізу і візуалізації даних про користування комп’ютерними ресурсами вищих навчальних закладів.
Результатом опрацювання дій користувача прикладною програмою є графічні або акустичні дані, що відтворюються пристроями виведення також посередністю ядра ОС та драйверів. З вищесказаного можна зробити важливий висновок, що користувач не може працювати з ресурсами комп’ютерної аудиторії без прикладних програм. Наприклад, коли користувач переглядає сторінки з мережі Інтернет, він користується прикладною програмою “Браузер”, коли користувач прослуховує аудіо-запис іноземною мовою у лінгафонному кабінеті, то користується прикладною програмою “Програвач”. Навіть коли користувач лише копіює файли з одного носія на інший, користуючись стандартними засобами ОС Windows (перетягування файлів, або копіювання через гарячі клавіші) через “Мій комп’ютер”, він всерівно користується прикладною програмою “explorer.exe”, котра, проте, входить до складу операційної системи.
Строго кажучи, системним програмним забезпеченням можна назвати тільки ядро операційної системи, драйвери та служби, тобто все, що обслуговує обладнання та прикладне програмне забезпечення. Інші програми, які входять до складу дистрибутивів операційних систем є прикладними програмами, які обслуговують безпосередньо користувача. Під обслуговуванням користувача розуміємо відгук на його дії. Дії користувач виконує впливом на пристрої введення, а відгук комп’ютерна система виконує відтворенням візуальної та акустичної інформації на приладах виведення.
Повернемося до основного висновку, а саме, що студент ВНЗ може взаємодіяти з комп’ютеризованою лабораторією лише за допомогою прикладних програм, без прикладних програм студент не здатний користуватися ресурсами комп’ютерної лабораторії. Таким чином задача аналізу використання ресурсів комп’ютерної аудиторії студентами зводиться до задачі аналізу подачі запитів на отримання і звільнення цих ресурсів прикладним програмним забезпеченням, що встановлене на комп’ютери аудиторії.
Стежачи за кількісними даними запитів отримання, вводу-виводу і звільнення ресурсів, що надсилаються прикладними програмами можна зробити висновок про те, якими ресурсами і як інтенсивно користуються студенти ВНЗ. Саме ці дані і будуть слугувати підґрунтям для проведення аналізу використання комп’ютерної аудиторії студентами, що є основною метою досліджень, проведених в магістерській роботі.
Коли процес (задача), що діє під керуванням операційної системи, дає запит на функціональну одиницю деякого типу ресурсу, то виділення йому (їй) будь-якої одиниці ресурсу зазначеного типу задовольнить даний запит. Якщо таке твердження не вірне, то це означатиме, що функціональні одиниці насправді не є еквівалентними (взаємозамінними). Останнє може свідчити про неналежне виокремлення типів ресурсів, бо однотипні ресурси завжди взаємозамінні. Наприклад, комп’ютерна система може містити два принтери. Ці два принтери можуть бути означеними як належні до одного і того ж самого типу ресурсу, лише за тієї умови, що ніяких проблем не виникне у зв’язку з тим, який принтер надрукує котрий документ. Проте, якщо один принтер знаходиться на дев’ятому поверсі, а інший у підвалі, то персонал, що працює на дев’ятому поверсі може не сприймати обидва принтери як еквівалентні, отже в даному випадку, ці принтери слід віднести до різних типів ресурсів.
Процес (задача) повинен подати запит на ресурс перед тим, як зможе ним користуватися і повинен звільнити ресурс після користування ним. Кожен процес операційної системи може запросити наскільки завгодно велику кількість ресурсів в міру їх необхідності при виконанні заданого користувачем завдання. Очевидно, що кількість запитуваних ресурсів не повинна перевищувати загальної кількості ресурсів, що доступні у комп’ютерній системі. Іншими словами, процес не може запросити три принтери, якщо система володіє тільки двома.
В нормальному режимі функціонування процес може використати ресурс тільки в наступній послідовності:
1. Запит.
Якщо запит не може бути
гарантованим (обслуженим) негайно
(наприклад, якщо ресурс в
2. Використання. Процес може обробляти ресурс (наприклад, якщо цей ресурс – це принтер, то процес може друкувати на принтері).
3. Звільнення. Процес звільняє ресурс, що утримувався ним до цього часу.
Запит і звільнення ресурсів реалізуються за допомогою системних викликів до ядра операційної системи. Прикладами таких системних викликів є request() та release(), що виконуються над заданим пристроєм, open() та close() для файлів, allocate() та free() для отримання і звільнення комп’ютерної пам’яті. Запитування і звільнення ресурсів, що не контролюються операційною системою можуть бути виконані за допомогою викликів wait() та signal(), що мають аргументом семафори, або за допомогою отримання і звільнення м’ютекса. При кожному використанні ресурсу, доступ до якого контролюється ядром операційної системи, процесом або потоком, операційна система перевіряє чи процес послав запит і чи заволодів ресурсом. Системна таблиця ядра операційної системи містить записи про зайнятість або вільність кожного ресурсу; для кожного ресурсу, що є зайнятим, у таблиці також зазначено яким саме процесом він зайнятий. Якщо процес запитує ресурс, що вже зайнятий іншим процесом, то він може бути доданий до черги процесів, що очікують на даний ресурс.
Розв’язання задачі нагромадження кількісних даних про запити отримання, вводу-виводу і звільнення ресурсів слід розпочати із класифікації ресурсів на типи з прив’язкою до предметної області магістерської роботи, а саме вищої освіти.
Ресурси комп’ютерної аудиторії ВНЗ можна поділити на наступні категорії: (1) тривалість інтерактивної взаємодії з прикладними програмами, що встановлені на комп’ютери аудиторії (браузери, текстові редактори, середовища розробки, середовища моделювання, програвачі), (2) завантаженість центрального процесора в аудиторний час, (3) об’єм і склад інформації, що надходить від пристроїв вводу комп’ютерів в аудиторний час, (4) об’єм і склад даних, що надходять з локальної та мережевої файлових систем, (5) середня тривалість роботи кожного комп’ютера аудиторії на добу.
В усіх дослідженнях слід враховувати наявність режиму Hibernate, що дозволяє утримувати операційні системи робочих станцій у стані готовності протягом місяців та років без необхідності їх перезавантаження.
Може видатися, що тривалість інтерактивної
взаємодії з прикладними
Одним з відомих рішень для нагромадження даних про використання ресурсу „тривалість інтерактивної взаємодії з програмами” можна вважати механізм виявлення задач, що найчастіше запускаються користувачем з меню „Пуск”, що є стандартним засобом ОС Windows починаючи з версій ХР, включно з Windows 7. Однак цей засіб дозволяє знаходити тривалість не інтеравтивної взаємодії, а частоту запусків кожної програми. Ці показники як правило досить сильно відрізняються, оскільки більшість програм, які запускає користувач можуть перебувати в фоновому режимі, тоді як активні програми, куди користувач надсилає свій ввід (маніпулює пристроями вводу) можуть бути вже запущеними і не перезапускатись при вимкнені-ввімкненні комп’ютера (режим Hibernate). Виходячи з цього у роботі пропонуються нові методи для обліку тривалості інтерактивної взаємодії з комп’ютерами аудиторії, що вирішують зазначені проблеми.
Нагромадження кількісних даних про використання ресурсу „завантаженість центрального процесора в аудиторний час” засновується на спостереженнях за часткою використаного кванту, що був виділений короткостроковим планувальником ядра ОС тій чи іншій задачі (процесу). Проілюструємо спосіб отримання таких спостережень за допомогою діаграми стану процесів і потоків ОС, що наведена на рис. 1.1.
Рисунок 1.1 – Діаграма станів процесів та потоків операційної системи
Кожен процес починає свій життєвий цикл з запуску ззовні (див. стрілка від довгострокового планувальника до стану „Початок процесу” на рис. 1.1), цей запуск може відбуватися за допомогою довгострокового планування, якщо це операційна система пакетної обробки, у інтерактивних операційних системах довгостроковими планувальниками користуються рідше, і у них функції планування переймає на себе сам користувач, який самостійно обирає коли запустити чи закрити ту чи іншу прикладну програму.
Після проведення підготовчих дій, таких як виділення фрагменту оперативної пам’яті для збереження сегменту даних процесу, ініціалізація стандартних дескрипторів вводу-виводу, процес переводиться середньостроковим планувальником у чергу готових процесів (див. стрілочку з стану „Початок процесу” у „Чергу готових”). Черга готових процесів може налічувати велику кількість процесів, що готові до отримання часу центрального процесора для виконання поставлених на них користувачем або зловмисником корисних чи шкідливих дій.
Короткостроковий планувальник займається роздачею часу центрального процесора кожному процесу, що знаходиться в черзі готових процесів. Одночасно отримати доступ до центрального процесора зможе стільки процесів, скільки є ядер у центральному процесорі. Аналогічно, якщо комп’ютер обладнаний кількома процесорами, то на кожному процесорі може виконуватися одночасно по одному процесу. Однопроцесорний, одноядерний комп’ютер може виконувати тільки один процес одночасно. Короткостроковий планувальник обирає готовий процес з черги готових, користуючись одним з багатьох можливих критеріїв, і надає йому доступ до центрального процесора. Тобто центральний процесор починає обробляти команди процесу від точки попереднього зупину.
Короткострокові планувальники чітко визначають специфіку операційної системи. Специфіка операційної системи – це так зване оточення операційної системи. Прийнято виділяти три види оточення операційної системи: пакетне, інтерактивне та реального часу. Операційні системи пакетного оточення не призначені для безпосередньої взаємодії з людиною, вони обслуговують запити від прикладних програм та обладнання і використовуються на серверах пакетної передачі даних, принт-серверах, конвеєрних роботах. Короткострокові планувальники для операційних систем пакетного оточення спроектовані таким чином, щоб максимізувати пропускну здатність обробки, тобто кількість задач, що виконаються за одиницю часу.
Операційні системи
Операційні системи оточення реального часу призначені для управління динамічними технологічними процесами та об’єктами, зокрема, електростанціями та літаками. Критерієм ефективності короткострокових планувальників для таких операційних систем виступає своєчасність. Тобто кожна дія повинна бути виконана в строго окреслених часових рамках.
В даній магістерській роботі зосереджено увагу на операційних системах інтерактивного оточення (інтерактивної взаємодії), зокрема операційних системах Windows, включно з останньою версією Windows 7.
Класифікація короткострокових планувальників окрім оточення також організується за способом передачі керування наступним процесам у черзі готових. За цим критерієм виділяють два види короткострокових планувальників: невитісняльні та витісняльні. Невитісняльні планувальники діють таким чином, що кожен процес передає керування іншому процесу в черзі готових лише тоді, коли вважатиме це за потрібне. Тобто невдало розроблена програма може спричинити крах операційної системи. Такі операційні системи на даний момент використовуються лише для управління технологічними процесами, де кожна задача спроектована грамотно і користувач не має можливості запускати програмне забезпечення невідомих постачальників. В діаграмі станів процесів операційних систем з невитісняльною багатозадачністю переведення процесу з стану „Виконання на ЦП” до черги готових неможливе, тобто нижня стрілка на рис. 1.1 від стану „Виконання на ЦП” до стану „Черга готових” у них відсутня.
Передача керування наступному
процесу в черзі готових
Розглянемо докладніше процедуру передачі керування до наступного процесу у черзі готових посередністю запиту на введення-виведення. Процес, що виконується на центральному процесорі в даний момент, тобто перебуває у стані „Виконання на ЦП” (див. рис.1.1), здійснює запит на введення-виведення, що стосується ресурсу m.
Інтерактивні операційні системи, з якими взаємодіють студенти ВНЗ в процесі навчання, володіють короткостроковими планувальниками з витісняльною багатозадачністю, тому для них на діаграмі рис. 1.1 перехід з стану „Виконання на ЦП” до стану „Черга готових” присутній. Цей перехід відбувається автоматично, коли процес вичерпав відведений йому відрізок часу, так званий квант. При цьому коли процес таки вичерпує увесь квант свого часу, то диспетчер задач покаже, що він цілком завантажив ядро центрального процесора, тобто завантажує його на 100 %.
Насамкінець слід розглянути проблеми спільного використання ресурсів, що можуть вплинути на надійність роботи комп’ютерної аудиторії ВНЗ. Зокрема проблему зависання прикладного програмного забезпечення у зв’язку з потраплянням процесів у так звану “мертву точку”.