Визначення операційної системи
Операційна система у класичному випадку викону комплекс взаємозв’язаних програм, які діють як інтерфейс між застосуваннями користувачів з однієї сторони і апаратним забезпечення. У відповідності з цим визначенням ОС дві групи функцій:
Надання користувачу або програмісту замість реальної апаратури коип’ютера розширеної віртуальної машини з якою простіше працювати;
Підвищення ефективності використання ком’ютера шляхом раціонального управління його ресурсами у відповідності з відповідними критеріями.
Таким чином операційна система (ОС) виконує дві по суті мало пов'язані функції: забезпечення користувачу-програмісту зручностей за допомогою надання для нього розширеної машини і підвищення ефективності використання апаатних ресусів шляхом їх раціонального керування.
ОС як розширена машина
Використовувати ЕОМ на рівні машинної мови важко. Наприклад, для організації читання блока даних із гнучкого диска програміст може використовувати 16 різноманітних команд, кожна з який потребує 13 параметрів, таких як номер блока на диску, номер сектора на доріжці і т.п. Коли виконання операції з диском завершується, контролер повертає 23 значення, що відображають наявність і типи помилок, що, очевидно, треба аналізувати. Навіть якщо не входити в курс реальних проблем програмування, ясно, що серед програмістів знайшлося б не багато бажаючих безпосередньо займатися програмуванням цих операцій. При роботі з диском програмісту-користувачу достатньо відображати його у виді деякого набору файлів, кожний із який має ім'я. Робота з файлом полягає в його відкритті, виконанні читання або запису, а потім у закритті файлу. Питання подібні таким, як при записі використовувати удосконалену частотну модуляцію або в якому стані зараз знаходиться двигун механізму переміщення голівок, що зчитують, не повинні хвилювати користувача. Програма, що приховує від програміста всі реалії апаратури - це операційна система. ОС бере на себе всі малоприємні справи, пов'язані з опрацюванням переривань, керуванням таймерами й оперативною пам'яттю, а також інші низькорівневими проблеми..
З цього погляду функцією ОС є надання користувачу деякої розширеної або віртуальної машини, яку легше програмувати і з якою легше працювати, чим безпосередньо з апаратурою, що складає реальну машину.
ОС як система керування ресурсами
В основу закладена ідея про те, що ОС насамперед система, що забезпечує зручний інтерфейс користувачам. Інший погляд дає уявлення про ОС як про деякий механізм, керування усіма частинами складної системи. Сучасні обчислювальні системи складаються з процесорів, пам'яті, таймерів, дисків, накопичувачів на магнітних стрічках, мережної комунікаційної апаратури, принтерів і інших устроїв. У відповідності з другим підходом функцією ОС є розподіл процесорів, пам'яті, устроїв і даних між процесами, що конкурують за ці ресурси. ОС повинна управляти всіма ресурсами обчислювальної машини таким чином, щоб забезпечити максимальну ефективність її функціонування. Критерієм ефективності може бути, наприклад, пропускна спроможність або реактивність системи. Керування ресурсами включає вирішення двох загальних, що не залежать від типу ресурсу задач:
планування ресурсу - тобто визначення, кому, коли, а для подільних ресурсів і в якій кількості, необхідно виділити даний ресурс;
відслідковування стану ресурсу - тобто підтримка оперативної інформації про те, зайнятий чи не зайнятий ресурс, а для подільних ресурсів - яка кількість ресурсу вже розподілено, а яка вільна.
Для вирішення цих загальних задач керування ресурсами різні ОС використовують різноманітні алгоритми, що в кінцевому рахунку і визначає їхній образ у цілому, включаючи характеристики продуктивності, область застосування і навіть користувацький інтерфейс. Так, наприклад, алгоритм керування процесором у значній мірі визначає, чи є ОС системою поділу часу, системою пакетного опрацювання або системою реального часу.
Мережева ОС.
Мережева ОС посіає центральне місце в телекомунікаційній системі. За аналогією з ОС комп’ютера мережева ОС є “мозком” з управління ресурсами буь-якої мережі. Вона дає змогу об’єнати різноманітне комунікаційне та інформаційно-обчислювальне обланання в єиний робочий комплекс.
Мережева ОС дає змогу спільно використовувати:
Дорогі апаратні ресурси- особлива це характерне для локальних телекомунікаційних мереж (спільне використання принтерів, сканерів, вінчестерів і т. д.)
Програмне забезпечення- програмне забезпечення інсталюється в одному екземплярі і використовується усіма користувачами мережі.
Інформаційні ресурси – використання розподілених баз даних, коли інформацію змінюють в одному місці, а відображається вона у інших визначених місцях. А також здійснювати ефективний та оперативний обмін інформаціією (наприклад сервіси мережі Internet : електронна пошта, ресурси WWW-серверів, передавання файлів за допомогою протоколу FTP).
Складові частини ТК мереж та ОС ТКМ
Складові частини телекомунікаційних мереж поділяють на:
Сервери- це коп’ютери, які надають частину своїх ресурсів для спільного користування абонентам ТК мережі. Вони бувають різні у залежності від типу ресурсу, який передається у спільне користування. Це файл-сервери, сервери друкування, модем-сервери і т.д. Файлові сервери виділяють свій дисковий простір та файли для загального користування та керують цим процесом. Сервери друкування керують друкуванням на мережевому друкарському пристрої на який надходять завдання з усієї мережі.
Сервери також бувають призначеними (dedicated) та непризначеними (non dedicated). Призначені сервери займаються тільки організацією обслуговування запитів, що надходять з мережі, а непризначені, крім цього, працюють зі своєю прикладною програмою програмою і користувачем. Непризначені сервери менш надійні: прикладна програма користувача на ньому може привести до “завасання” і через це припиниться робота усієї мережі.
Робочі станції – це комп’ютери, що використовують ресурси, надані серверами, але своїх ресурсів для користування не виділяють.
Комутаційне обладнання – це пристрої які об’єднують сервери та робочі станції. До даних пристроїв відносять мережеві адаптери, концентратори, комутатори, мости, маршрутизатори. Як правило в коматаційному обладнананні апаратно реалізовано протоколи фізичного та канального рівнів. Виключення складають лише маршрутизатори які працюють з протоколами мережевого рівня. Функції протоколів верхніх рівнів, а також адміністративні функції, виконує операційна система.
Класифікація ОС ТК мереж
Залежно від набору класифікаційних ознак ОС та побудовані на їх основі телекомунікаційні мережі поділяють.
За наявністю призначених серверів:
Однорангові (peer to peer) Кожна робоча станція може одночасно бути сервером та робочою станцією. Такі системи є гнучкими. В основному використовуються для організазії робочих груп ( до 10-15 робочих станцій). Перевагами є простота організації мереж. Недоліками є мала надійність, слабкий захист інформації та складність адміністрування у великих мережах
З окремими (виділеними) серверами. Для виконання серверних функцій виділяють окремі машини на яких встановлюють серверне програмне забезпечення, спроектоване спеціально для виконання серверних функцій. Сервери моуть бути як призначеними (наприклад Novell Netware 4.x) або непризначеними (наприклад Windows NT).
Очевидно, що на виділених серверах бажано встановлювати ОС, спеціально оптимізовані для виконання тих або інших серверних функцій. Тому в мережах із виділеними серверами найчастіше використовуються мережеві операційні системи, до складу яких входить декілька варіантів ОС, що відрізняються можливостями серверних частин. Наприклад, мережна ОС Novell NetWare має серверний варіант, оптимізований для роботи в якості файл-серверу, а також варіанти оболонок для робочих станцій з різноманими локальними ОС, причому ці оболонки виконують винятково функції клієнта. Іншим прикладом ОС, орієнтованої на побудову мережі з виділеним сервером, є операційна система Windows NT. На відміну від NetWare, обидва варіанти мережевої ОС - Windows NT Server (для виділеного серверу) і Windows NT Workstation (для робочої станції) - можуть підтримувати функції і клієнта і серверу. Але серверний варіант Windows NT має більше можливостей для надання ресурсів свого комп'ютера іншим користувачам мережі, тому що може виконувати більш широкий набір функцій, підтримує більша кількість одночасних з'єднань із клієнтами, реалізує централізоване керування мережею, має більш розвиті засоби захисту.
Виділений сервер не прийнято використовувати в якості комп'ютера для виконання поточних задач, не пов'язаних із його основним призначенням, тому що це може зменшити продуктивність його роботи як сервера. У зв'язку з такими розуміннями в ОС Novell NetWare на серверній частині можливість виконання звичайних прикладних програм узагалі не передбачений, тобто сервер не містить клієнтської частини, а на робочих станціях відсутні серверні компоненти. Проте в інших мережевих ОС функціонування на виділеному сервері клієнтської частини цілком можливо.
За характером роботи:
Сервери, що працюють в режимі витіснення. Спеціальний диспетчер, що виділяє процесам кванти часу центрального процесора (Unix, Windows NT, Windows XP, Windows 2000, Windows 9x).
Сервери, які не працюють в режимі витіснення. У таких серверах процеси самі віддають керування іншим процесам (Novell NetWare 4.x).

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

Мал. 1.1. Структура мережевої ОС
У мережевій операційній системі окремої машини можна виділити декілька частин (малюнок 1.1):
Засоби керування локальними ресурсами комп'ютера: функції розподілу оперативної пам'яті між процесами, планування і диспетчеризації процесів, керування процесорами в мультипроцесорних машинах, керування периферійними устроями й інші функції керування ресурсами локальних ОС.
У залежності від функцій, покладених на конкретний комп'ютер, у його операційній системі може відсутня або клієнтська, або серверная частини.
На малюнку 1.2 показана взаємодія мережних компонентів. Тут комп'ютер 1 виконує роль "чистого" клієнта, а комп'ютер 2 - роль "чистого" серверу, відповідно на першій машині відсутніх серверная частина, а на другий - клієнтська. На малюнку окремо показаний компонент клієнтської частини - редіректор. Саме редиректор перехоплює всі запити, що надходять від ужитків(aplications), і аналізує їх. Якщо видано запит до ресурсу даного комп'ютера, то він переадресовується відповідній підсистемі локальної ОС, якщо ж це запит до віддаленого ресурсу, то він переправляється в мережу. При цьому клієнтська частина перетворить запит із локальної форми в мережевий формат і передає його транспортній підсистемі, що відповідає за доставку повідомлень зазначеному серверу. Серверна частина операційної системи комп'ютера 2 приймає запит, перетворить його і передає для виконання своїй локальній ОС. Після того, як результат отриманий, сервер звертається до транспортної підсистеми і спрямовує відповідь клієнту, що видав запит. Клієнтська частина перетворить результат у відповідний формат і адресує його тому застосуванню (ужитку), що видав запит.

Мал. 1.2. взаємодія компонентів операційної системи при взаємодії комп'ютерів
Програма переспрямування зберігає інформацію про наявність серверів мережі і ставить у відповідність символьним посиланням (наприклад, A:, O:, Z:, LPT1) реальні ресурси локального комп'ютера або мережі. На відміну від багатотермінальної системи завдання в КМ виконуються на робочих станціях та читаються з файл-сервера.
Ідею переспрямування широко застосовують в архітектурі сучасних мережевих ОС головним чином для збільшення універсальності їх застосування, наприклад, в організації багатопротокольності, про що буде у наступних лекціях.
Операційна система сервера складніша. Вона виконує набір функцій, які можна розбити на такі групи:
підтримка файлової системи;
керування нам яттю;
планування завдань;
адміністративні функції;
керування друкуванням.
головні функції операційнійної системи
Конкретний набір функцій сервера залежить від типу сервера та його конфігурації. Наприклад, для файл-сервера головними є функції файлової системи, планування завдань, керування пам'яттю та доступом до ресурсів. До появи ідеології файл-серверів кожен користувач прямо звертався до диска так званого диск-сервера. Оскільки вплив перешкод від одночасного звертання був значним, то така система не була надійною і не зберігала цілісність інформації. У файл-сервері запит спочатку потрапляє в ОС сервера, яка керує доступом усіх користувачів та дає змогу уникнути взаємних перешкод.
ОС сервера застосовує деякі вбудовані в цю ОС функції, орієнтовані на колективне використання файлів, зокрема розширене відкривання файлів та їхнє фізичне блокування. Функція розширеного відкривання визначає, які права доступу можуть мати користувачі, а саме: читання, записування, читання/записування. Якщо файл потрібно змінити, то його відкривають з правом читання/записування та відміняють такі права для інших користувачів. Права зберігають аж до закриття файлу. Описане відкривання файлу називається неподільним (монопольним]. Якщо файл треба читати, то його можна відкрити з правом читання та заборонити записування для інших. Файл можуть відкрити одночасно кілька користувачів, якщо їхні права не суперечать одне одному. Якщо два або більше користувачів одночасно хочуть змінити файл, то ОС використовує операцію блокування запису. Прикладні програми можуть блокувати конкретний запис. Отже, однією з функцій ОС мережі є керування доступом до файлів, створення черг запитів та керування ними. Іноді реалізується пріоритетний доступ файлів.
Мережеві служби та мережеві сервіси
Сукупність серверної та клінтської частин ОС, що представляють доступ до конкретного типу мережевого ресурсу називаться мережевою службою. Говорять, що мережева служба нада користувачам мережі деякий набір послуг ( які інколи називають мережевим сервісом). На практиці під поняттям сервіс розуміють інтерфейс між споживачем послуг і їх постачальником(службою).
На практиці склалося декілька підходів до побудови мережних операційних систем (малюнок 1.3), які розрізняються глибиною вбудови мережевих служб в операційну систему:
Мережеві служби глибоко вбудовані в ОС;
Мережеві служби об’днані у вигляді деякого наабору – оболонки;
Мережеві служби постачаються у вигляді окремого продукту.
Перші мережеві ОС являли собою сукупність вже існуючої локальної ОС і надбудованою над нею оболонкою. При цьому в локальну ОС вбудовували мінімум функцій, необхідних для роботи мережевої оболонки , яка виконувала основні мережеві функції. рикладом такого підходу є використання на кожній машині мережі операційної системи MS DOS (у котрої починаючи з її третьої версії з'явилися такі умонтовані функції, як блокування файлів і записів, необхідні для спільного доступу до файлів). Принцип побудови мережевих ОС у виді мережевої оболонки над локальною ОС використовується й у сучасних ОС, таких, наприклад, як LANtastic або Personal Ware, Windows 3.1.
Однак еволюція мережевих ОС показала, що більш ефективним підхід, при якому мережева ОС з самого початку проектуться спеціально для роботи в мережі. Мережеві функції у таких ОС глибоко вбудовані в основні модулі системи, що забезпечу їх логічну чіткість, простоту в експлуатації і модиікації, а також високу продуктивність. Важливо також, що при даному підході відсутня надлишковість. Якщо всі мережеві служби добре інтегровані, тобто розглядаються як невід’мні чапастини ОС, то всі внутрішні механізми цієї ОС можуть бути оптимізовані для виконання мережевих функцій. Прикладом такий ОС є система Windows NT фірми Microsoft, що за рахунок вбудованості мережних засобів забезпечує більш високі показники продуктивності і захищеності інформації в порівнянні з мережевою ОС LAN Manager тієї ж фірми (спільна розробка з IBM), що є надбудовою над локальною операційною системою OS/2.
Інший варіант реалізації мережевих служб – об’єднання їх в вигляді деякого набору (оболонки), при цьому всі служби такого набору повинні бути між собою узгоджені, тобто в своїй роботі вони можуть звертатися одна до одної, мати в своєму складі спільні компоненти, наприклад загальну підтему аутентифікації користувачів або єдиний користувацький інтерфейс. Для роботи оболонки необхідно наявність локальної операційної системи, яка б виконувала звичайні функції, що необхідні для управління апаратурою комп’ютера, і в середовищі якої виконувалися б мережеві служби, що складає цю оболонку. Оболонка представляє собою самостійний програмний продукт. В якості прикладів мережевої оболонки можна назвати LAN Server i LAN Manadger. Одна і та сама оболонка може працювати над різноманітними операційними системами.
Третій спосіб реалізації мережевих служб – у вигляді окремого продукту. Наприклад,сервер віддаленого управління WinFrame – продукт компанії Citrix – призначений для роботи в середовищі роботи Windows NT. Вона доповнює можливості вбудованого в Windows NT сервера віддаленого доступу Remote Access Server.
Мал. 1.3. Варіанти побудови мережевих ОС