Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СПО_1 / лаб / СПО_лаб

.pdf
Скачиваний:
17
Добавлен:
03.03.2016
Размер:
340.28 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДОНЕЦЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

МЕТОДИЧНІ ВКАЗІВКИ ДО ЛАБОРАТОРНИХ РОБІТ З ДИСЦИПЛІНИ

«СИСТЕМНЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ»

(Частина 1. Вивчення основних елементів системного програмного забезпечення з використанням технології WMI і

інструментів адміністрування Windows Scripting Host)

для студентів спеціальності

7.091503 «Спеціалізовані комп'ютерні системи» (КСД)

Розглянуто на засіданні кафедри

«Автоматизовані системи управління»

Протокол № від листопада 2009 р.

Затверджено на засіданні учбової – видавничої ради ДОННТУ

Протокол № ___ від ___ листопада 2009 р.

Донецьк ДНТУ 2009

Методичні вказівки до лабораторних робіт з дисципліни "Системне програмне забезпечення" (Частина 1. Вивчення основних елементів системного програмного забезпечення з використанням технології WMI і інструментів адміністрування Windows Scripting Host) для студентів спеціальності 7.091503 «Спеціалізовані комп'ютерні системи» (КСД). / Склали: Телятніков О.О.,

Васяєва Т.О. - Донецьк: ДНТУ, 2009. – 40 с.

Методичні вказівки містять короткі теоретичні відомості, методичні рекомендації і завдання до виконання лабораторних робіт з дисципліни

«Системне програмне забезпечення» з використанням технології Microsoft

Windows Management Instrumentation і інструментів адміністрування Windows

Scripting Host.

Укладачі:

доц. Телятніков О.О.

 

ас. Васяєва Т.О.

Рецензент:

доц. Секірін О.І.

Відповідальний за випуск:

зав. каф. АСУ Скобцов Ю.О.

ЗМІСТ

 

Лабораторна робота № 1 Основи технології Windows Management

Instrumentation. Робота з процесами і потоками у WMI

........................................ 4

Лабораторна робота № 2 Обробка подій у WMI .......................................

19

Лабораторна робота № 3 Збір інформації про пам'ять і планування

завдань. Робота з файловою системою................................................................

24

Лабораторна робота № 4 Організація резервного копіювання даних з

використанням WMI і VBScript ............................................................................

32

Перелік літератури.......................................................................................

39

Лабораторна робота № 1

Основи технології Windows Management Instrumentation. Робота з процесами і потоками у WMI

Мета роботи: навчиться працювати з об'єктами Windows Management Instrumentation за допомогою сценаріїв на мові VBScript, навчитися працювати з процесами з використанням технології WMI.

Теоретичне введення

Технологія Windows Management Instrumentation (WMI) призначена для централізованого управління комп'ютерними системами під управлінням операційними системами сімейства Windows. WMI є реалізацією універсального стандарту адміністрування WBEM (Web-Based Enterprise

Management) і об'єктній моделі інформації CIM (Common Information Model),

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

(сервери, робочі станції, периферія, серверні і настільні застосування і ін.).

Інфраструктура WMI складається з чотирьох компонентів: провайдери

WMI, менеджер об'єктів CIM (Common Information Model Object Manager), база даних CIM і програми, що управляють (рис. 1.1).

Провайдери WMI забезпечують доступність і адресність керованих за допомогою WMI ресурсів. При цьому провайдер WMI спілкується з керованим об'єктом за допомогою API цього об'єкту, а з менеджером об'єктів CIM – за допомогою стандартного інтерфейсу прикладного програмування WMI (WMI API). Таким чином, провайдери приховують деталі внутрішньої реалізації керованих об'єктів, дозволяючи менеджеру об'єктів CIM звертатися до цих

об'єктів одноманітно, використовуючи один і той же WMI API.

4

Програми, що управляють

Менеджер

 

 

 

База даних CIM

об'єктів CIM

 

 

 

 

 

 

Провайдери WMI

Керовані об'єкти

Рис. 1.1. Інфраструктура WMI.

Менеджер об'єктів CIM (CIMOM) забезпечує взаємодію між споживачами сервісів WMI і провайдерами WMI. Менеджер об'єктів CIM

обробляє всі запити, які поступають від програм, що управляють, до WMI, і

забезпечує доставку до цих програм інформації, що отримується в результаті виконання таких запитів.

База даних CIM містить класи, що моделюють різні компоненти системи: жорсткі диски, мережеві карти, файли і папки, процеси, сервіси і так далі. Класи в базі даних CIM логічно групуються за просторами імен, які впорядковані ієрархічно.

Програми, що управляють, – це споживачі сервісів WMI. Споживачами можуть бути програми Win32, сценарії WMI або інші інструменти адміністрування, за допомогою яких відбувається доступ до керованих об'єктів за допомогою WMI.

Найбільш гнучким і потужним інструментом адміністрування Windows є

сценарії Windows Scripting Host, а синтаксис VBScript найбільш зручний для роботи з розгалуженою об'єктною моделлю WMI. Тому при виконанні лабораторних робіт, ми використовуватимемо сценарії на мові VBScript.

5

Перший сценарій, показаний у Лістингу 1.1, повертає інформацію про процесор системи, виконуючи три основні функції, загальні для всіх сценаріїв

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

Лістинг 1.1: Сценарій, що повертає інформацію про процесор

set WMI = GetObject("WinMgmts:")

set objs = WMI.InstancesOf("Win32_Processor")

for each obj in objs

WScript.Echo "Processor: " & obj.Name

next

У першому рядку відбувається підключення до служби WMI. У змінній

WMI після виконання цього рядка сценарію зберігатиметься посилання на об'єкт SWbemServices. Наступний рядок за допомогою методу InstancesOf

об'єкту SWbemServices повертає всі екземпляри класу Win32_Processor у

вигляді колекції SWbemObjectSet. Три останні рядки сценарію перераховують вміст цього набору в циклі for.

Якщо створити текстовий файл і записати Лістинг 1.1, зберегти його з розширенням .vbs, то можна виконати його за допомогою Windows Script Host (WSH). В результаті інформація, яку витягуватиме сценарій,

відображуватиметься в діалоговому вікні (рис. 1.2).

Рис. 1.2. Результат виконання сценарію (Лістинг 1.1).

6

Сценарій може бути запущений з командного рядка за допомогою консольної версії WSH cscript.exe. Наприклад, аби виконати описаний вище сценарій, збережений у файлі First.vbs, необхідно в командному вікні виконати команду:

cscript first.vbs

У результаті в командне вікно буде виведений рядок “Intel Pentium III processor” (рис. 1.3).

Рис. 1.3. Результат виконання сценарію (Лістинг 1.1) у консольному режимі.

Розглянемо другий сценарій, показаний у лістингу 1.2. Цей сценарій повертає список всіх властивостей класу Win32_Process.

Лістинг 1.2. Сценарій, що повертає список властивостей заданого

класу

set objClass = GetObject("WinMgmts:Win32_Process") set objClassProperties = objClass.Properties_

for each obj in objClassProperties WScript.Echo obj.Name

next

7

Для того, щоб отримати доступ до потрібного нам класу

Win32_Process використовується функція GetObject, параметром якої необхідно вказати шлях до цього класу: WinMgmts:Win32_Process. Після цього в змінній objClass буде зберігатися покажчик на об'єкт

SWbemObject. У властивості Properties_ цієї змінної зберігається набір всіх властивостей класу Win32_Process (об'єкт SWbemPropertySet),

покажчик на яку заноситься в змінну objClassProperties. У властивості

Name кожного елементу набору зберігається ім'я відповідної властивості. Ці імена в циклі for виводяться на екран за допомогою методу Echo об'єкту

WScript.

Аналогічно можна отримати набір методів класу (об'єкт

SWbemMethodSet), який зберігається у властивості Methods_ відповідного об'єкту SWbemObject.

Робота з процесами і потоками в WMI

У WMI кожному запущеному в системі процесу відповідає екземпляр

класу Win32_Process.

Основні властивості класу Win32_Process:

Caption – короткий текстовий опис процесу;

CommandLine – командний рядок, використовуваний для запуску

процесу;

CreationDate – час початку виконання процесу;

Description – повний опис процесу;

ExecutablePath – повний шлях до виконуваного файлу процесу;

HandleCount – загальна кількість дескрипторів, відкритих на даний час

процесом;

MaximumWorkingSetSize – максимально можлива кількість сторінок

пам'яті, що доступна процесу;

8

MinimumWorkingSetSize – мінімальна можлива кількість сторінок пам'яті, що доступна процесу;

Name – ім'я процесу;

PageFileUsage – об'єм частини файлу підкачки, що використовується

процесом в даний час;

ParentProcessId – ідентифікатор батьківського процесу;

PeakPageFileUsage – максимальний об'єм частини файлу підкачки,

що використовувалося процесом за час його роботи;

PeakVirtualSize – максимальне значення об'єму віртуального адресного простору, який використовувався процесом одноразово;

PeakWorkingSetSize – максимальний об'єм фізичної пам'яті,

використовуваний процесом;

Priority – пріоритет процесу;

ProcessId – ідентифікатор процесу;

ReadOperationCount – число виконаних процесом операцій читання;

ReadTransferCount – об'єм прочитаних даних;

ThreadCount – число активних потоків у процесі;

VirtualSize – поточний об'єм віртуального адресного простору в байтах, використовуваний процесом;

WorkingSetSize – розмір фізичної пам'яті в байтах, необхідний для

виконання процесу;

WriteOperationCount – число виконаних процесом операцій запису;

WriteTransferCount – об'єм записаних даних.

Основні методи класу Win32_Process.

AttachDebugger() – запускає відладчик, встановлений в системі за умовчанням, для відладки процесу, повертає 0 – при успішному виконанні або

код помилки інакше.

9

Create(CommandLine,

CurrentDirectory,

ProcessStartupInformation, ProcessId) – створює новий процес,

повертає 0 в разі успішного створення об'єкту або інше число в разі помилки.

SetPriority(Priority) – встановлює пріоритет процесу,

параметр Priority визначає необхідний пріоритет і може набувати наступних значень:

64 (0x40) – Idle – низький

16384 (0x4000) – Below Normal – нижче середнього

32 (0x20) - Normal – середній

32768 (0x8000) – Above Normal – вище середнього

128 (0x80) – High – високий

256 (0x100) – Realtime – найвищий;

повертає 0 – при успішному виконанні або код помилки інакше.

Terminate(Reason) – завершує процес і всі його потоки, числовий код Reason задає код виходу, який буде повідомлений операційній системі після завершення процесу, повертає 0 – при успішному виконанні або код помилки інакше.

Для встановлення початкових параметрів запуску процесу використовується клас Win32ProcessStartup.

Основні властивості класу Win32_ProcessStartup:

PriorityClass – пріоритет нового процесу;

ShowWindow – спосіб відображення вікна програми;

0– SW_HIDE – приховане вікно

1– SW_NORMAL – вікно відображується і активується

2– SW_SHOWMINIMIZED – вікно відображується згорнутим і активується

10