Мережні операційні системи (2011)
План-конспект лекцій (Частина 1)
Операційна система (ОС) - це програма, що забезпечує можливість раціонального використання устаткування комп'ютера зручним для користувача чином, тобто являють собою набір програмних модулів, які дозволяють користувачеві керувати машиною, а також забезпечують взаємодію програм з зовнішніми пристроями та один з одним. ОС — головна частина системного програмного забезпечення. Операційна система управляється командами.
КЛАСИФІКАЦІЯ ОПЕРАЦІЙНИХ СИСТЕМ:
Локальні ОС;
Мережні ОС;
ОС розподілених систем(Cloud Computing);
Спеціалізовані ОС;
ОС реального часу;
Класифікація з точки зору можливостей ОС:
Універсальні (для широкого використання), спеціальні (для розв'язання спеціальних задач) та спеціалізовані (виконуються на спеціальному обладнанні);
Підтримка багатозадачності(одно/багато-задачні);
Підтримка багатокористувацького режиму;
За способом реалізації багатозадачності (з примусовим / без примусового переключення);
Підтримка багатоядерності/багатопроцесорності;
Вбудовані/невбудовані;
По розширенню відкриті та закриті;
По доступу до вхідного коду вільні та комерційні;
ОСНОВНІ ФУНКЦІЇ ОПЕРАЦІЙНИХ СИСТЕМ:
ОС розглядається як розширення машини(апаратної частини), тобто оболонка Hardware яка в собі приховує роботу заліза;
ОС як система управління ресурсами(планування та використання ресурсів, моніторинг біжучого стану використання ресурсу);
Основні функції операційних систем:
Планування завдань та використання процесора(обробка переривань і забезпечення багатозадачної роботи);
Забезпечення комунікації та синхронізації процесів;
Забезпечення інтерфейсу між прикладними програмами та службовими сервісами ОС;
Управління пам’яттю;
Управління файловою системою;
Управління вводом/виводом;
Забезпечення безпеки;
АРХІТЕКТУРА ОПЕРАЦІЙНИХ СИСТЕМ
При функціональної декомпозиції ОС модулі поділяються на дві групи:
ядро - модулі, які виконують основні функції ОС;
модулі, які виконують допоміжні функції ОС.
Робота процесора можлива в 2 режимах:
користувача (user mode);
привілейований (kernel mode) в своїй віртуальній пам’яті.
Виникає ряд проблем з переключеннями режим/режим або контекст/контекст.
Перспективні архітектури:
Архітектура монолітного ядра(ядро-одна програма. Висока швидкодія)
Мікроядерна архітектура ОС(швидкодія низька)
Комбіновані архітектури;
ОСОБЛИВОСТІ МЕРЕЖНИХ ОПЕРАЦІЙНИХ СИСТЕМ
Мережна операційна система (ОС) – це пакет програм, що забезпечує
реалізацію та управління мережею, дає змогу клієнтам користуватись мережним сервісом.
Важливою функцією мережної ОС є забезпечення системи захисту – конфіденційності зберігання даних, розмежування прав доступу до ресурсів, парольний захист, виявлення спроб несанкціонованого доступу, трасування дій користувачів, ведення журналів системних подій тощо.
Мережна ОС забезпечує підтримку різноманітних периферійних пристроїв, мережних адаптерів, протоколів та можливість їх конфігурування. Програмне забезпечення клієнтської частини перетворює запити прикладної програми на використання мережних ресурсів у відповідні мережні формати, забезпечує їх пересилання через середовище передавання та здійснює зворотні перетворення.
СТРУКТУРА МЕРЕЖНОЇ ОПЕРАЦІЙНОЇ СИСТЕМИ
Мережна ОС має у своєму складі засоби передачі повідомлень між
комп'ютерами по лініях зв'язку, що зовсім не потрібні в автономній ОС.
Серверна частина надає ресурси у загальне користування.
Клієнтська частина доступається до ресурсів.
Розділяють однорангові ОС(peer to peer) та серверні ОС(один за комп’ютерів має перевагу в серверній частині)
Однорангові мережі дають змогу кожному вузлу мережі одночасно виступати в ролі сервера та клієнта. Звичайно, клієнт може мати одночасний доступ до ресурсів різних мереж, що використовують спільне середовище передавання.
ОСНОВНІ ЗАВДАННЯ МЕРЕЖНОЇ ОПЕРАЦІЙНОЇ СИСТЕМИ:
забезпечення сумісного використання та розподілу ресурсів мережі;
прискорення обчислень;
підвищення надійності за рахунок гарячого резервування;
забезпечення взаємодії користувачів(надання клієнтам мережного сервісу та адміністрування мережі, взаємодії процесів у мережі та обміну повідомленнями між вузлами мережі);
УПРАВЛІННЯ ПРОЦЕСАМИ: ОСНОВНІ ПОНЯТТЯ
Підсистема керування процесами планує виконання процесів, тобто розподіляє процесорний час між декількома одночасно існуючими в системі процесами, а також займається створенням і знищенням процесів, забезпечує процеси необхідними системними ресурсами, підтримує взаємодію між процесами.
Процес — мінімальний програмний об'єкт, що володіє власними системними ресурсами (запущена програма).
По генеалогічній ознаці розрізняють процеси, що породжують і породжені.
По результативності розрізняють еквівалентні, тотожні і рівні процеси.
В багатозадачній системі процес може знаходитися в одному з трьох основних станів:
ВИКОНАННЯ - активний стан процесу, під час якого процес володіє всіма необхідними ресурсами і безпосередньо виконується процесором;
ОЧІКУВАННЯ - пасивний стан процесу, процес заблокований, він не може виконуватися по своїх внутрішніх причинах, він чекає виконання деякої події
ГОТОВНІСТЬ - також пасивний стан процесу, процес має всі необхідні для нього ресурси, він готовий виконуватися, однак процесор зайнятий виконанням іншого процесу.
УПРАВЛІННЯ ПРОЦЕСАМИ: КОНТЕКСТ ПРОЦЕСУ
Протягом існування процесу його виконання може бути багаторазово перерване і продовжене. Для того, щоб відновити виконання процесу, необхідно відновити стан його операційного середовища. Стан операційного середовища відображається станом регістрів і програмного лічильника, режимом роботи процесора, покажчиками на відкриті файли, інформацією про незавершені операції в/в, кодами помилок виконуваних даним процесом системних викликів і т.д. Ця інформація називається контекстом процесу.
Контекст процеса - значення лічильника команд, регістри, ресурси, що використовуються ОС, та інше.
Контекст поділяють на: Користувацький; Регістровий; Системного рівня;
ОРГАНІЗАЦІЯ ПЛАНУВАННЯ ПАРАЛЕЛЬНОГО ВИКОНАННЯ ПРОЦЕСІВ
Визначення моменту часу зміни виконуваного процесу;
Вибір процесу на виконання з черги готових до виконання процесів;
Переключення контекстів старого і нового процесів;
Відповідно до алгоритмів, заснованих на квантуванні, зміна активного процесу відбувається, якщо:
· відбулася помилка,
· процес завершився і залишив систему,
· процес перейшов у стан ОЧІКУВАННЯ,
· вичерпано квант процесорного часу, відведений даному процесу.
Інша група алгоритмів використовує поняття "пріоритет" процесу:
Статичний, динамічний;
Відносний, абсолютний;
Витісняючий, невитісняючий;
Та інші;
ОРГАНІЗАЦІЯ ТА СПОСОБИ УПРАВЛІННЯ ПАМ’ЯТТЮ
Специфічний клас оптимізаційних задач (її основний критерій це час). (час затримки t).
Задача полягає в тому що потрібно передбачити яка сторінка буде використана надалі і саме її підвантажити в основну пам'ять. Використовують програмні або апаратні алгоритми передбачення… Алгоритм сам вирішує яку сторінку тре підвантажити… Існує певна локальність звертань до пам’яті.
Інша задача це захист пам’яті (Memory protection). Паралельні задачі залазять в пам'ять один до одного і як результат виникнення задачі. Вирішення були наступні(пам’яті розбивають на куски):
Кожна програма розбивається на сегменти(стеку, даних, програми). Ця ділянка має початок і зміщення в сегменті.
Сторінкова організація пам’яті(Paging). Однакового розміру сторінки по 4К переважно.
Сегментно-сторінкова(адреса початку сегмента, сторінки і зміщення в сторінці).
І як результат виникнення віртуальної пам’яті. Програміст працює з віртуальною пам’яттю як з реальною і не задумується про звертання процесів до одних адрес(небажане).
Три рівня організації управління пам’яті:
Hardware MM( MMU )- Пристрій управління пам’яттю;
Рівень операційної системи(operating system);
Application Memory Menager. Garbage collection (GC).
ПОТОКИ УПРАВЛІННЯ
Потоки управління це основна одиниця розпаралелення в Windows.
Потік – це одиниця монопольного використання ресурсів
Потік виконання це незалежний потік управління обчисленнями який має свій лічильник команд та свій стан регістрів.
Розглядають дві концепції:
Віртуальна пам'ять (звільнити програму від виділення пам’яті і їх накладання з іншими процесами)
Потоків управління;
РІЗНИЦЯ МІЖ СЕГМЕНТНОЮ ТА СТОРІНКОВОЮ ОРГАНІЗАЦІЄЮ ПАМ’ЯТІ
• рaging реалізує розподіл пам’яті та підкачку більш легко;
• ніякої зовнішньої фрагментації;
• кожен процес поділяється на множину маленьких, фіксованого розміру частин, так званих сторінок (pages);
• фізична пам’ять поділяється на велику кількість маленьких, розміру частин, так званих фреймів (frames).
Сторінкова організація пам’яті(Paging). Однакового розміру сторінки по 16К переважно.
Сегментна організація пам’яті (стеку, даних, програми). Ця ділянка має початок і зміщення в сегменті.
УПРАВЛІННЯ ПАМ’ЯТТЮ: ПРИНЦИП ЛОКАЛЬНОСТІ ЗВЕРТАНЬ
Якщо програма читає дані або код програми то швидше за все наступна частина даних буде знаходитись недалеко від останньо-використаної. Це використовується як основа при прогнозуванні потрібних даних в основній пам’яті. Цей принцип локальності можна проаналізувати заздалегідь проаналізувавши код програми(цим займаються деякі модулі оптимізуючих компіляторів), можливе і апаратне рішення. Пам’ять розглядався як пасивний пристрій, але реально зараз розглядають його як активний, який може взяти на себе деякі функції(інтегрований контролер).
ОСНОВНІ ВИДИ ЛОКАЛЬНОСТІ ЗВЕРТАНЬ
Локальність в часі(temporal locality), просторі (spatial locality ), рівновіддалена локальність(equidistant locality), локальність розгалуження(branch locality) .
УПРАВЛІННЯ ПАМ’ЯТТЮ: ЛОКАЛЬНІСТЬ У ЧАСІ(TEMPORAL LOCALITY)
Якщо відбулося звертання по деякій адресі, то наступне звертання по цій же адресі з великою імовірністю відбудеться найближчим часом(tempral proximity);
УПРАВЛІННЯ ПАМ’ЯТТЮ: ЛОКАЛЬНІСТЬ У ПРОСТОРІ(SPATIAL LOCALITY )
Якщо відбулося звертання по деякій адресі, то з високим ступенем імовірності найближчим часом відбудеться звертання до сусідніх адрес.
УПРАВЛІННЯ ПАМ’ЯТТЮ: ЕКВІДИСТАНТНА ЛОКАЛЬНІСТЬ
Рівновіддалена локальність(Equidistant locality). Ділянки пам’яті до яких відбуваються звертання утворюють регулярну (передбачувану) структуру у просторово-часовому координатному просторі. За простою лінійною функцією можна прогнозувати до якої ділянки пам’яті буде звертання в наступний момент часу. Такі структури утворюються в циклах. Основна мета знаходження регулярності звертаннях, не обов’язково по лінійному закону але функції з повтором.
АВТОМАТИЧНЕ УПРАВЛІННЯ ВИДІЛЕННЯМ ТА ЗВІЛЬНЕННЯМ ПАМ’ЯТІ
Стратегія GC складається з 2 кроків:
Знаходження об’єктів даних які не будуть використовуватись в подальшому(сміття);
Вивільнення ресурсів які споживають ці об’єкти;
При кожному оголошені змінної під неї виділяється область пам’яті. GC працює в нескінченному циклі збору даних про сміття, використовують різного роду програмування…
УПРАВЛІННЯ КІЛЬКІСТЮ СТОРІНОК ВИДІЛЕНИХ ПРОЦЕСУ
1. Управління заміщенням сторінок. Кількість сторінок що підвантажується в основну пам'ять постійна для процесу. Page fault.
2. Управління кількістю сторінок. Кількість сторінок змінна.
Задача на розподіл ресурсів:
Кожному процесу потрібно нарізати ресурсів з загально доступного.
Жодний з сучасних алгоритмів заміщення сторінок не гарантує захисту від trashing ( попадання процесу в область де PF збільшена вище допустимої верхньої границі). При побудові цих алгоритмів визначають робочу множину (working set ) W(t,T),
де робоча множина це набір сторінок p1,p2,...pn які активно використовуються процесом. Робоча множина визначаеться для моменту часу t та вікна робочої множини T.
Якщо на осі часу поставити точку t то важлива глибина пам’яті, які сторінки попадають в множину а які ні. Вікно спостереження це проміжок часу на протязі якого ми спостерігаємо за сторінками. Тоді ми можемо визначити скільки сторінок може потрапити в робочу множину W(t,T) -> m*.
Формування набору сторінок змінюється в часі, хоча в принципі є досить стабільним.
ФІЗИЧНА ОРГАНІЗАЦІЯ ПРИСТРОЇВ ВВОДУ/ВИВОДУ
Пристрою вводу-виводу поділяються на типи:
Блок-орієнтовані пристрої зберігають інформацію в блоках фіксованого розміру, кожний з який має свою власну адресу ( диски ).
Байт-орієнтовані пристрої не адресовані і не дозволяють здійснювати операцію пошуку. Вони генерують чи використовують послідовність байтів. Прикладами є термінали, рядкові принтери.
Мережні пристрої –карти, мережні адаптери.
Аудіо та відео пристрої.
Таймери
Зовнішній пристрій звичайно складається з механічного (власне пристрій) й електронного компонента (контролером пристрою чи адаптером). Деякі контролери можуть керувати декількома пристроями і мають програмну модель (регістри команд, статусу та даних).
Варіанти фізичної організації в/в:
1- Пристрій разом зконтролларом знаходиться за межами ЕОМ
2- Контролер знаходиться в корпусі ЕОМ
3- Пристрій і вся система знаходиться в корпусі ЕОМ (HDD)
ОРГАНІЗАЦІЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ВВОДУ/ВИВОДУ
Основна ідея організації програмного забезпечення вводу-виводу полягає в розбивці його на кілька рівнів, причому нижні рівні забезпечують екранування особливостей апаратури від верхніх,а ті, у свою чергу, забезпечують зручний інтерфейс для користувачів.
Ключовим принципом є незалежність від пристроїв. Вигляд програми не повинен залежати від того, чи читає вона дані з гнучкого чи з твердого диска.
Проблема обробки помилок вирішується контролером.
Ще одне ключове питання – це використання блокувальних (синхронних) і неблокувальних (асинхронних) передач.
Мета:
Забезпечити зручність програмування в рамках подолання семантичного розриву.
Забезпечити взаємонезалежність програмного забезпечення та пристроїв різних типів.
СХЕМА БАГАТОРІВНЕВОЇ ОРГАНІЗАЦІЇ ПЗ ВВОДУ/ВИВОДУ
Абстракція незалежності ( приховування)
Концепція потоків в/виводу.
Відображення пристроїв на файлову систему.
Завдання.
Приховування при одночасному доступі до одного пристрою виникає проблема некоректного змагання паралельних процесів за доступом до пристрою.
Spoding (розмотування) – процес моніторингу пристрою в/вив, який вирішує проблему одночасного доступу, формуючи через каталог звернень до пристроїв. Альтернативою може бути механізм монопольного захоплення.
УПРАВЛІННЯ ВВОДОМ/ВИВОДОМ: ОБРОБКА ПЕРЕРИВАНЬ
Існують 2 ідеології побудови систем:
Офісні, лабораторні системи – тотальна передбачуваність їх роботи. Для таких систем намагаються зменшити кількість виникнення переривань та локалізувати їх в надрах ОС.
Системи реального часу. Обробка переривань – центральний момент роботи системи. Характерна непередбачуваність. Управління процесами обробки переривань здійснює контролер переривань.
В сучасних контролерах переривань реалізована складна система пріоритетів яка використовується при побудові черги переривань на обробку.
УПРАВЛІННЯ ВВОДОМ/ВИВОДОМ: ДРАЙВЕРИ ПРИСТРОЇВ
Драйвер (англ. driver) - це комп'ютерна програма, за допомогою якої інша програма (зазвичай операційна система) Отримує доступ до апаратного забезпечення деякого пристрою. У загальному випадку, для використання будь-якого пристрою (як зовнішнього, так і внутрішнього) необхідний драйвер. Операційна система керує деяким «віртуальним пристроєм», що розуміє стандартний набір команд. Драйвер переводить ці команди в команди, які розуміє безпосередньо пристрій.
ПОНЯТТЯ ФАЙЛОВОЇ СИСТЕМИ
Файлова система - це частина ОС призначена для зручної організації та представлення даних, що зберігаються у зовнішніх пристроях пам’яті.
Файлова система може також означати:
Сукупність всіх файлів на диску;
Набір структур даних, які використовуються для управління даними;
Набір системного ПЗ, який забезпечує управління файлами.
FAT(File Allocation Table) -> FAT16, FAT32
UFS(Unix File System)
NTFS(NT File System)
ІМЕНУВАННЯ ФАЙЛІВ (ІЄРАРХІЧНА СИСТЕМА ІМЕН)
Принцип отримати доступ до ресурсу, означає дізнатись його імя. З точки зору зручності для користувача файлам надаються символьні імена. Основна умова унікальність імені файлу.
Ідея ієрархії імен: згідно неї простір імен реалізується у вигляді направленого графу.
Паралельна інформаційна структура для системи(несимвольна).
Приклад: лінійний каталог номерів файлів. (в Unix i-node)
n2:alc n3:cde n4:four
ОБ’ЄКТИ ФАЙЛОВОЇ СИСТЕМИ
Файл даних(звичайний файл);
Спеціальні файли(файли пристрою). Файл асоційований з пристроєм вводу/виводу;
Каталоги (вузли в ієрархічній системі імен);
Каталог – це файл, який містить системну інформацію про файли і каталоги, які входять в цей каталог.
Способи збереження файлу:
Вся інформація про файл і каталог міститься в цьому файлі;
Коли ця інформація міститься у вигляді посилань на відповідні рядки в службових таб.
Посилання (лінки) призначені для переконфігуровування дерева імен у зручну форму;
Типи лінків: Hard link та Simbolic(Soft) link.
ЛОГІЧНА ТА ФІЗИЧНА ОРГАНІЗАЦІЯ ФАЙЛУ
Логічна організація файлу призначена для програміста (включає початок, запис, кінець). Лінійна послідовність запису символів (потік символів) з вказівником початку файлу.
В результаті виникають певні ускладнення:
Розбиття на рядки(однакової довжини, блоки), тому потрібний символ кінця рядка;
Записи з ключами або індексами
Приклад: теги HTML/XML. При цьому ускладнюється семантичний розбір.
Фізична організація файлу – як файл розміщено у пристрої пам’яті (залежить від специфіки цього пристрою).
Основним принципом фізичної організації файлу, що файли розбиваються на блоки:
Лінійно-послідовне розміщення блоків;
Розміщення блоків зв’язаним списком;
Існують методи «боротьби» з фрагментацією дискового простору (дефрагментаційні утиліти)
Існують методи розміщення нових файлів, в такий спосіб, щоб зменшити фрагментацію диску.
АРХІТЕКТУРИ ФАЙЛОВИХ СИСТЕМ
Окремі логічні диски з незалежними файловими системами (використовують драйвери файлових систем, над якими розташований менеджер файлових систем, що ними керують).
Загальна файлова система до якої підключаються підпорядковано частинами файлові системи зовнішніх пристроїв пам’яті (Unix)
Інші архітектурні особливості:
Внесення змін в файлову систему. Файлова система з веденням журналу в якій реалізована можливість відкату.
Стиск даних
Безпека (шифрування/дешифрування даних)
Віртуальні файлові системи (у складі віртуальних машин)
Альтернативні способи організації даних:
Система лінійних каталогів(бібліотечний каталог). Підходять для збереження однорідних та однотипних даних.
Реляційні бази даних.
Гіпертекстові системи(симантичні мережі)
ТЕХНОЛОГІЇ ОДНОРАНГОВИХ КОМП’ЮТЕРНИХ МЕРЕЖ
Існує такі поєднання вузлів в системі:
1. Серверні ОКМ – виділяються спеціальні сервери-маршрутизатори (координаційні). Містять таблицю маршрутизації. Клієнт запитує ip в сервера. Далі клієнт безпосередньо напряму з’єднується з іншим клієнтом.
2. Децентралізована ОКМ – сервер відключений і все на плечах клієнтів. Це так звана технологія DMT – розподілені кеш-таблиці. Створення координаційного простору.
3. Комбіновані (гібридні) ОКМ – присутня і 1 і 2 ідея технологія Super nodes – координаційний сервер визначається в примусовому порядку.
ОСНОВНІ ПРОБЛЕМИ ОРГАНІЗАЦІЇ РОБОТИ ОДНОРАНГОВИХ МЕРЕЖ
Принцип організації ОКМ – використання одними вузлами мережні ресурси інших вузлів.
На інформаційному рівні такі проблеми:
Іменування вузлів та ресурсів ОКМ(потреба в унікальності імен).
Маршрутизація повідомлень та потоків даних.
Пошук ресурсів в ОКМ (пошук файлів).
Підтримка несуперечності цілості даних.
Забезпечення анонімності роботи в ОКМ.
Забезпечення безпеки роботи в ОКМ.
Концептуальні проблеми роботи ОКМ:
Децентралізованість.
Невизначеність. Кожен окремий вузол не має інформації про кількість вузлів та якими ресурсами вони володіють.
Локальність інформаційної взаємодії. Окремий вузол безпосередньо пов'язаний з обмеженою кількістю інших вузлів.
Обмеженість ресурсів. Локальні та глобальні ресурси обмежені.
Самозацікавленість користувачів мережі.
Наявність розподілених даних i можливість зміни своїх серверних ресурсів кожною робочою станцією ускладнює захист інформації від несанкціонованого доступу, що є одним з недоліків однорангових мереж. Розуміючи це, розробники починають приділяти особливу увагу питанням захисту інформації в однорангових мережах.
Іншим недоліком даних мереж є їх нижча продуктивність. Це пояснюється тим, що мережеві ресурси зосереджені на робочих станціях, яким потрібно одночасно виконувати функції клієнтів i серверів. Iз збiльшенням потужностi комп’ютерiв з’являється можливість вдосконалення технологiї однорангових мереж в напрямку пiдвищення їх ефективностi, що призводить до розширення областi їх використання.
ПРИКЛАДНИЙ РІВЕНЬ ОРГАНІЗАЦІЇ РОБОТИ ОДНОРАНГОВИХ МЕРЕЖ
Базовий конфлікт інтересів користувачів ОКМ.
Теорія ігор Дж. Фон Нейман. Льюс і Райфа.
Теорія Неш.
Базовий конфлікт може бути змодульований як гра з ненульовою сумою.
ПРИЗНАЧЕННЯ ТА ВИКОРИСТАННЯ УТИЛІТИ PROCESS EXPLORER
Утиліта Process Explorer (PE) призначена для роботи з процесами які запущені в ОС і являє собою досить непогану альтернативу до стандартного для Windows Диспетчера Задач. Дана утиліта може інтегруватись таким чином що підмінить вищезгаданий Диспетчер Задач. Першим що кидається в очі в вікні запущеного PE це дерево процесів, тобто процеси які породженні іншими процесами відображенні в деревовидній формі. Зверху відображено три графіки які відображають завантаження процесора в відсотках і процес який захоплює найбільшу частину процесорного часу, історія запису у Гб, історія вводу/виводу в КБ та історію завантаження фізичної пам’яті в Гб. Якщо клікнути по одному з цих вікон то відкриється додаткове вікно в якому відобразиться більш детальна інформація щодо цих історій. Використання даної утиліти можливе без інсталяції а лише викликом виконавчого файлу.
ПРИЗНАЧЕННЯ ТА ВИКОРИСТАННЯ УТИЛІТИ PROCESS MONITOR
Process Monitor є розширений інструмент моніторингу для Windows та показує, діяльність для систем реального часу файлів, реєстру і процесів / потоків. Можлива робота з фільтрами щодо відображення процесів та її унікальні потужні функції роблять Process Monitor основною утилітою усунення несправностей в системі шкідливих програм.
ПРИЗНАЧЕННЯ ТА ВИКОРИСТАННЯ УТИЛІТИ PSKILL
PsKill це утиліта для примусового закінчення виконання процесів, як на локальному комп’ютері так і на віддаленому. Запуск PsKill з ідентифікатором процесу направляє його, щоб вбити процес з цим ідентифікатором на локальному комп'ютері. Якщо ви вкажете ім'я процесу то PsKill вб'є всі процеси, які мають це ім'я.
ПРИЗНАЧЕННЯ ТА ВИКОРИСТАННЯ УТИЛІТИ PSLIST
Це консольна утиліта. Якщо виконати в консолі pslist exp то буде виведено статистику по всіх процесів, які починаються з "exp", який буде включати Explorer. Крім того утилітам надає можливість відобразити цю статистику з віддаленого комп’ютера.
ПРИЗНАЧЕННЯ ТА ВИКОРИСТАННЯ УТИЛІТИ PROCDUMP
ProcDump це утиліта командного рядка, головною метою якої є моніторинг аплікацій процесором і створення аварійного дампа під час піків, який адміністратор або розробник може використовувати для визначення причин цих піків. ProcDump також включає в себе вікно моніторингу (з використанням тих же визначень вікна, що використовуються в Windows Диспетчер завдань). Він також може служити в якості загального процесу dump utility, які можна вставляти в інші сценарії.
ПРИЗНАЧЕННЯ ТА ВИКОРИСТАННЯ УТИЛІТИ DISKEXT
Програма DiskExt демонструє дані про розподіл розділів томи по дисках (томи з кількома розділами можуть бути розміщені на декількох дисках) та розміщення розділів на цих дисках.
ПРИЗНАЧЕННЯ ТА ВИКОРИСТАННЯ УТИЛІТИ DISKMON
DiskMon - це програма, яка реєструє і виводить відомості про всі операції з жорстким диском, що здійснюються в системі Windows. Програму DiskMon можна згорнути в значок на панелі завдань, який виконує роль індикатора диска: зелений колір позначає операції читання з диску, а червоний - операції запису.
ПРИЗНАЧЕННЯ ТА ВИКОРИСТАННЯ УТИЛІТИ DISKVIEW
Програма DiskView виводить графічну схему диска, на якій можна визначити місце розташування файлу або дізнатися, який файл займає ті чи інші кластери (для цього потрібно клацнути кластер мишею). Подвійне клацання дозволяє одержати більш докладну інформацію про фото, якому виділений кластер. Програма Diskview працює в ОС Windows NT 4, 2000, XP і Server 2003.
ПРИЗНАЧЕННЯ ТА ВИКОРИСТАННЯ УТИЛІТИ NTFSINFO
NTFSInfo - це невелика програма, що виводить відомості про томи NTFS. У її вихідних даних є відомості про розмір кластерів диска, розташування основних файлів NTFS та обсягу наявних у складі томів файлів метаданих NTFS. Як правило, ця інформація швидше цікава, ніж корисна, але деякі дані, що виводяться NTFSInfo, дійсно варті того, щоб звернути на них увагу. Приміром, ви, напевно, чули про те, що в NTFS є аналог таблиці розміщення файлів, що застосовується у файловій системі FAT. Вона називається основної таблиці файлів (MFT) і складається із записів постійного розміру, які описують розташування всіх файлів і каталогів на диску. Цікаво, що MFT ведеться у вигляді файлу, який нічим не відрізняється від багатьох інших.
ПРИЗНАЧЕННЯ ТА ВИКОРИСТАННЯ УТИЛІТИ PSFILE
Команда «net file» виводить на екран список файлів, відкритих іншими комп'ютерами в системі, в якій виконується дана команда, однак вона усікаємо довгі імена шляхів і не дозволяє переглядати ці дані для віддалених систем. Службова програма PsFile з інтерфейсом командного рядка виводить на екран список файлів системи, які відкриті віддалено, а також дозволяє закривати відкриті файли по імені або за ідентифікатором файлу.
Призначення та використання утиліти ShareEnum
При вирішенні питань безпеки комп'ютерних мереж під управлінням операційних систем Windows NT/2000/XP загальних файлових ресурсів часто не приділяється належна увага. Системи безпеки часто мають характерний недолік, пов'язаний з тим, що користувачі надають загальний доступ до файлових ресурсів, не забезпечує достатнього рівня захисту, що дозволяє не мають відповідних прав користувачам переглядати конфіденційні файли. В системі немає вбудованих засобів для формування списків видимих в мережі спільних ресурсів із зазначенням їх параметрів безпеки, але програма ShareEnum заповнює цю прогалину і дозволяє блокувати загальні файлові ресурси мережі.
При запуску програми ShareEnum виконується сканування всіх комп'ютерів, що входять в доступні їй домени, і відображається список загальних файлових ресурсів і ресурсів друку, а також їх параметри безпеки. Для цього програма використовує функції формування списків протоколу NetBIOS. Так як тільки адміністратор домену має можливість переглядати всі мережеві ресурси, програма ShareEnum найбільш ефективна в разі її запуску з обліковим записом адміністратора домену.
Disk Usage (DU)
Програма Du (disk usage) виводить відомості про використання дискового простору у вказаному каталозі. За умовчанням вона виконує рекурсивний перегляд каталозі і зазначає його загальний розмір, а також розмір його підкаталогів.
Мережна операційна система (ОС) – це пакет програм, що забезпечує реалізацію та управління мережею, дає змогу клієнтам користуватись мережним сервісом.
Однорангові мережі дають змогу кожному вузлу мережі одночасно виступати в ролі сервера та клієнта.
Процес — мінімальний програмний об'єкт, що володіє власними системними ресурсами (запущена програма).
Контекст процесу - значення лічильника команд, регістри, ресурси, що використовуються ОС, та інше
Потоки управління - це основна одиниця розпаралелення в Windows.
Потік виконання - це незалежний потік управління обчисленнями який має свій лічильник команд та свій стан регістрів.
Драйвер (англ. driver) - це комп'ютерна програма, за допомогою якої інша програма (зазвичай операційна система) Отримує доступ до апаратного забезпечення деякого пристрою.
Файлова система - це частина ОС призначена для зручної організації та представлення даних, що зберігаються у зовнішніх пристроях пам’яті.
Каталог – це файл, який містить системну інформацію про файли і каталоги, які входять в цей каталог.
Принцип організації ОКМ – використання одними вузлами мережні ресурси інших вузлів.
Мережні операційні системи (2010)
План-конспект лекцій (Частина 2)
Організація роботи розподілених систем
Розподілена система – це набір взаємодіючих незалежних обчислювальних машин які розглядаються користувачем як єдина система.
У схемі взаємодії клієнта та сервера в розподіленій системі (рис.1): t2 >> t1, де t1 – затримка в середині машини-клієнта, t2 - затримка обміну інформацією між клієнтом та сервером (як елементами розподіленої системи).
Основні проблеми: неможливо в підсистемі B дізнатися про зміну в підсистемі А в той самий момент, а лише через час t2.
Основні аспекти організації роботи розподілених систем:
зв'язок – інформаційна взаємодія, обмін даними, обмін повідомленнями та виклик функцій.
організація – диспетчеризація обчислювальних процесів і розподіл обчислювального навантаження, розподіл мережних ресурсів.
іменування створення та підтримка єдиного простору імен.
синхронізація – забезпечення єдиного системного часу (фізичного та логічного) служби точного часу.
Реплікація та несуперечливість – підтримка достовірності (цілісності спільних даних).
надійність – стійкість для помилок опрацювання відмов та виключних ситуацій.
захист – гарантування безпеки при передачі даних і забезпечення санкціонованого доступу до програм і даних.
Рис.1. Схема взаємодії клієнта та сервера в розподіленій системі
Основні задачі СПЗ розподілених систем:
Поєднання процесів користувачів з ресурсами (власне виконання тої задачі для якої створена система).
Віддалені ресурси – це обчислювальні машини інших користувачів пристрої збереження даних і інформаційні ресурси і так далі.
Прозорість – це спрощення механізмів взаємодії користувацьких процесів за рахунок приховування деталей їх функціонування. Від користувацьких процесів приховується той факт що всі обчислювальні процеси та ресурси в системі фізично розподілені між машинами в системі.
Види прозорості:
прозорість доступу (представлення даних);
прозорість місця розташування;
прозорість реплікації (приховує той факт що працюємо з копією, а не самим ресурсом);
відкритість – надання послуг, сервісів, служб звертання до яких вимагає стандартного синтаксису та семантики. Стандартизовані інтерфейси взаємодії на всіх рівнях моделі OSI.
масштабованість – здатність до розширення розподіленої системи:
масштабованість по розміру – легкість підключення нових користувачів та ресурсів;
географічна масштабованість рознесення користувацьких процесів в просторі;
адміністративна масштабованість – це легкість управління та збору інформації про розподілену систему;
Обмін повідомленнями в розподілених системах
Зв'язок є ключовим питанням в розподілі системи
Message interface – створює свої структури даних які не залежить від application.
Message interface – повідомлення поставляється в buffer звідки в ОС.
Message router – завдання – якомога оптимальніше передати повідомлення.
Класифікація способу обміну інформацією
І. За часом існування повідомлення в системі:
стійкий зв'язок – повідомлення, що передається, зберігається в системі обміну доти поки воно не надійде утримувачу.
нерезидентний зв'язок – повідомлення зберігається в системі доти, доки виконуються процеси, які відправляють та отримують ці повідомлення.
UDP протокол – є втіленням не резидентного зв’язку.
ІІ. За способом організації відправки/прийому повідомлень:
Асинхронний зв’язок – відправник продовжує роботу відразу після відправки
Синхронний зв’язок - відправник блокується до того моменту, поки його повідомлення не дійде одержувачу.
T,S – де T=0 стійкий, T=1 нерезидентний, S=0 асинхронний, S=1 синхронний.
0,0 Стійкий асинхронний зв’язок (системи електронної пошти).
0,1 Стійкий синхронний зв’язок (вимагає більше ресурсів).
1,0 Нерезидентний асинхронний зв’язок (UDP, RPC).
1,1 Нерезидентний синхронний зв’язок з синхронізацією по отриманню.
1,1 Нерезидентний синхронний зв’язок з синхронізацією по обробці.
1,1 Нерезидентний синхронний зв’язок з синхронізацією по відповіді.
Стійкий асинхронний зв’язок в розподілених системах
стійкий зв'язок – повідомлення, що передається, зберігається в системі обміну доти поки воно не надійде утримувачу.
асинхронний зв’язок – відправник продовжує роботу відразу після відправки
Приклад: системи електронної пошти.
Стійкий синхронний зв’язок в розподілених системах
Стійкий зв'язок – повідомлення, що передається, зберігається в системі обміну доти поки воно не надійде отримувачу.
Синхронний зв’язок - відправник блокується до того моменту, поки його повідомлення не дійде одержувачу. СС зв'язок потребує найбільше ресурсів (зав. файлів на віддалений комп’ютер)
Нерезидентний асинхронний зв’язок в розподілених системах
Нерезидентний зв'язок – повідомлення зберігається в системі доти, доки виконуються процеси, які відправляють та отримують ці повідомлення.
Асинхронний зв’язок – відправник продовжує роботу відразу після відправки.НА звязок(UDP,RPC)
Нерезидентний синхронний зв’язок в розподілених системах
(з синхронізацією по отримуванню повідомлення)
Нерезидентний зв'язок – повідомлення зберігається в системі доти, доки виконуються процеси, які відправляють та отримують ці повідомлення.
Синхронний зв’язок - відправник блокується до того моменту, поки його повідомлення не дійде одержувачу.
Нерезидентний синхронний зв’язок з синхронізацією по:
отриманню.
обробці.
відповіді (коли відправник повідомлення блокується до отримання квитанції).
Віддалений виклик процедур (RPC – Remote Procedure Call)
Причина необхідності:
Відсутність потрібної функціональності.
Оптимізація обчислюваного процесу.
Оптимізація комунікаційного навантаження.
Послідовність дій, що реалізує RPC:
Програма клієнта викликає клієнтську заглушку.
Клієнтська заглушка створює повідомлення та викликає локальну ОС (назва процедури, що пересилати? куди? які параметри?).
ОС клієнта відсилає повідомлення віддаленій ОС.
Віддалена ОС передає повідомлення так званій серверній заглушці.
Серверна заглушка розпаковує повідомлення і викликає процедуру на сервері.
Сервер виконує процедуру і повертає результат серверній заглушці.
Серверна заглушка запаковує результат повідомлення і викликає свою локальну ОС.
ОС сервера відсилає повідомлення ОС клієнта.
ОС клієнта отримує повідомлення і передає його клієнтській заглушці.
Клієнтська заглушка розпаковує результат повідомлення і пересилає їх програмі.
Класичним прикладом є SunRPC I DCE RPC.
Віддалений виклик методів (RMI)
Цей механізм з’явився разом з ООП.
На відмінну від RPC замість client stub було створено proxy, а замість server stub створено skeleton.
Використовується у DCOM, java RMI, CORBA.
Поняття реплікації та несуперечливості
Поняття реплікації та несуперечливості включає в себе кешування.
Shared memory – спільна пам’ять.
Репліка (replica) – це копія деяких даних. Як правило кількість копій (реплік) необмежена.
Реплікація – це створення потрібної кількості реплік з метою підвищення продуктивності та надійності роботи системи.
Надійність: в разі виникнення помилки, помилкову копію можна замінити на вірну.
Продуктивність: для великої кількості процесів, що звертаються до одних і тих же даних за рахунок створення персональних копій різко зменшується час доступу. Копія даних розміщується поблизу процесу, що їх використовує.
Ціна, яку потрібно заплатити за підвищення надійності і продуктивності це розв’язання проблеми несуперечливості всіх реплік (копій даних).
Несуперечливість – це цілісність даних.
Кожний раз при змінах копії даних вона (копія) починає відрізнятися від усіх інших. Для забезпечення несуперечливості ці зміни треба перенести у всі інші копії. Як і коли треба переносити ці зміни визначає ціну реплікації.
Протиріччя: Реплікація підвищує продуктивність, а забезпечення несуперечливості зменшує.
Основна вимога до реалізації несуперечливості: операція читання повинна давати однаковий результат для кожної реплікації в часі та «просторі» розподіленої системи.
Ключова ідея підтримки несуперечливості: оновлення всіх реплік відбувається як атомарна операція.
Моделі несуперечливості, орієнтовані на дані
Distributed data store
Модель несуперечливості (consistency model) – це домовленість між процесами та банком даних, яка гарантує несуперечливість даних. Класифікація МН:
Жорстка несуперечливість (strict). Абсолютна впорядкованість у часі всіх звертань до пам’яті.
Лінеаризація. Усі процеси спостерігають (бачать) всі звертання до банку даних в одному і тому самому порядку і ці звертання впорядковані згідно логічного часу.
Послідовна модель. Аналогічно до 2, але звертання не впорядковані у логічному часі.
FIFO. Всі процеси бачать операції запису усіх інших процесів у порядку їх виконання. При цьому різні процеси можуть бачити різні послідовності.
Причинно-наслідкова.Усі процеси бачать усі звертання пов’язані причинно-наслідковими