Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
101
Добавлен:
31.01.2021
Размер:
18.14 Mб
Скачать

10

КОНТРОЛЬНІ ПИТАННЯ

1.Призначення внутрішнього інтерпретатора команд OSWindows.

2.Де розташовується «ехе-файл» командного інтерпретатора?

3.Дайте визначення внутрішніх і зовнішніх команд інтерпретатора.

4.Де розташовуються «ехе-файли» зовнішніх команд інтерпретатора?

5.Який порядок отримання довідкових матеріалів по командам інтерпретатора?

6.Опишіть структуру командного рядка інтерпретатора і принцип роботи з нею.

7.Що таке стандартний і розширений режим роботи інтерпретатора? Наведіть приклад команд, які використовують розширений режим роботи інтерпретатора.

8.Вкажіть основні функції і синтаксис ключів команд інтерпретатора.

9.Що розуміється під завданням перенаправлення вводу / виводу

команд?

10.Для чого використовується процедура перенаправлення вводу / виводу команд?

11.Для чого використовуються символи умовного виконання і угруповання команд. Вкажіть синтаксис написання команд з використанням даних символів і особливості їх виконання.

12.Які команди використовуються для роботи з файловою системою? Вкажіть синтаксис написання даних команд.

11

ПРАКТИЧНЕ ЗАНЯТТЯ №2.

Тема: Моніторінг процесів та потоків в операційних системах.

Мета заняття: отримання пактичних навичок при дослідженні процесів та потоків в операційних системах за допомогою як вбудованих засобів так і сторонніх програм.

ЗАГАЛЬНІ ВІДОМОСТІ ЗА ТЕМАТИКОЮ ЗАНЯТТЯ

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

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

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

У операційній системі одночасно може існувати кілька процесів. Процеси можна умовно розбити на три категорії:

1) Системні процеси є частиною ядра ОС і завжди розташовані в оперативній (основний) пам'яті. Дані цих процесів знаходяться в ядрі системи, і

12

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

2)Фонові процеси (або демони) - це не інтерактивні процеси, які зазвичай запускаються при ініціалізації системи (після ініціалізації ядра) і забезпечують роботу різних підсистем. Наприклад, системи термінального доступу, системи друку, системи мережевого доступу та інші.

3)Прикладні процеси, як правило, породжуються в рамках призначеного для користувача сеансу. Вони можуть виконуватися як в інтерактивному, так і в фоновому режимах.

Виконання процесу може відбуватися в двох режимах: в режимі ядра (kernel mode) або призначеному для користувача режимі (user mode). У призначеному для користувача режимі процес виконує інструкції прикладної програми, допустимі на непривілейованому рівні захисту процесора. При цьому процесу недоступні системні структури даних. Для отримання послуг ядра процесу необхідно зробити системний виклик, після чого виконання процесу переходить на привілейований рівень (в режим ядра). Таким чином, ядро системи захищає власний адресний простір від доступу прикладного процесу, який може порушити цілісність структур даних ядра. Відповідно і образ процесу складається з двох частин: даних режиму завдання і даних режиму ядра. Образ процесу в режимі завдання складається з сегментів коду, даних, стека, бібліотек. Образ процесу в режимі ядра складається з структур даних, які використовуються ядром для управління процесом.

Важливим завданням операційної системи є захист ресурсів, виділених даному процесу, від інших процесів.

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

Протягом періоду існування процесу його виконання може бути багаторазово перерване і продовжене. Для відновлення виконання процесу, необхідно відновити стан його операційного середовища. Стан операційного

13

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

Для управління процесами і ресурсами ЕОМ, операційна система використовує чотири види керуючих таблиць:

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

2)Таблиці вводу-виведення - використовуються для управління пристроями вводу-виведення. У кожен момент часу пристрій вводу-виведення може бути або вільним, або зайнятим певним процесом.

3)Таблиці файлів - містять інформацію про існуючі файли, їх розташування, поточний стан і інші атрибутах. Основна частина цієї інформації підтримується файлової системою.

4)Таблиці процесів - містять покажчики на образи процесів.

Розглянемо основні засоби, за допомогою яких є можливість здійснювати моніторинг та керувати процесами (потіками) у операційних системах.

Windows Task Manager

Диспетчер задач в операційних системах сімейства Microsoft Windows - утиліта для виведення на екран списку запущених процесів і споживаних ними

14

ресурсів (зокрема статус, процесорний час і споживана оперативна пам'ять), що підтримує можливість маніпуляції процесами. Windows Task Manager в Windows NT можна викликати, одночасно натиснувши клавіші Ctrl + Shift + Esc. Також існує більш відома комбінація клавіш - Ctrl + Alt + Del. Диспетчер завдань можна також запустити за назвою taskmgr.exe або клікнувши правим кліком по панелі задач і вибравши відповідний пункт меню.

Диспетчер задач містить наступні вкладки:

додатки - дозволяє перейти в потрібну програму або завершити її;

процеси - різноманітні дані про всі запущені в системі процеси, можна завершувати, міняти пріоритет, задавати відповідність процесорам (у багатопроцесорних системах);

служби - відомості про всі служби Windows;

швидкодія - графіки завантаження процесора (процесорів), використання оперативної пам'яті;

мережа (відсутня в разі відсутності активних мережних підключень) - графіки завантаження мережних підключень.

користувачі (тільки в режимі адміністратора) - маніпулювання активними користувачами.

Якщо на комп'ютері не запущені ніякі призначені для користувача програми, то Диспетчер задач повинен містити тільки службові процеси операційної системи, встановленої на комп'ютері. Для кожного процесу виводяться його параметри: ім'я образу (як правило, збігається з ім'ям файлу, що запускається), ім'я користувача (від чийого імені було запущено процес), завантаження цим процесом центрального процесора (колонка ЦП) і обсяг оперативної пам'яті яку він обіймав.

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

15

Таблиця 2.1 - Процеси Windows які запускаються за замовчуванням

Процес

Опис

 

 

CSRSS.EXE

Процес відповідає за вікна консолі, за створення і видалення

 

потоків, а також частково за роботу 16-бітної середовища

 

MS-DOS. Він відноситься до підсистеми Win32

 

призначеного для користувача режиму (WIN32.SYS же

 

ставитися до ядру Kernel) і повинен завжди виконуватися.

 

 

EXPLORER.EXE

Призначене для користувача середовище, що містить такі

 

компоненти, як Панель задач, Робочий стіл тощо. Його

 

практично завжди можна закривати і знову відкривати без

 

будь-яких наслідків.

 

 

LSASS.EXE

Цей локальний сервер авторизації відповідає за IP-директиви

 

безпеки (інтернет-протоколи) і завантажує драйвер безпеки.

 

Він запускає процес, який відповідає за авторизацію

 

користувачів. При успішній авторизації користувача додаток

 

створює і надає йому спеціальний протокол. Всі запущені

 

далі процеси використовують цей протокол.

 

 

MSTASK.EXE

Відповідає за службу планування Schedule, яка призначена

 

для запуску різних додатків в певний користувачем час.

 

 

SMSS.EXE

Диспетчер сеансів запускає високорівневі підсистеми і

 

сервіси. Процес відповідає за різні дії, наприклад запуск

 

Winlogon і Win32 процесів, а також за операції з системними

 

змінними. Коли Smss визначає, що Winlogon або Csrss

 

закриті, він автоматично вимикає систему.

 

 

SPOOLSV.EXE

Забезпечує створення черги на друк, тимчасово зберігаючи

 

документи і факси в пам'яті.

 

 

SVCHOST.EXE

Цей всеосяжний процес служить хостингом для інших

 

процесів, що запускаються за допомогою DLL. Тому іноді

 

працюють одночасно кілька Svhost. За допомогою команди>

 

можна вивести на екран всі процеси, що використовують

 

Svchost.

 

 

 

16

 

 

Процес

Опис

 

 

SERVICES.EXE

Процес управління системними службами. Запуск,

 

закінчення, а також всі інші дії зі службами відбуваються

 

через нього.

 

 

SYSTEM

Виконує всі потоки ядра Kernel.

 

 

SYSTEM IDLE

Цей процес виконується на будь-якому комп'ютері. Потрібен

PROCESS

він, правда, всього лише для моніторингу процесорних

 

ресурсів, що не використовуються іншими програмами.

 

 

TASKMGR.EXE

Процес диспетчера задач.

 

 

WINLOGON.EXE

Відповідає за управління процесами авторизації

 

користувачів.

 

 

WINMGTM.EXE

Основний компонент клієнтської служби Windows. Процес

 

запускається одночасно з першими клієнтськими додатками і

 

виконується при будь-який запит служб.

 

 

Command Line

Управління процесами операційної системи також можливо з командного рядка, за допомогою набору наступних команд:

Tasklist - перегляд діючих процесів. За допомогою даної програми можна переглянути список процесів, що виконуються на локальному або віддаленому комп'ютері. Список допустимих параметрів:

/ S <система> - віддалений комп'ютер, що підключається;

/ U [<домен> \] <Користувач> - призначений для користувача контекст, в якому повинна виконуватися ця команда;

/ P [<пароль>] - пароль для цього користувача контексту. Запитує пароль, якщо він не заданий;

/ M [<Модуль>] - відображення всіх завдань, які використовують це ім'я exe / dll. Якщо ім'я модуля не вказано, то відображаються всі завантажені модулі;

/ SVC - відображення служб для кожного процесу;

/ V - ведення докладного протоколювання;

17

/ FI <Фільтр> - відображення списку завдань, які відповідають вказаним в фільтрі критерієм.

/ FO <Формат> - опис формату вихідного файлу. Допустимі значення:"TABLE", "LIST", "CSV".

/ NH - відключення відображення заголовка "Column Header" в вихідних даних (для форматів "TABLE" і "CSV").

Taskkill- завершення роботи процесів. Дана програма підтримує такі можливості, використання яких нагадує синтаксис попередньої програми:

/ S /U

/P

/FI - аналогічні параметрам попередньої команди;

/ F - примусове завершення процесу;

/ PID <процес> - ідентифікатор процесу, який потрібно завершити;

/ IM <Образ> - ім'я образу процесу, який потрібно завершити. Для вказівки всіх процесів можна використовувати символ шаблону "*".

/ T Завершення зазначеного процесу і всіх його дочірніх процесів.

Start- запуск процесів з підтримкою функції вказівки пріоритету, з яким буде працювати програма. Для цього застосовуються такі команди (пріоритети):

/ LOW

/ HIGH

/ ABOVENORMAL

/ NORMAL

/ REALTIME

/ BELOWNORMAL

Runas - запускає конкретні засоби і програми з дозволами, відмінними від тих, які надає поточний обліковий запис. параметри:

/ profile - завантажує профіль користувача;

/ No profile - визначає, що профіль користувача не треба завантажувати;

/ env - задає використання поточного мережного середовища замість локального середовища користувача;

/ netonly - показує використання введених відомостей про користувача тільки для віддаленого доступу;

/ smartcard - визначає необхідність підтримки облікових даних за допомогою смарт-карти;

/ showtrustlevels - виводить список параметрів;

18

/ trustlevel - вказує рівень перевірки автентичності, на якому необхідно виконати додаток;

/ showtrustlevels - для перегляду доступних рівнів довіри;

/ user <Ім'я користувача> - задає ім'я облікового запису користувача, яке буде використано для запуску програми. Обліковий запис користувача повинен бути представлений у форматі користувач @ домен або

домен \ користувач;

/ user <Програма> - командний рядок для EXE.

ЗАВДАННЯ ДЛЯ ВИКОНАННЯ РОБОТИ

Завдання 1

Запустити ОС Windows NT. Запустити Task Manager. Вивчити процеси, що виконуються в системі і їх параметри. Опишіть кожний з процесів, які функціонують на Вашому комп'ютері. Запустити Paint і вивчити зміни (кількість пам'яті, що виділяється цьому процесу).

Завдання 2

Запустити командний рядок. Викликати команду Tasklist і вивчити список допустимих параметрів. Викликати відображення списку всіх процесів, які виконуються в поточний момент. Вивести всі процеси, які відповідають таким критеріям: використання пам'яті, ім'я служби, назва вікна, ім'я DLL. Вивести дані в різних форматах ("TABLE", "LIST", "CSV").

Завдання 3

Запустити командний рядок. Викликати команду Taskkill і вивчити список допустимих параметрів. Відтворити операцію завершення процесів за допомогою різних комбінацій і підтримуваних параметрів.

Завдання 4

Запустити командний рядок. Викликати команду Start вивчити список допустимих параметрів.

19

Завдання 5

Запустити командний рядок. Викликати команду Runas і вивчити список допустимих параметрів

Завдання 6

Запустити Process Explorer та дослідити можливості цієї програми по моніторингу та управлінню процесами.

1)Для відображення / приховання нижній панелі натисніть кнопку Show

/Hide Lower Pane на панелі інструментів, або виберіть меню View -> Show / Hide Lower Pane, або натисніть гарячих клавіш Ctrl + L.

2)Для включення режиму дескрипторів виберіть меню View -> Lower Pane View -> Handles (або натисніть Ctrl + H) .Для включення режиму бібліотек DLL виберіть меню View -> Lower Pane View -> DLLs (або натисніть Ctrl + D).

3)Виділивши будь-який процес у верхньому вікні Process Explorer і клацнувши його правою кнопкою миші (або вибравши меню Process), вивчити контекстне меню.

4)Щоб переглянути потоки (Threads), що виконуються в рамках процесу викличте діалогове вікно властивостей процесу і відкрийте вкладку Threads (Потоки).

5)Щоб переглянути стек потоку процесу (Stack for thread) викличте діалогове вікно властивостей процесу; відкрийте вкладку Threads (Потоки); натисніть кнопку Stack.

6)Вибравши меню View -> System Information ... (або натиснувши відповідну піктограму на панелі інструментів), викликати вікно System Information.

7)Замінити стандартний Диспетчер завдань Windows на Process Explorer - виберіть меню Options -> Replace Task Manager.

8)Повернути Диспетчер завдань Windows: виберіть меню Options -> Restore Task Manager.

Завдання 7

Запустити Process Manager. Скласти фільтр, вивчити можливі настройки для перегляду інформації про процеси. Вивчити можливості підсвічування.