Мережеві ОС
Мережні операційні системи мають різні властивості залежно від цього, призначені вони для мереж масштабу робочої групи (відділу), для мереж масштабу кампусу або заради мереж масштабу підприємства. Мережі відділів — використовуються невеличкий групою співробітників, вирішальних загальні завдання. Головна мета мережі відділу є поділ локальних ресурсів, як-от докладання, дані, лазерні принтери і… Читати ще >
Мережеві ОС (реферат, курсова, диплом, контрольна)
1. Запровадження 3.
1.1 ОС як розширена машина 3.
1.2 ОС як систему управління ресурсами 3.
2. Класифікація ОС 4.
2.1 Особливості алгоритмів управління ресурсами 4 2.1.1. Підтримка багатозавдань. 4 2.1.2. Підтримка многопользовательского режиму. 4 2.1.3. Вытесняющая і невытесняющая многозадачность. 4 2.1.4. Підтримка многонитевости. 4 2.1.5. Многопроцессорная обробка. 5.
2.2 Особливості апаратних платформ 5.
2.3 Особливості областей використання 6.
2.4 Особливості методів побудови 6.
3. Мережні операційні системи 8.
3.1 Структура мережевий ОС 8.
3.2 Однорангові мережні ОС і ОС з виділеними серверами 10.
3.3 ОС для робочих груп, і ОС для мереж масштабу підприємства 11.
4. Процеси і нитки в розподілених системах 14.
4.1 Поняття «нитку «14.
4.2 Різні способи організації обчислювального процесу з використанням ниток 14.
4.3 Питання реалізації ниток 16.
4.4 Нитки і RPC 16.
5. Сучасні концепції, й технології проектування операційними системами 17.
5.1 Вимоги, які пред’являються ОС 90-х 17 5.1.1. Розширюваність 17 5.1.2. Переносність 18 5.1.3. Сумісність 19 5.1.4. Безпека 19.
6. Операційні системи різних фірм виробників програмного забезпечення 21.
6.1 Сімейство операційними системами UNIX 21.
6.2 Микроядро Mach 23 6.2.1. Історія Mach 24 6.2.2. Цілі Mach 24 6.2.3. Основні концепції Mach 24 6.2.4. Сервер Mach BSD UNIX 25.
6.3 Мережні продукти фірми Novell 26 6.3.1. Історія життя та версії мережевий ОС NetWare 26 6.3.2. Версія NetWare 4.1 27.
6.4 Сімейство мережевих ОС компанії Microsoft 29 6.4.1. Мережні продукти Microsoft 29 6.4.2. Windows NT 4.0 30 6.4.3. Області використання Windows NT 30 6.4.4. Концепції Windows NT 31 6.4.5. Сумісність Windows NT з NetWare 41.
6.5 Операційна система OS/2 42 6.5.1. Історія розвитку OS/2 та її місце над ринком 42 6.5.2. Битва Microsoft — IBM над ринком настільних ОС 42 6.5.3. OS/2 — поступові поліпшення 43.
7. Укладання 44.
Список літератури 46.
приложение 47.
Операційна система найбільше визначає образ всієї обчислювальної системи загалом. Попри це, користувачі, активно використовують обчислювальну техніку, найчастіше відчувають труднощі при спробі дати визначення операційній системі. Частково це пов’язано з тим, що ОС виконує дві сутнісно мало пов’язані функції: забезпечення пользователю-программисту зручностей у вигляді надання йому розширеній машини та підвищення ефективність використання комп’ютера шляхом раціонального управління його ресурсами.
1 ОС як розширена машина.
Використання більшості комп’ютерів лише на рівні машинного мови важко, особливо це ж стосується вводу-виводу. Наприклад, для організації читання блоку даних із гнучкого диска програміст може використовувати 16 різних команд, кожна з яких вимагає 13 параметрів, як-от номер блоку на диску, номер сектора на доріжці тощо. п. Коли виконання операції з диском завершується, контролер повертає 23 значення, що відбивають наявність і типи помилок, які, очевидно, треба аналізувати. Навіть якщо взяти не укладати курс реальні проблеми програмування вводу-виводу, ясно, що з програмістів не знайшлося б не багато бажаючих безпосередньо займатися програмуванням операцій. Працюючи з диском программисту-пользователю досить представляти її в вигляді деякого набору файлів, кожен із яких має ім'я. Фундаментальна обізнаність із файлом у його відкритті, виконанні читання чи записи, потім у закритті файла. Питання подібні таких як чи варто під час запису використовувати удосконалену частотну модуляцію чи якому ж стані нині двигун механізму переміщення считывающих головок, не повинні хвилювати користувача. Програма, яка приховує від програміста все реалії апаратури і дає можливість простого, зручного перегляду зазначених файлів, читання чи записи — це, звісно, операційна система. Так само, як ОС захищає програмістів від апаратури дискового нагромаджувача і дає йому простий файловий інтерфейс, операційна система перебирає малоприємні справи, пов’язані з обробкою переривань, управлінням таймерами і оперативної пам’яттю, і навіть інші низькорівневі проблеми. У кожній оказії та абстрактна, уявна машина, з якою, завдяки операційній системі, тепер може мати справу користувач, набагато простіше й зручніше у спілкуванні, ніж реальна апаратура, що у основі цієї абстрактної машины.
С цієї погляду функцією ОС є надання користувачеві деякою розширеній чи віртуальної машини, яку легше програмувати і з якою легше працювати, ніж безпосередньо з апаратурою, складової реальну машину.
2 ОС як систему управління ресурсами.
Ідея у тому, що ОС передусім система, забезпечує зручний інтерфейс користувачам, відповідає розгляду згори донизу. Інший погляд, знизу вгору, дає чітке уявлення про ОС як «про деякому механізмі, управляючому усіма частинами складної системи. Сучасні обчислювальні системи складаються з процесорів, пам’яті, таймерів, дисків, накопичувачів на магнітних стрічках, мережевих комунікаційної апаратури, принтерів та інших пристроїв. Відповідно до другим підходом функцією ОС є розподіл процесорів, пам’яті, пристроїв та об'єктивності даних між процесами, конкуруючими ті ресурсы.
ОС повинна управляти усіма ресурсами обчислювальної машини таким чином, щоб забезпечити максимальну її функціонування. Критерієм ефективності то, можливо, наприклад, пропускну здатність чи реактивність системи. Управління ресурсами включає рішення двох загальних, які залежать від типу ресурсу задач:
планування ресурсу — тобто визначення, кому, коли, а подільних ресурсів немає і скільки, необхідно виділити даний ресурс; відстеження стану ресурсу — тобто підтримку оперативної інформації у тому, зайнятий або зайнятий ресурс, а подільних ресурсів — скільки ресурсу вже розподілено, а яке свободно.
Для розв’язання цих загальних завдань управління ресурсами різні ОС використовують різні алгоритми, що у кінцевому підсумку яких і визначає їх образ загалом, включаючи характеристики продуктивності, область застосування і навіть користувальницький інтерфейс. Приміром, алгоритм управління процесором в значною мірою визначає, чи є ОС системою поділу часу, системою пакетної обробки чи системою реального времени.
Класифікація ОС.
Операційні системи можуть різнитися особливостями реалізації внутрішніх алгоритмів управління основними ресурсами комп’ютера (процесорами, пам’яттю, пристроями), особливостями використаних методів проектування, типами апаратних платформ, областями використання коштів і багатьма іншими властивостями. Нижче приведено класифікація ОС з кількох найбільш основним признакам.
1 Особливості алгоритмів управління ресурсами От ефективності алгоритмів управління локальними ресурсами комп’ютера у що свідчить залежить ефективність всієї мережевий ОС загалом. Тому, характеризуючи мережну ОС, часто наводять найважливіші особливості реалізації функцій ОС по управлінню процесорами, пам’яттю, зовнішніми пристроями автономного комп’ютера. Приміром, залежно від особливостей використаного алгоритму управління процесором, операційні системи ділять на многозадачные і однозадачные, многопользовательские і однопользовательские, на системи, підтримують многонитевую обробку та котрі підтримують її, на многопроцессорные і однопроцессорные системы.
1 Підтримка многозадачности.
За кількістю одночасно виконуваних завдань операційні системи може бути розділені на два класу: однозадачные (наприклад, MS-DOS, MSX) і многозадачные (OC EC, OS/2, UNIX, Windows 95). Однозадачные ОС переважно виконують функцію надання користувачеві віртуальної машини, роблячи простішим і дуже зручним процес взаємодії користувача з комп’ютером. Однозадачные ОС включають засоби управління периферійними пристроями, засоби управління файлами, кошти спілкування з користувачем. Многозадачные ОС, крім перелічених вище функцій, управляють поділом спільно використовуваних ресурсів, як-от процесор, оперативна пам’ять, файли і його зовнішні устройства.
2 Підтримка многопользовательского режима.
За кількістю одночасно працюючих користувачів ОС діляться на: однопользовательские (MS-DOS, Windows 3. x, ранні версії OS/2); многопользовательские (UNIX, Windows NT). Головним відзнакою многопользовательских систем від однопользовательских служить наявність засобів захисту інформації кожного користувача від несанкціонованого доступу інших користувачів. Слід зазначити, що ні всяка многозадачная система є многопользовательской, і всяка однопользовательская ОС є однозадачной.
3 Вытесняющая і невытесняющая многозадачность.
Найважливішим поділюваним ресурсом є процессорное час. Спосіб розподілу процесорного часу між кількома одночасно що у системі процесами (чи нитками) багато чому визначає специфіку ОС. Серед сили-силенної існуючих варіантів реалізації багатозавдань можна назвати дві групи алгоритмів: невытесняющая многозадачность (NetWare, Windows 3. x); вытесняющая многозадачность (Windows NT, OS/2, UNIX). Основним відмінностями між вытесняющим і невытесняющим варіантами багатозавдань є ступінь централізації механізму планування процесів. У першому випадку механізм планування процесів повністю зосереджений в операційній системі, тоді як у другому — розподілено між системою та прикладними програмами. При невытесняющей багатозавдань активний процес виконується до того часу, що він сам, з власної ініціативи, не віддасть управління операційній системі у тому, щоб вибрала з черги інший готова до виконання процес. При вытесняющей багатозавдань постанову по переключенні процесора з однієї процесу на інший приймається операційній системою, а чи не самим активним процессом.
4 Підтримка многонитевости.
Важливим властивістю операційними системами є можливість розпаралелювання обчислень у межах одного завдання. Многонитевая ОС поділяє процессорное час не між завданнями, а поміж їхніми окремими гілками (нитями).
5 Многопроцессорная обработка.
Другим важливим властивістю ОС є або наявність у ній коштів підтримки многопроцессорной обробки — мультипроцессирование. Мультипроцессирование призводить до ускладнення всіх алгоритмів управління ресурсами. Нині стає загальноприйнятим введення у ОС функцій підтримки многопроцессорной обробки даних. Такі функції є у операційних системах Solaris 2. x фірми Sun, Open Server 3. x компанії Santa Crus Operations, OS/2 фірми IBM, Windows NT фірми Microsoft і NetWare 4.1 фірми Novell. Многопроцессорные ОС можуть класифікуватися за способом організації обчислювального процесу у системі з многопроцессорной архітектурою: асиметричні ОС і симетричні ОС. Асиметрична ОС повністю виконується одному з процесорів системи, розподіляючи прикладні завдання іншим процесорам. Симетрична ОС повністю децентралізована і використовує весь пул процесорів, поділяючи їх між системними і прикладними завданнями. Вище було розглянуто характеристики ОС, пов’язані з міським управлінням лише одним типом ресурсів — процесором. Важливе впливом геть образ операційній системи загалом, спроможності її використання їх у тій чи іншій області надають особливості та інших підсистем управління локальними ресурсами — підсистем управління пам’яттю, файлами, пристроями виводу-введення-висновку. Специфіка ОС виявляється у тому, яким чином вона реалізує мережні функції: розпізнавання і перенапрямок до мережі запитів до віддаленим ресурсів, передача повідомлень через мережу, виконання віддалених запитів. При реалізації мережевих функцій виникає комплекс завдань, що з розподіленим характером збереження і обробки даних у мережі: ведення довідкової інформації про усіх можливих у мережі ресурсах і серверах, адресація взаємодіючих процесів, забезпечити прозорість доступу, тиражування даних, узгодження копій, підтримка безпеки данных.
2 Особливості апаратних платформ На властивості ОС безпосередній вплив надають апаратні кошти, куди вона орієнтована. На кшталт апаратури розрізняють операційні системи персональних комп’ютерів, мини-компьютеров, мейнфреймов, кластерів та мереж ЕОМ. Серед перелічених типів комп’ютерів могли трапитися як однопроцессорные варіанти, і многопроцессорные. У будь-якому разі специфіка апаратних коштів, зазвичай, віддзеркалюється в специфіці операційними системами. Вочевидь, що ОС великий машини є складною і функціональної, ніж ОС самого персонального комп’ютера. Так було в ОС великих машин функції планування потоку виконуваних завдань, очевидно, реалізуються шляхом використання складних пріоритетних дисциплін і вимагають більшої обчислювальної потужності, ніж у ОС персональних комп’ютерів. Аналогічно само і коїться з іншими функціями. Мережевий ОС має у собі кошти передачі повідомлень між комп’ютерами лініями зв’язку, що цілком непотрібні в автономної ОС. За підсумками цих повідомлень мережна ОС підтримує поділ ресурсів комп’ютера між віддаленими користувачами, під'єднаними до неї. Для підтримки функцій передачі повідомлень мережні ОС містять спеціальні програмні компоненти, реалізують популярні комунікаційні протоколи, такі як ІР, IPX, Ethernet та інші. Многопроцессорные системи вимагає від ОС особливої організації, з допомогою якій саме операційна система, і навіть підтримувані нею докладання міг би виконуватися паралельно окремими процесорами системи. Паралельна робота окремих частин ОС створює додаткові проблеми для розробників ОС, позаяк у цьому випадку набагато складніше забезпечити узгоджений доступ окремих процесів до загальним системним таблицям, виключити ефект гонок й інші небажані наслідки асинхронного виконання. Інші вимоги висуваються до операційним системам кластерів. Кластер — слабко пов’язана сукупність кількох обчислювальних систем, працюючих спільно до виконання загальних додатків, і які здавалися користувачеві єдиної системою. Поруч із спеціальної апаратурою для функціонування кластерных систем необхідна, і програмна підтримку з боку ОС, що зводиться переважно до синхронізації доступу до поділюваним ресурсів, виявлення відмов і динамічної реконфигурации системи. Однією із перших розробок у галузі кластерных технологій були рішення компанії Digital Equipment з урахуванням комп’ютерів VAX. Нещодавно цій компанією укладено угоди з корпорацією Microsoft про розробку кластерної технології, використовує Windows NT. Кілька компаній пропонують кластери з урахуванням UNIX-машин. Поруч із ОС, орієнтованими на цілком певний тип апаратної платформи, існують операційні системи, спеціально розроблені таким чином, що вони були легко перенесені з комп’ютера одного типу на комп’ютер іншого типу, звані мобільні ОС. Найяскравішим прикладом такий ОС популярна система UNIX. У цих системах аппаратно-зависимые місця старанно локалізовано, отже при перенесення системи нові платформу переписуються лише вони. Засобом, що полегшує перенесення решти ОС, є написання в машиннонезалежному мові, наприклад, на З, який був розроблений для програмування операційних систем.
3 Особливості областей использования Многозадачные ОС поділяються втричі типу відповідно до використаними їх розробники критеріями ефективності: системи пакетної обробки (наприклад, OC EC), системи поділу часу (UNIX, VMS), системи реального часу (QNX, RT/11). Системи пакетної обробки призначалися вирішення завдань переважно обчислювального характеру, які потребують швидкого результатів. Головна мета і критерієм ефективності систем пакетної обробки є максимальна пропускну здатність, тобто рішення максимальної кількості завдань в одиницю часу. Досягнення цього в системах пакетної обробки використовуються наступна схема функціонування: на початку роботи формується пакет завдань, кожне завдання містить вимогу до системним ресурсів; від цього пакета завдань формується мультипрограммная суміш, то є чимало одночасно виконуваних завдань. Для одночасного виконання вибираються завдання, що пред’являють відмінні вимоги до ресурсів, те щоб забезпечувалася збалансована завантаження всіх пристроїв обчислювальної машини; так, наприклад, в мультипрограммной суміші бажано одночасна наявність обчислювальних завдань і завдань із інтенсивним уведенням-висновком. Отже, вибір нового завдання з пакету завдань залежить від внутрішній ситуації, що складається у системі, тобто вибирається «вигідне «завдання. Отже, в ОС неможливо гарантувати виконання тієї чи іншої завдання протягом певного періоду часу. У системах пакетної обробки переключення процесора з виконання одного завдання виконання інший відбувається у разі, якщо активна завдання сама цурається процесора, наприклад, через необхідності виконати операцію виводу-введення-висновку. Тому одним це може надовго зайняти процесор, що унеможливлює виконання інтерактивних завдань. Отже, взаємодія користувача з обчислювальної машиною, де установлено систему пакетної обробки, зводиться до того що, що він приносить завдання, віддає його диспетчеру-оператору, тож під кінець дні після виконання всього пакета завдань отримує результат. Вочевидь, що така порядок знижує ефективності роботи користувача. Системи поділу часу покликані виправити основний недолік систем пакетної обробки — ізоляцію пользователя-программиста від процесу виконання його завдань. Кожному користувачеві системи поділу часу надається термінал, із якої він може вести діалог із своєї програмою. Позаяк у системах поділу часу кожного завдання виділяється лише квант процесорного часу, жодна завдання займає процесор надовго, та палестинці час відповіді виявляється прийнятним. Якщо квант обраний досить невеликим, те в всіх користувачів, одночасно працівників одному й тому ж машині, видається, що з них одноосібно використовує машину. Зрозуміло, що системи поділу часу мають меншою пропускною спроможністю, ніж системи пакетної обробки, бо в виконання приймається кожна запущена користувачем завдання, а чи не та, яка «вигідна «системі, та, крім того, є накладні витрати обчислювальної потужності більш часте переключення процесора з завдання на завдання. Критерієм ефективності систем поділу часу не максимальна пропускну здатність, а зручність і ефективності роботи користувача. Системи реального часу застосовуються керувати різними технічними об'єктами, такими, наприклад, як верстат, супутник, наукова експериментальну установку чи технологічними процесами, такі як гальванічна лінія, доменний процес тощо. В усіх цих випадках існує гранично дозволене час, протягом якого має бути виконано та чи інша програма, управляюча об'єктом, інакше може відбутися аварія: супутник вийде із зони видимості, експериментальні дані, вступники з датчиків, буде втрачено, товщина гальванічного покриття ні відповідатиме нормі. Отже, критерієм ефективності для систем реального часу був частиною їхнього здатність витримувати заздалегідь задані інтервали часу між запуском програми розвитку й отриманням результату (управляючого впливу). Це час називається часом реакції системи, а відповідне властивість системи — реактивністю. Для цих систем мультипрограммная суміш є фіксований набір заздалегідь розроблених програм, а вибір програми на виконання здійснюється з поточного стану об'єкта чи відповідність до розписом планових робіт. Деякі операційні системи можуть поєднувати у собі властивості систем різних типів, наприклад, частина завдань може виконуватися як пакетної обробки, а частина — як реального часу, чи як поділу часу. У разі режим пакетної обробки часто називають фоновим режимом.
4 Особливості методів построения При описі ОС часто вказуються особливості її структурної організації та основні концепції, призначені у її основу. До таких базовим концепціям ставляться: Способи побудови ядра системи — монолітне ядро чи мікроядерний підхід. Більшість ОС використовує монолітне ядро, яке компонується як біжать програма, яка у привілейованому режимі яка використовує швидкі переходи з одного процедури в іншу, які потребують перемикання з привілейованого режиму на користувальницький і навпаки. Альтернативою є будування ОС з урахуванням мікроядра, працюючого й у привілейованому режимі виконує лише мінімум функцій по управлінню апаратурою, тоді як функції ОС вищого рівня виконують спеціалізовані компоненти ОС — сервери, працюють у користувальному режимі. За такої побудові ОС працює більш як повільно, оскільки часто виконуються переходи між привілейованим режимом і користувальницьким, зате система виходить гнучкішою — її функції можна нарощувати, модифікувати чи звужувати, додаючи, модифікуючи чи виключаючи сервери користувальницького режиму. З іншого боку, сервери добре захищені друг від одну немов й зняти будь-які користувальні процеси. Побудова ОС з урахуванням объектно-ориентированного підходу дає можливість використовувати усі його гідності, добре зарекомендували себе рівні додатків, всередині ОС, саме: акумуляцію вдалих рішень на формі стандартних об'єктів, можливість створення нових об'єктів з урахуванням наявних з допомогою механізму наслідування, хорошу захист даних у цих колегіях инкапсуляции у внутрішні структури об'єкта, що робить дані недоступними для несанкціонованого використання ззовні, структуризованность системи, що з набору добре певних об'єктів. Наявність кількох прикладних середовищ дає можливість у однієї ОС одночасно виконувати докладання, розроблені для кількох ОС. Багато сучасні операційні системи підтримують одночасно прикладні середовища MS-DOS, Windows, UNIX (POSIX), OS/2 чи навіть деякого підмножини з цього популярного набору. Концепція багатьох прикладних середовищ найбільш просто реалізується у ОС з урахуванням мікроядра, з якого працюють різні сервери, частина яких реалізують прикладну середу тій чи іншій операційній системи. Розподілена організація ОС дозволяє спростити роботу користувачів і програмістів в мережевих середовищах. У розподіленої ОС реалізовані механізми, які дозволяють користувачеві бути і сприймати мережу вигляді традиційного однопроцессорного комп’ютера. Характерними ознаками розподіленої організації ОС є: наявність єдиної довідкової служби поділюваних ресурсів, єдиної служби часу, використання механізму виклику віддалених процедур (RPC) для прозорого розподілу програмних процедур по машинам, многонитевой обробки, що дозволяє распараллеливать обчислення у межах одного завдання і виконувати це завдання відразу на кількох комп’ютерах мережі, і навіть наявність інших розподілених служб.
Мережні операційні системы.
1 Структура мережевий операційній системы Сетевая операційна система лежить в основі будь-який обчислювальної мережі. Кожен комп’ютер у мережі значною мірою автономний, тому під мережевий операційній системи у широкому значенні розуміється сукупність операційними системами окремих комп’ютерів, котрі взаємодіють із метою обміну повідомленнями й міжнародного поділу ресурсів за правилами — протоколів. У вузькому сенсі мережна ОС — це операційна система окремого комп’ютера, забезпечує можливість працювати у сети.
[pic].
Рис. 1.1. Структура мережевий ОС У мережевий операційній системі окремої машини можна виокремити декілька частин (малюнок 1.1): Засоби управління локальними ресурсами комп’ютера: функції розподілу оперативної пам’яті між процесами, планування і диспетчеризації процесів, управління процесорами в мультипроцессорных машинах, управління периферійними пристроями та інші функцій управління ресурсами локальних ОС. Кошти надання власних ресурсів немає і послуг у загальне користування — серверна частина ОС (сервер). Ці цифри забезпечують, наприклад, блокування файлів і записів, що потрібно спільного використання; ведення довідників імен мережевих ресурсів; обробку запитів віддаленого доступу до власного файловою системи та базі даних; управління чергами запитів віддалених користувачів до своїх периферійним пристроям. Кошти запиту доступу до віддаленим ресурсів і послугам та його використання — клієнтська частина ОС (редиректор). Ця частина виконує розпізнавання і перенапрямок до мережі запитів до віддаленим ресурсів від додатків і користувачів, у своїй запит йде від докладання в локальної формі, а передається до мережі на другий формі, відповідної вимогам серверу. Клієнтська частина також здійснює прийом відповідей від серверів і перетворення в локальний формат, отож у докладання виконання локальних віддалених запитів нерозрізнено. Комунікаційні кошти ОС, з допомогою яких обмін повідомленнями у мережі. Ця частина забезпечує адресацію і буферизацію повідомлень, вибір маршруту передачі повідомлення через мережу, надійність передачі й т.п., тобто є способом транспортування повідомлень. Залежно від функцій, покладених на конкретний комп’ютер, у його операційній системі може відсутні або клієнтська, або серверна частини. На малюнку 1.2 показано взаємодія мережевих компонентів. Тут комп’ютер 1 виконує роль «чистого «клієнта, а комп’ютер 2 — роль «чистого «серверу, відповідно на першої машині відсутня серверна частина, але в другий — клієнтська. На малюнку окремо показаний компонент клієнтської частини — редиректор. Саме редиректор перехоплює все запити, які від додатків, і аналізує їх. Якщо видано запит до ресурсу даного комп’ютера, він переадресовується відповідної підсистемі локальної ОС, Якщо ж це запит до віддаленому ресурсу, він переправляється до мережі. У цьому клієнтська частина перетворює запити з локальної форми в мережевий формат і передає його транспортної підсистемі, що відповідає за доставку повідомлень зазначеному серверу. Серверна частина ОС комп’ютера 2 приймає запит, перетворює його й передає до виконання своєї локальної ОС. Потому, як наслідок отримано, сервер звертається до транспортної підсистемі і направляє відповідь клієнту, выдавшему запит. Клієнтська частина перетворює результат в відповідний формат і адресує його додатку, яку видало запрос.
[pic].
Рис. 1.2. взаємодія компонентів ОС при взаємодії комп’ютерів Насправді склалося кілька підходів побудувати мережевих операційних систем (малюнок 1.3).
[pic].
Рис. 1.3. Варіанти побудови мережевих ОС Перші мережні ОС виглядали сукупність існуючої локальної ОС і надстроєної з неї мережевий оболонки. Причому у локальну ОС встраивался мінімум мережевих функцій, необхідні роботи мережевий оболонки, яка виконувала основні мережні функції. Прикладом такого підходу використання з кожної машині мережі ОС MS DOS (що має починаючи з її третьої версії з’явилися такі вбудовані функції, як блокування файлів і записів, необхідних спільного доступу до файлам). Принцип побудови мережевих ОС як мережевий оболонки над локальної ОС використовують і у сприйнятті сучасних ОС, таких, наприклад, як LANtastic чи Personal Ware. Однак більш ефективним представляється шлях розробки операційних систем, спочатку виділені на роботи у мережі. Мережні функції у ОС подібного типу глибоко вмонтовані в основні модулі системи, що забезпечує їх логічний стрункість, простоту експлуатації і модифікації, і навіть високу продуктивність. Прикладом такої ОС є система Windows NT фірми Microsoft, яка з допомогою встроенности мережевих коштів забезпечує більш високі наведені цифри щодо й захищеності інформації з порівнянню з мережевий ОС LAN Manager тієї ж фірми (спільне вироблення з IBM), що є надбудовою над локальної операційній системою OS/2.
2 Однорангові мережні ОС і ОС з виділеними серверами В залежність від того, як розподілені функції між комп’ютерами мережі, мережні операційні системи, отже, і мережі діляться на два класу: однорангові і двухранговые (малюнок 1.4). Останні частіше називають мережами з виділеними серверами.
[pic].
(а).
[pic].
(б).
Рис. 1.4. (а) — Одноранговая мережу, (б) — Двухранговая мережу Якщо комп’ютер надає свої фінансові ресурси іншим користувачам мережі, він ж виконує функцію серверу. У цьому комп’ютер, яка звертається ресурсів інший машини, є клієнтом. Як було зазначено, комп’ютер, працював у мережі, може виконувати функції або клієнта, або серверу, або поєднувати обидві цих функцій. Якщо виконання будь-яких серверних функцій є основним призначенням комп’ютера (наприклад, надання файлів на загальне користування всім іншим користувачам сіті або організація спільного використання факсу, чи надання всім користувачам мережі можливості запуску на даному комп’ютері своїх додатків), такий комп’ютер називається виділеним сервером. Залежно від цього, який ресурс серверу є поділюваним, вона називається файл-сервером, факс-сервером, принт-сервером, сервером додатків тощо. Вочевидь, що у виділених серверах бажано встановлювати ОС, спеціально оптимизированные до виконання тих чи інших серверних функцій. Тож у мережах із виділеними серверами найчастіше використовують мережні операційні системи, до складу яких входить кількох варіантів ОС, відмінних можливостями серверних частин. Наприклад, мережна ОС Novell NetWare має серверний варіант, оптимізований до роботи на ролі файл-сервера, і навіть варіанти оболонок для робочих станцій з різними локальними ОС, причому ці оболонки виконують виключно функції клієнта. Іншим прикладом ОС, яка орієнтована побудова мережі з виділеним сервером, є операційна система Windows NT. На відміну від NetWare, обидва варіанти даної мережевий ОС — Windows NT Server (для виділеного серверу) і Windows NT Workstation (для робочої станції) — можуть підтримувати функції і імені клієнта й серверу. Але серверний варіант Windows NT має більші можливості надання ресурсів свого комп’ютера іншим користувачам мережі, оскільки може виконувати ширший набір функцій, підтримує більше одночасних сполук з клієнтами, реалізує централізоване управління мережею, має як розвинені засоби захисту. Виділений сервер немає звичаю використовувати як комп’ютера для виконання поточних завдань, які пов’язані з його основним призначенням, оскільки це може зменшити продуктивність його роботи, як серверу. У зв’язку з такими міркуваннями в ОС Novell NetWare на серверної частини можливість виконання звичайних прикладних програм взагалі передбачена, тобто сервер зовсім позбавлений клієнтської частини, але в робочих станціях відсутні серверні компоненти. Однак у інших мережевих ОС функціонування на виділеному сервері клієнтської частини цілком імовірно. Наприклад, під управлінням Windows NT Server можуть запускатися звичайні програми локального користувача, що потенційно можуть зажадати виконання клієнтських функцій ОС у разі запитів до ресурсів інших комп’ютерів мережі. При цьому робочі станції, у яких встановлено ОС Windows NT Workstation, можуть виконувати функції невыделенного серверу. Важливо зрозуміти, що попри те що мережі з виділеним сервером все комп’ютери у випадку можуть виконувати одночасно ролі й серверу, і клієнта, ця мережа функціонально не симетрична: апаратно і програмно в ній реалізовані два типу комп’ютерів — одні, більшою мірою зорієнтовані виконання серверних функцій і що під управлінням спеціалізованих серверних ОС, інші - переважно виконують клієнтські функції і що під керівництвом відповідного цього призначення варіанта ОС. Функціональна несиметричність, зазвичай, викликає і несиметричність апаратури — для виділених серверів використовуються потужніші комп’ютери з більшими на обсягами оперативної та зовнішньої пам’яті. Отже, функціональна несиметричність у мережах з виділеним сервером супроводжується несимметричностью операційними системами (спеціалізація ОС) і апаратної несимметричностью (спеціалізація комп’ютерів). У одноранговых мережах все комп’ютери рівні правах доступу до ресурсів друг друга. Кожен користувач може за власним бажанням оголосити будь-якої ресурс свого комп’ютера поділюваним, після чого інші користувачі можуть його експлуатувати. У цих мережах усім комп’ютерах встановлюється одна й та ОС, що надає всім комп’ютерів у мережі потенційно рівні можливості. Однорангові мережі може бути побудовано, наприклад, на базі ОС LANtastic, Personal Ware, Windows for Workgroup, Windows NT Workstation. У одноранговых мережах він може виникнути функціональна несиметричність: одні користувачі не бажають розділяти свої фінансові ресурси з іншими, й у такому випадку їхнє комп’ютери виконують роль клієнта, за іншими комп’ютерами адміністратор закріпив лише функції організації спільного використання ресурсів, отже є серверами, в третьому разі, коли локальний користувач не заперечує використання ресурсів немає і сам він не виключає можливості звернення до іншим комп’ютерів, ОС, встановлювана з його комп’ютері, повинна мати і серверную, і клієнтську частини. На відміну від мереж з виділеними серверами, в одноранговых мережах відсутня спеціалізація ОС залежно від переважної функціональної спрямованості - клієнта чи серверу. Усі варіації реалізуються засобами конфигурирования однієї й тієї ж варіанта ОС. Однорангові мережі простіше у створенні і експлуатації, але вони застосовуються переважно для об'єднання невеликих груп користувачів, не предъявляющих великих вимог до обсягам береженої інформації, її захищеності від несанкціонованого доступу і до швидкості доступу. При підвищених вимоги до цим характеристикам більш підходящими є двухранговые мережі, де сервер краще переймається тим обслуговування користувачів своїми ресурсами, оскільки його апаратура й мережеву операційна система спеціально спроектовані з цією цели.
3 ОС для робочих груп, і ОС для мереж масштабу предприятия.
Мережні операційні системи мають різні властивості залежно від цього, призначені вони для мереж масштабу робочої групи (відділу), для мереж масштабу кампусу або заради мереж масштабу підприємства. Мережі відділів — використовуються невеличкий групою співробітників, вирішальних загальні завдання. Головна мета мережі відділу є поділ локальних ресурсів, як-от докладання, дані, лазерні принтери і модеми. Мережі відділів звичайно поділяються на подсети. Мережі кампусів — з'єднують кілька мереж відділів всередині окремого будинку чи всередині однієї території підприємства. Ці мережі є всі ще локальними мережами, хоч і можуть покривати територію України у кілька квадратних кілометрів. Сервіси такий мережі включають взаємодія між мережами відділів, доступом до баз даних підприємства, доступом до факс-серверам, високошвидкісним модемів і високошвидкісним принтерам. Мережі підприємства (корпоративні мережі) — об'єднують все комп’ютери всіх територій окремого підприємства. Вони можуть покривати місто, регіон чи навіть континент. У цих мережах користувачам надається доступом до інформації та додатків, які у інших робочих групах, інших відділах, підрозділах і штаб-квартирах корпорації. Головне завдання ОС, яка у мережі масштабу відділу, є організація поділу ресурсів, як-от докладання, дані, лазерні принтери і, можливо, низкоскоростные модеми. Зазвичай мережі відділів мають одну чи дві файлових серверу та лише 30 користувачів. Завдання управління лише на рівні відділу щодо прості. До завдань адміністратора входить додавання нових користувачів, усунення простих відмов, інсталяція нових вузлів і установка нових версій програмного забезпечення. Операційні системи мереж відділів добре відпра-цьовані й досить різноманітні, також, як і держава сама мережі відділів, віддавна застосовувані і налагоджені. Така мережу зазвичай використовує одну чи максимум дві мережні ОС. Найчастіше це мережу з виділеним сервером NetWare 3. x чи Windows NT, або ж одноранговая мережу, наприклад мережу Windows for Workgroups. Користувачі і адміністратори мереж відділів невдовзі усвідомлюють, що можуть поліпшити ефективність своєї роботи шляхом отримання доступу до інформації інших відділів свого підприємства. Якщо працівник, займається продажами, може мати простий доступом до характеристикам конкретного продукту і може включити їх в презентацію, ця інформація буде більш свіжою та триватиме більший вплив на покупців. Якщо відділ маркетингу може мати простий доступ до характеристикам продукту, який поки лише розробляється інженерним відділом, він може швидко підготувати маркетингові матеріали відразу ж потрапити по закінченні розробки. Отже, наступним кроком у еволюції мереж є об'єднання локальних мереж кількох відділів на єдину мережу будівлі групи будинків. Такі мережі називають мережами кампусів. Мережі кампусів можуть сягати сталася на кілька кілометрів, та заодно глобальні сполуки зайві. Операційна система, яка у мережі кампусу, мають забезпечувати для співробітників одних відділів доступом до деяким файлам й адміністративного ресурсів мереж інших відділів. Послуги, надані ОС мереж кампусів, не обмежуються простим поділом файлів і принтерів, а часто надають доступ і до серверам інших типів, наприклад, до факс-серверам і до серверів високошвидкісних модемів. Важливим сервісом, наданих операційними системами даного класу, є доступом до корпоративних баз даних, незалежно від цього, розташовуються вони на серверах баз даних чи миникомпьютерах. На рівні мережі кампусу починаються проблеми інтеграції. Загалом разі, відділи вже вибрали собі типи комп’ютерів, мережного устаткування і мережевих операційними системами. Наприклад, інженерний відділ може використовувати операційну систему UNIX та мережеве устаткування Ethernet, відділ продажів може використовувати операційні середовища DOS/Novell і устаткування Token Ring. Найчастіше мережу кампусу з'єднує різнорідні комп’ютерні системи, тоді як мережі відділів використовують однотипні комп’ютери. Корпоративна мережу з'єднує мережі всіх підрозділів підприємства, загалом разі що є великих відстанях. Корпоративні мережі використовують глобальні зв’язку (WAN links) для сполуки локальних мереж чи окремих комп’ютерів. Користувачам корпоративних мереж потрібні всі ті докладання і комунальні послуги, які у мережах відділів і кампусів, плюс деякі додаткові докладання і житлово-комунальні послуги, наприклад, доступом до додатків мейнфреймов і миникомпьютеров і до глобальних зв’язкам. Коли ОС розробляється для локальної сіті або робочої групи, що його головною обов’язком є поділ файлів та інших мережевих ресурсів (зазвичай принтерів) між локально під'єднаними користувачами. Такий їхній підхід не застосуємо до рівня підприємства. Поруч із базовими сервісами, пов’язані з поділом файлів і принтерів, мережна ОС, яка розробляється для корпорацій, повинна підтримувати ширший набір сервісів, куди зазвичай входять поштова служба, кошти колективної роботи, підтримка віддалених користувачів, факс-сервис, обробка голосових повідомлень, організація відеоконференцій і ін. З іншого боку, багато існуючі методи лікування й підходи до вирішення традиційних завдань мереж менших масштабів для корпоративної мережі виявилися непридатними. На першому плані вийшли завдання і проблеми, які у мережах робочих груп, відділів і навіть кампусів чи мали другорядне значення, або взагалі виявлялися. Наприклад, найпростіша для невеличкий мережі завдання ведення облікової інформації про користувачів зріс у складну проблему для мережі масштабу підприємства. А використання глобальних зв’язків жадає від корпоративних ОС підтримки протоколів, добре працівників низкоскоростных лініях, і від деяких традиційно використовуваних протоколів (наприклад, тих, які активно використовують широкомовні повідомлення). Особливого значення придбали завдання подолання гетерогенності - у мережі з’явилися численні шлюзи, щоб забезпечити узгоджену роботу різних ОС і мережевих системних додатків. До ознаками корпоративних ОС можна віднести також такі особливості. Підтримка додатків. У корпоративних мережах виконуються складні докладання, потребують до виконання великий обчислювальної потужності. Такі докладання поділяються сталася на кілька частин, наприклад, однією комп’ютері виконується частина докладання, що з виконанням запитів до бази даних, іншою — запитів до файловому сервісу, але в клієнтських машинах — частина, реалізує логіку обробки даних докладання і організує інтерфейс з користувачем. Обчислювальна частину спільних для корпорації програмних систем може бути об'ємної і непідйомною для робочих станцій клієнтів, тому докладання робитиметься ефективніше, якщо найбільш складні в обчислювальному відношенні частини перенести на спеціально готовий до цього потужний комп’ютер — сервер додатків. Сервер додатків має базуватися на потужної апаратної платформі (мультипроцессорные системи, часто з урахуванням RISC-процессоров, спеціалізовані кластерні архітектури). ОС серверу додатків повинна забезпечувати високу продуктивність обчислень, отже підтримувати многонитевую обробку, вытесняющую многозадачность, мультипроцессирование, віртуальну пам’ять і найпопулярніші прикладні середовища (UNIX, Windows, MS-DOS, OS/2). У цьому плані мережну ОС NetWare складно зарахувати до корпоративним продуктам, позаяк у ній відсутні майже всі вимоги, які пред’являються серверу додатків. У той самий час хороша підтримка універсальних додатків у Windows NT власне і дозволяє їй на у світі корпоративних продуктів. Довідкова служба. Корпоративна ОС повинна мати здатністю зберігати інформацію про користувачів і ресурсах в такий спосіб, щоб забезпечувалося управління нею з однієї центральної точки. Подібно великий організації, корпоративна мережу потребує централізованому зберіганні як можна повнішої довідкової інформації про собі (починаючи з даних про користувачів, серверах, робочих станціях і закінчуючи даними про кабельної системі). Природно організувати цю інформацію як бази даних. Дані з цього бази можуть бути затребуваними багатьма мережними системними додатками, насамперед системами управління і адміністрування. Крім цього, така база корисна з організацією електронної пошти, систем колективної роботи, служби безпеки, служби інвентаризації програмного і апаратного забезпечення мережі, та й практично будь-якого великого бизнес-приложения. База даних, що зберігає довідкову інформацію, надає усе ж розмаїття можливостей та породжує усе ж чимало закутків, як і будь-яка інша велика база даних. Вона дозволяє здійснювати різні операції пошуку, сортування, модифікації тощо., що дуже полегшує життя як адміністраторам, і користувачам. Але ті зручності доводиться розплачуватися рішенням проблем распределенности, реплікації і синхронізації. У ідеалі мережна довідкова інформація мусить бути реалізована як єдиної бази даних, а чи не являти собою набір баз даних, що спеціалізуються з зберіганні інформації тієї чи іншої виду, як і це часто буває у реальних операційні системи. Наприклад, в Windows NT є по крайнього заходу п’ять різних типів довідкових баз даних. Головний довідник домену (NT Domain Directory Service) зберігає інформацію про користувачів, що використовується з організацією їх логічного входу в мережу. Дані про ті самі користувачів можуть утримуватися в іншому довіднику, використовуваному електронною поштою Microsoft Mail. Ще три бази даних підтримують дозвіл низкоуровневых адрес: WINS — встановлює відповідність Netbios-имен IP-адресам, довідник DNS — сервер імен домену — виявляється корисним при підключенні NT-сети до Internet, і, нарешті, довідник протоколу DHCP використовується для автоматичного призначення IPадрес комп’ютерів мережі. Ближче до ідеалу перебувають довідкові служби, що їх фірмою Banyan (продукт Streettalk III) і фірмою Novell (NetWare Directory Services), які пропонують єдиний довідник всім мережевих додатків. Наявність єдиної довідкової служби для мережевий ОС — одне з найважливіших ознак її корпоративності. Безпека. Особливу важливість для ОС корпоративної мережі набирають питання безпеки даних. З одного боку, в великомасштабної мережі об'єктивно існує більші можливості для несанкціонованого доступу — через децентралізації даних, і великий распределенности «законних «точок доступу, через великі числа користувачів, благонадійність яких важко встановити, і навіть через великі числа можливих точок несанкціонованого підключення до неї. З іншого боку, корпоративні бизнес-приложения працюють із даними, які мають життєво важливе значення на шляху успішної роботи корпорації у цілому. І на захисту таких даних в корпоративних мережах поруч із різноманітними апаратними засобами використовується всього спектра засобів захисту, наданий операційній системою: виборчі чи мандатні права доступу, складні процедури аутентифікації користувачів, програмна шифрация.
Процеси і нитки в розподілених системах.
1 Поняття «нитку «.
В традиційних ОС поняття нитки тотожне поняттю процесу. У дійсності бажано мати кілька ниток управління, поділяючих єдине адресне простір, але виконуються квазипараллельно. Припустимо, наприклад, що файл-сервер блокується, очікування виконання операції з диском. Якщо сервер має низку ниток управління, друга нитку може виконуватися, поки перша нитку перебуває у стані очікування. Це підвищує пропускну спроможність і продуктивність. Ця мета не досягається з допомогою двох незалежних серверних процесів, оскільки вони мають розділяти загальний буфер кешу, потрібного їм, щоб бути, у одному адресному просторі. На малюнку 3.9,а показано машина із трьома процесами. Кожен процес має власний програмний лічильник, власний стік, власний набір регістрів та власне адресне простір. Кожен процес ні нічого з іншими, крім те, що можуть взаємодіяти у вигляді системних примітивів зв’язку, як-от семафори, монітори, повідомлення. На малюнку 3.9,б показано інша машина з одним процесом. Цей процес відбувається складається з кількох ниток управління, зазвичай званих просто нитками чи іноді полегшеними процесами. У багатьох відносинах нитки подібні мини-процессам. Кожна нитку виконується суворо послідовно і має власний програмний лічильник і стік. Нитки поділяють процесор оскільки роблять процеси (поділ часу). Лише на самій многопроцессорной системі вони справді виконуються паралельно. Нитки можуть, наприклад, породжувати нити-потомки, можуть переходити до стану очікування до завершення системного виклику, як звичайні процеси, поки одна нитку заблоковано, інша нитку тієї самої процесу може выполняться.
[pic].
Рис. 3.9. а) Три процесу з одного ниткою каждый.
б) Один процес із трьома нитками Нитки дають можливість збереження ідеї послідовних процесів, які виконують блокуючі системні виклики (наприклад, RPC для звернення до диску), й те водночас дозволяють досягти паралелізму обчислень. Блокуючі системні виклики роблять простіше програмування, а паралелізм підвищує производительность.
2 Різні способи організації обчислювального процесу з допомогою нитей Один із можливих способів організації обчислювального процесу показаний на малюнку 3.10,а. Тут нить-диспетчер читає які надходять запити працювати з поштової скриньки системи. Після перевірки запиту диспетчер вибирає простаивающую (тобто блоковану) робочу нитку, передає їй запит і активізує її, встановлюючи, наприклад, семафор, і його очікує. Коли робоча нитку активізується, вона перевіряє, може бути виконано запит з цими яке поділяється блоку кешу, до якого мають ставлення все нитки. Якщо ні, вона посилає повідомлення до диска, щоб отримати потрібний блок (припустимо, це READ), і до стану блокування, очікуючи завершення дискової операції. Саме тоді відбувається звернення до планировщику, внаслідок роботи якого активізується інша нитку, можливо, нить-диспетчер чи деяка робоча нитку, готова до виконання. Структура з диспетчером єдиний шлях організації многонитевой обробки. У моделі «команда «всі нитки еквівалентні, кожна отримує ще й обробляє свої власні запити. Іноді роботи приходять, а потрібна нитку зайнята, особливо, якщо кожна нитку спеціалізується на виконанні особливого виду робіт. І тут може створюватися чергу незавершених робіт. Під час такої організації нитки повинні спочатку переглядати чергу робіт, та був поштову скриньку. Нитки можуть бути і зорганізовані у вигляді конвеєра. І тут перша нитку породжує деякі дані і передає їх задля обробки наступній нитки тощо. Хоча цей організація та не адресований файл-сервера, й інших завдань, наприклад, завдань типу «виробник-споживач », ту хорошу рішення. Нитки часто корисні, і клієнтам. Наприклад, якщо клієнт хоче розтиражувати файл набагато серверів, може створити за однією нитки для копіювання кожному сервері. Інше використання ниток клієнтами — це управління сигналами, такі як переривання з клавіатури (del чи break). Замість обробки сигналу переривання одна нитку призначається для постійного очікування надходження сигналів. Отже, використання ниток може скоротити необхідну кількість переривань користувальницького уровня.
[pic].
Рис. 3.10. Три способу організації ниток в процессе:
а — модель диспетчер/рабочие нитки; б — модель «команда »; в — модель конвеєра Інший на користь ниток непричетний ні з віддаленим викликам, ні з комунікацій. Деякі прикладні завдання легше програмувати, використовуючи паралелізм, наприклад завдання типу «виробник-споживач ». Не важливо паралельне виконання, якою є ясність програми. А оскільки поділяють загальний буфер, годі їх робити окремими процесами. Нарешті, в багатопроцесорних системах нитки вже з адресного простору можуть виконуватися паралельно різними процесорах. З іншого боку, правильно сконструйовані програми, що використовують нитки, повинні працювати однаково добре на однопроцессорной машині як поділу часу між нитками і теперішньому мультипроцессоре.
3 Питання реалізації нитей Существует два підходи до управлінню нитками: статичний та динамічний. При статичному підході питання, буде ниток, вирішується на стадії написання програми чи стадії компіляції. Кожній нитки призначається фіксований стік. Такий підхід простий, але негнучкий. Більше загальним є динамічний підхід, що дозволяє створювати й видаляти нитки оперативно у процесі виконання. Системний виклик до створення нитки зазвичай міститься у нитки головною програми як покажчика на процедуру із зазначенням розміру стека, і навіть інших, параметрів, наприклад, диспетчерського пріоритету. Виклик зазвичай повертає ідентифікатор нитки, яке можна використовувати в наступних викликах, пов’язаних із цією ниткою. У цьому моделі процес починається з одного нитки, а може створювати їх ще, коли необхідно. Завершуватися нитки можуть однією з двох способів: за власною ініціативою, коли завершується робота, і ззовні. В багатьох випадках, наприклад, при конвеєрної моделі, нитки створюються відразу після старту процесу будь-коли знищуються. Оскільки нитки поділяють загальну пам’ять, можуть (і, зазвичай, роблять це) використовувати її задля збереження даних, які спільно використовуються безліччю ниток, таких, наприклад, як буфер у системі «виробникспоживач ». Доступ до поділюваним даним зазвичай програмується з використанням критичних секцій, предотвращающих спроби відразу кількох ниток звернутися одних і тим самим даним за одну і те час. Критична секція полімер реалізується з допомогою семафорів, моніторів і аналогічних конструкцій. Нитки можна реалізувати як і користувальному просторі, і у просторі ядра. У першому випадку нитки працюють з урахуванням прикладної системи, що управляє всіма операціями з нитками. Першим перевагою такого способу і те, які можна реалізувати нитки в операційній системі, що їх підтримувати не може. ОС прикладна середовище, управляюча нитками, здається одним процесом. Усі виклики (ПРИЗУПИНИТИ, ПЕРЕВІРИТИ СЕМАФОР тощо. буд.) обробляються як виклики функцій цієї прикладної середовища. Вона зберігає регістри і переключає покажчики лічильника команд і стека. І тут переключення відбувається швидше, ніж із допомогою ядра. Така реалізація має ще ще одна перевага — кожному за процесу то можна організувати свою схему планування. Однак це підхід пов’язані з деякими проблемами, одне з яких у наступному. За виконання блокуючих системних викликів припиняється весь набір ниток, що належать цього процесу. Щоб уникнути цього, можна докласти всіх зусиль системні виклики неблокирующими, але ці потребує змін у ОС, що небажано, оскільки однієї з цілей реалізації ниток в користувальному просторі був частиною їхнього робота у існуючих операційні системи. Такої проблеми немає при реалізації ниток у просторі ядра. Перевага полягає й у тому, що ядро в диспетчеризації вибирати нитку з іншого процесу. Проте хоч механізм управління нитками аналогічний першому випадку, тимчасові видатки переключення ниток вище, оскільки витрачається час на переключення з режиму користувача в режим ядра.
4 Нитки і RPC.
Обычно в розподілених системах використовують як RPC, і нитки. Оскільки нитки ввели як дешева альтернатива стандартним процесам, то природно, що дослідники звернули особливу увагу цьому є на RPC: чи можна їхнє співчуття також зробити полегшеними. Було виявлено, що у розподілених системах значну кількість RPC обробляється того ж машині, де вони були викликані (локально), наприклад, виклики до менеджеру вікон. Тому було запропоновано нова схема, що робить можливим для нитки процесу викликати нитку іншого процесу в цій самій машині ефективніше, ніж звичайним способом. Ідея ось у чому. Коли стартує серверна нитку P. S, вона експортує свій інтерфейс, повідомляючи про неї ядру. Інтерфейс визначає, які процедури виникають, які мають параметри тощо. Коли стартує клієнтська нитку З, вона імпортує інтерфейс з ядра у цьому разі, якщо збирається викликати P. S, і взагалі дається спеціальний ідентифікатор до виконання певного виклику. Ядро тепер знає, що З збирається пізніше викликати P. S і це створює спеціальні структури даних на підготовку до виклику. Один із цих структур нейтральних даних є стеком аргументів, який поділяється нитками З і P. S і відображається в обидва адресних простору для читання і запис. Для виклику серверу нитку З поміщає аргументи на поділюваний стік, використовуючи звичайну процедуру передачі параметрів, та був перериває ядро, поміщаючи даний їй ідентифікатор в регістр. У цій ідентифікатору ядро бачить, що виклик є локальним. (Якби був віддаленим, то ядро опрацювало його звичайним способом для віддалених викликів.) Потім ядро виконує переключення з адресного простору клієнти на адресне простір нити-сервера і запускає у межах клієнтської нитки необхідну процедуру серверу. За такої способі виклику аргументи вже завантажені в потрібне місце, отже копіювання чи перегрупування аргументів не потрібно. Головний результат — локальний виклик RPC — буде виконано цим способом набагато швидше. Інший прийом широко використовується з прискорення віддалених RPC. Ідея заснована ось на чому спостереженні: коли нить-сервер блокується, очікуючи нового запиту, її контекст майже завжди зовсім позбавлений важливих речей. Отже, коли нитку завершує обробку запиту, що його просто видаляють. По прибутті на сервер нового повідомлення ядро створює нову нитку обслуговування цього запиту. З іншого боку ядро поміщає повідомлення адресне простір серверу та встановлює новий стік нитки для доступу до повідомленню. Цю схему іноді називають неявним викликом. Цей метод має низку переваг проти звичайним RPC. Уперших, нитки нічого не винні блокуватися, очікуючи нову роботу, отже контекст непотрібно зберігати, по-друге, створення нової нитки простіше, ніж активізація існуючої призупиненої, бо треба відбудовувати контекст.
Сучасні концепції, й технології проектування операційних систем.
1 Вимоги, які пред’являються ОС 90-х годов Операционная система є серцевиною мережного програмного забезпечення, вона створює середу до виконання додатків та значною мірою визначає, якими корисними для користувача властивостями ці докладання матимуть. У зв’язку з цим розглянемо вимоги, яким має задовольняти сучасна ОС. Вочевидь, головним вимогою, що ставляться до операційній системі, є здатність виконання основних функцій: управління ресурсами і забезпечення зручного інтерфейсу для користувача і прикладних програм. Сучасна ОС, зазвичай, повинна реалізовувати мультипрограммную обробку, віртуальну пам’ять, свопинг, підтримувати многооконный інтерфейс, і навіть виконувати багатьох інших, цілком необхідні функції. Крім цих функціональних вимог операційних системам пред’являються щонайменше важливі ринкові вимоги. До цих вимогам ставляться: Розширюваність. Код має бути написаний в такий спосіб, щоб було легко внести доповнення та зміни, якщо це потрібно, і порушити цілісність системи. Переносність. Код повинен легко переноситися з процесора одного типу на процесор іншого типу, і з апаратної платформи (що включає поруч із типом процесора і загальнодосяжний спосіб організації всю апаратуру комп’ютера) одного типу на апаратну платформу іншого типу. Надійність і отказоустойчивость. Система повинна бути захищеною як від внутрішніх, і від зовнішніх помилок, збоїв і заперечень. Її дії мають бути завжди передбачуваними, а докладання нічого не винні мати змогу завдавати шкоди ОС. Сумісність. ОС повинен мати кошти на виконання прикладних програм, написаних й інших операційними системами. З іншого боку, користувальницький інтерфейс може бути сумісний із існуючими системами і способами. Безпека. ОС повинна мати засобів захисту ресурсів одних користувачів з інших. Продуктивність. Система повинна мати настільки хорошим швидкодією і часом реакції, наскільки це дозволяє апаратна платформа. Розглянемо докладніше дехто з тих требований.
1 Расширяемость В той час, як апаратна частина комп’ютера застаріває кілька років, корисна життя операційними системами може вимірюватися десятиліттями. Прикладом може бути ОС UNIX. Тому операційні системи завжди еволюційно змінюються згодом, й інші зміни важать більше, ніж зміни апаратних коштів. Зміни ОС зазвичай є придбання нею нових властивостей. Наприклад, підтримка нових пристроїв, як-от CD-ROM, можливість зв’язки Польщі з мережами нових типів, підтримка багатообіцяючих технологій, як-от графічний інтерфейс користувача чи объектноорієнтоване програмне оточення, використання більш як одного процесора. Збереження цілісності коду, які б зміни вносилися в операційну систему, є головним метою розробки. Розширюваність можна забезпечити з допомогою модульної структури ОС, коли він програми будуються з набору окремих модулів, взаємодіючих лише через функціональний інтерфейс. Нові компоненти може бути додано в операційну систему модульним шляхом, виконують своєї роботи, використовуючи інтерфейси, підтримувані існуючими компонентами. Використання об'єктів до подання системних ресурсів також покращує розширюваність системи. Об'єкти — це абстрактні типи даних, з яких можна тільки ті дії, передбачених спеціальним набором об'єктних функцій. Об'єкти дозволяють однаково управляти системними ресурсами. Додавання нових об'єктів не руйнує існуючі об'єкти і потребує змін існуючого коду. Прекрасні змогу розширення надає підхід до структурування ОС на кшталт клієнт-сервер з допомогою микроядерной технології. Відповідно до цим підходом ОС будується як сукупність привілейованої керуючої програми розвитку й набору непривілейованих послугсерверів. Більшість ОС може бути незмінною тоді, як може бути додано нові сервери чи поліпшено старі. Кошти виклику віддалених процедур (RPC) також надають змогу розширити функціональні можливості ОС. Нові програмні процедури може бути додано на будь-яку машину сіті й негайно діяти за розпорядження прикладних програм інших машинах мережі. Деякі ОС підвищення расширяемости підтримують загружаемые драйвери, які можна додано до системи під час її. Нові файлові системи, пристрої і мережі можуть підтримуватися шляхом написання драйвера устрою, драйвера файловою системи чи транспортного драйвера і завантаження їх у систему.
2 Переносимость Требование переносимості коду був із расширяемостью. Розширюваність дозволяє покращувати операційну систему, тоді як перенесення дає можливість переміщати всієї системи на машину, що базується іншою процесорі чи апаратної платформі, роблячи у своїй наскільки можна невеликі зміни у коді. Хоча ОС часто описуються або як стерпні, або як нестерпні, перенесення — це бінарну стан. Питання в тому, може бути система перенесена, суть у тому, наскільки легко можна це. Написання стерпної ОС аналогічно написання будь-якого стерпного коду — потрібно слідувати деяким правилам. По-перше, більшість коду мусить бути написана мовою, який є усім машинах, куди ви бажаєте переносити систему. Зазвичай це означає, що код може бути написаний мовою високого рівня, переважно стандартизованном, наприклад, мовою З. Програма, написана на ассемблері, перестав бути стерпної, якщо ви не збираєтеся переносити в машину, що має командної сумісністю з вашої. По-друге, треба врахувати, у який фізичне оточення програма повинна бути перенесена. Різна апаратура вимагає різних рішень при створенні ОС. Наприклад, ОС, побудована на 32-битовых адреси, може бути перенесена на машину з 16-битовыми адресами (хіба що величезними труднощами). По-третє, важливо мінімізувати чи, якщо можливо, виключити ті частини коду, які безпосередньо взаємодіють із апаратними засобами. Залежність від апаратури може мати багато форм. Деякі очевидні форми залежності включають пряме маніпулювання регістрами та інші апаратними засобами. По-четверте, якщо апаратно залежний код може бути повністю виключений, він може бути ізольований у кількох добре локализуемых модулях. Аппаратно-зависимый код ні бути розподілено у всій системі. Наприклад, можна сховати аппаратно-зависимую структуру в програмнопоставлені дані абстрактного типу. Інші модулі системи працюватимуть з цими даними, а чи не з апаратурою, використовуючи набір деяких функцій. Коли ОС переноситься, то змінюються лише дані і функції, що ними маніпулюють. Для легкого перенесення ОС у її розробці мають бути дотримані такі вимоги: Стерпний мову високого рівня. Більшість які ОС написано на мові З (стандарт ANSI X3.159−1989). Розробники вибирають З оскільки він стандартизован, і оскільки С-компиляторы широко доступні. Асемблер використовується лише тим частин системи, які мають безпосередньо взаємодіяти з апаратурою (наприклад, оброблювач переривань) або заради частин, які прагнуть максимальної швидкості (наприклад, целочисленная арифметика підвищеної точності). Проте нестерпний код може бути ретельно ізолюється першими компонентів, де його застосовують. Ізоляція процесора. Деякі низькорівневі частини ОС повинен мати доступ до процессорно-зависимым структурам даних, і регістрам. Проте код, який робить це, має бути у невеликих модулях, які можна замінені аналогічними модулями й інших процесорів. Ізоляція платформи. Залежність від платформи залежить від розбіжностях між робітниками станціями різних виробників, побудованими однією й тому самому процесорі (наприклад, MIPS R4000). Необхідно запровадити програмний рівень, абстрагирующий апаратуру (кэши, контролери переривань виводу-введення-висновку тощо. п.) разом із шаром низкоуровневых програм в такий спосіб, щоб высокоуровневый код не потребував зміні при перенесення з одного платформи на другую.
3 Совместимость Одним з аспектів сумісності є здатність ОС виконувати програми, написані й інших ОС або заради попередніх версій даної ОС, і навіть іншої апаратної платформи. Необхідно розділяти питання двоичной сумісності і сумісності на рівні вихідних текстів додатків. Двоичная сумісність буває у тому випадку, коли можна взяти виконується програму і пустити її на виконання в інший ОС. І тому необхідні: сумісність лише на рівні команд процесора, сумісність лише на рівні системних викликів і навіть у рівні бібліотечних викликів, якщо є динамічно связываемыми. Сумісність лише на рівні вихідних текстів вимагає наявності компілятора у складі програмного забезпечення, і навіть сумісності на рівні бібліотек та системних викликів. У цьому необхідна перекомпиляция наявних вихідних текстів у новий що здійснюється модуль. Сумісність лише на рівні вихідних текстів важлива переважно для розробників додатків, у яких ці вихідні тексти завжди є. Але для кінцевих користувачів практичного значення має сенс тільки двоичная сумісність, бо тільки у разі вони можуть скористатися сам і хоча б комерційний продукт, що поставляється вигляді двоичного виконуваного коду, у різних операційних середовищах і різних машинах. Чи має нова ОС двоичной сумісністю чи сумісністю вихідних текстів з системами, залежить від багатьох чинників. Найбільш головний їх — архітектура процесора, у якому працює нова ОС. Якщо процесор, який переноситься ОС, використовує хоча б набір команд (можливе з деякими додаваннями) і хоча б діапазон адрес, тоді двоичная сумісність можна досягти не так важко. Набагато складніше досягти двоичной сумісності між процесорами, заснованими різними архитектурах. А, щоб один комп’ютер виконував програми іншого (наприклад, DOS-программу на Mac), цей комп’ютер повинен працювати з машинними командами, що йому спочатку незрозумілі. Наприклад, процесор типу 680×0 на Mac повинен виконувати двоїчний код, призначений для процесора 80×86 в PC. Процесор 80×86 має власні дешифратор команд, регістри і внутрішню архітектуру. Процесор 680×0 не розуміє двоїчний код 80×86, й тому він мусить вибрати кожну команду, декодировать її, щоб визначити, чого вона призначена, та був виконати еквівалентну підпрограму, написану для 680×0. Оскільки до того що у 680×0 немає у точності так само регістрів, прапорів і внутрішнього арифметико-логического устрою, як і 80×86, він має імітувати все ці елементи з допомогою своїх регістрів чи пам’яті. І він має старанно відтворювати результати кожної команди, що потребує спеціально написаних підпрограм для 680×0, які гарантують, що певний стан эмулируемых регістрів і прапорів після виконання кожної команди буде зацікавлений у точності таким ж, як і реальному 80×86. Це проста, але нам дуже повільна робота, оскільки микрокод всередині процесора 80×86 виповнюється істотно більш быстродействующем рівні, ніж эмулирующие його зовнішні команди 680×0. Протягом часу виконання однієї команди 80×86 на 680×0, реальний 80×86 може виконати десятки команд. Отже, якщо процесор, продукує эмуляцию, так швидкий, щоб компенсувати усі втрати при эмуляции, то програми, виконуються під эмуляцией, дуже повільними. Виходом у разі є використання про прикладних середовищ. З огляду на, що основну частину програми, зазвичай, становлять виклики бібліотечних функцій, прикладна середовище імітує бібліотечні функції повністю, використовуючи заздалегідь написану бібліотеку функцій аналогічного призначення, інші ж команди эмулирует кожну — за окремішності. Відповідність стандартам POSIX є також засобом забезпечення сумісності програмних і користувальних інтерфейсів. У другій половині 80-х урядові агентства США почали розробляти POSIX як стандарти на поставлене обладнання під час укладання урядових контрактів у комп’ютерній області. POSIX — це «інтерфейс стерпної ОС, що базується на UNIX ». POSIX — збори міжнародних стандартів інтерфейсів ОС у стилі UNIX. Використання стандарту POSIX (IEEE стандарт 1003.1 — 1988) дозволяє створювати програми стилі UNIX, що потенційно можуть легко переноситися з однієї системи в другую.
4 Безопасность В доповнення до стандарту POSIX уряд США визначило вимоги комп’ютерної безпеки для додатків, використовуваних урядом. Чимало з цих вимог є бажаними властивостями для будь-який многопользовательской системи. Правила безпеки визначають такі властивості, як захист ресурсів одного користувача з інших встановлення квот за ресурсами запобігання захоплення одним користувачем всіх системних ресурсів (як-от пам’ять). Забезпечення захисту від несанкціонованого доступу є обов’язкової функцією мережевих операційними системами. У багатьох популярних систем гарантується ступінь безпеки даних, відповідна рівню С2 у системі стандартів США. Основи стандартів у сфері безпеки було закладено «Критеріями оцінювання надійних комп’ютерних систем ». Документ, виданий США 1983 року національним центром комп’ютерної безпеки (NCSC — National Computer Security Center), часто називають Помаранчевої Книгою. Відповідно до вимогами Помаранчевої книжки безпечної вважається така система, яка «у вигляді спеціальних механізмів захисту контролює доступом до інформації в такий спосіб, що тільки мають відповідні повноваження особи чи процеси, виконуються від імені, можуть одержати доступ для читання, запис, створення чи видалення інформації «. Ієрархія рівнів безпеки, приведений у Помаранчевої Книзі, позначає нижчий рівень безпеки як D, а вищий — як А. До класу D потрапляють системи, оцінка яких виявила їх невідповідність вимогам від інших класів. Основними властивостями, притаманними С-систем, є: наявність підсистеми обліку подій, що з безпекою, і виборчий контроль доступу. Рівень З ділиться на 2 подуровня: рівень С1, який би захист даних від власних помилок користувачів, але не дій зловмисників, і більше суворий рівень С2. На рівні С2 повинні може бути кошти секретного входу, щоб забезпечити ідентифікацію користувачів шляхом введення унікального імені Ілліча та пароля до того, як він буде вирішено доступом до системі. Виборчий контроль доступу, необхідний в таких межах дозволяє власнику ресурсу визначити, хто має доступом до ресурсу що він може робити. Власник робить це шляхом наданих прав доступу користувачеві чи групі користувачів. Кошти обліку, і спостереження (auditing) — забезпечують можливість знайти й зафіксувати важливі події, пов’язані з безпекою, чи будь-яким спробам створити, отримання доступу чи видалити системні ресурси. Захист пам’яті - у тому, що инициализируется до того, як повторно використовується. У цьому рівні система має не захищена від власних помилок користувача, але поведінка його бути проконтрольовано за записами в журналі, залишеним засобами спостереження та аудитинга. Системи рівня У засновані на помічених даних, і розподілі користувачів за категоріями, тобто реалізують мандатный контроль доступу. Кожному користувачеві присвоюється рейтинг захисту, і може отримувати доступом до даним лише у відповідно до цього рейтингом. Цей рівень у на відміну від рівня З захищає систему від помилкового поведінки користувача. Рівень, А є найвищим рівнем безпеки, він потребує в доповнення всім вимогам рівня У виконання формального, математично обгрунтованого докази відповідності системи вимогам безпеки. Різні комерційні структури (наприклад, банки) особливо виділяють необхідність облікової служби, аналогічною тій, які пропонують державні рекомендації С2. Будь-яка діяльність, що з безпекою, може бути відстежена і тим самим враховано. Це саме те, що вимагає С2 і те, які зазвичай потрібно банкам. Проте, комерційні користувачі, зазвичай, США розплачуватися продуктивністю за підвищений рівень безпеки. А-уровень безпеки займає своїми управляючими механізмами до 90% процесорного часу. Більше безпечні системи як знижують ефективність, а й відчутно обмежують число доступних прикладних пакетів, які відповідним чином можуть виконуватися у цій системі. Наприклад для ОС Solaris (версія UNIX) є кілька тисяч додатків, а її аналога В-уровня — лише сотня.
Операційні системи різних фірм виробників програмного обеспечения.
1 Сімейство операційними системами UNIX.
История і загальну характеристику сімейства операційними системами UNIX UNIX має тривале й цікаву історію. Почавшись як несерйозний і майже «іграшковий «проект молодих дослідників, UNIX став багатомільйонної індустрією, включивши до свою орбіту університети, багатонаціональні корпорації, уряду та міжнародних організацій стандартизації. UNIX зародився до лабораторій Bell Labs фірми AT&T більш 20 років тому я. У той час Bell Labs займалася розробкою многопользовательской системи поділу часу MULTICS (Multiplexed Information and Computing Service) що з MIT і General Electric, але це система зазнала невдачі, почасти через занадто амбіційних цілей, не які відповідали рівню комп’ютерів на той час, а почасти й тому, що вона розроблялася мовою PL/1, а компілятор PL/1 затримувався і взагалі, погано працював після свого запізнілого появи. Тому Bell Labs взагалі відмовилася від участі у проекті MULTICS, що дозволило одного з її дослідників, Кену Томпсону, зайнятися пошукової роботою у бік поліпшення операційній середовища Bell Labs. Томпсон, і навіть співробітник Bell Labs Денис Рітчі та інших розробляли нову файлову систему, багато рис якої вели своє походження від MULTICS. Для перевірки нової файлової системи Томпсон написав ядро ОС і пояснюються деякі програми для комп’ютера GE-645, який працював під керівництвом мультипрограммной системи поділу часу GECOS. У Кена Томпсона була яка написана ним ще у часи роботи над MULTICS гра «Space Travel «- «Космічне подорож ». Він запускала в комп’ютері GE-645, але вона працювала на не дуже добре через невисокою ефективності поділу часу. Крім цього, машинне час GE-645 варто було занадто дороге. Через війну Томпсон і Рітчі вирішили перенести гру на вартісну на покутті склавши руки машину PDP-7 фірми DEC, має 4096 18-битных слів, телетайп і добрий графічний дисплей. Але в PDP-7 було погане програмне забезпечення, і, закінчивши перенесення гри, Томпсон вирішив реалізувати на PDP-7 ту файлову систему, над що він працював на GE-645. З цієї праці та виникла перша версія UNIX, хоча вона мала в той час ніякого назви. Але вже включала властиву UNIX файлову систему, засновану на індексних дескрипторах inode, мала підсистему управління процесами і пам’яттю, і навіть дозволяла двом користувачам працювати у режимі розподілу часу. Система було написано на ассемблері. Ім'я UNIX (Uniplex Information and Computing Services) було дано їй іще одним співробітником Bell Labs, Брайаном Керниганом, який спочатку назвав її UNICS, підкреслюючи її на відміну від многопользовательской MULTICS. Невдовзі UNICS почали називати UNIX. Першими користувачами UNIX «а й стали співробітники відділу патентів Bell Labs, знайдені її зручною середовищем до створення текстів. Вплинув долю UNIX справила перепис в мові високого рівня З, розробленого Денисом Рітчі спеціально цих цілей. Це сталося 1973 року, UNIX налічував на той час вже 25 інсталяцій, й у Bell Labs була створена спеціальна група підтримки UNIX. Широке поширення UNIX одержав з 1974 року, після описи цієї системи Томпсоном і Рітчі в комп’ютерному журналі CACM. UNIX набув широкого поширення університетах, оскільки їм він поставлявся безплатно разом із вихідними кодами на З. Широке поширення ефективних Зкомпіляторів зробило UNIX унікальної на той час ОС через можливість перенесення різні комп’ютери. Університети внесли значний внесок у поліпшення UNIX і його популяризацію. Ще однією кроком по дорозі одержання визнання UNIX як стандартизованной середовища стала розробка Денисом Рітчі бібліотеки вводу-виводу stdio. Завдяки використанню цієї бібліотеки для компілятора З, програми для UNIX стали легко переносимыми.
[pic].
Рис. 5.1. Історія розвитку UNIX Широке поширення UNIX породило проблему несумісності його численних версій. Вочевидь, що з користувача дуже неприємний той факт, що пакет, куплений одній версії UNIX, відмовляється працювати на інший версії UNIX. Періодично робилися і робляться спроби стандартизації UNIX, але вони мали обмежений успіх. Процес зближення різних версій UNIX та його розбіжності носить циклічний характер. Перед обличчям нової погрози з боку якась інша ОС різні виробники UNIX-версий зближують свою продукцію, але потім конкурентна боротьба змушує їх робити оригінальні поліпшення і версії знову розходяться. У процесі існує і позитивний сторона — поява нових ідей коштів, що поліпшують як UNIX, і багатьох інших операційні системи, перенявшие в нього довгі роки його існування багато корисного. На малюнку 5.1 показано спрощена картина розвитку UNIX, що враховує наступність різних версій і впливом геть них прийнятих стандартів. Найбільшого поширення набула отримали дві дуже несумісні лінії версій UNIX: лінія AT&T — UNIX System V, і лінія університету Berkeley-BSD. Багато фірми з урахуванням цих версій розробили і підтримують свої версії UNIX: SunOS і Solaris фірми Sun Microsystems, UX фірми Hewlett-Packard, XENIX фірми Microsoft, AIX фірми IBM, UnixWare фірми Novell (проданий тепер компанії SCO), і список цей ще довго продовжувати. Найбільшого впливу на уніфікацію версій UNIX надали такі стандарти як SVID фірми AT&T, POSIX, створений під егідою IEEE, і XPG4 консорціуму X/Open. У цих стандартах сформульовані вимоги до інтерфейсу між додатками і ОС, що дозволяє додатків успішно працювати під управлінням різних версій UNIX. Незалежно від версії, загальними для UNIX рисами є: многопользовательский режим із засобами захисту даних від несанкціонованого доступу, реалізація мультипрограммной обробки режимі розподілу часу, джерело якої в використанні алгоритмів вытесняющей багатозавдань (preemptive multitasking), використання механізмів віртуальної пам’яті і свопинга підвищення рівня мультипрограммирования, уніфікація операцій вводу-виводу з урахуванням розширеного використання поняття «файл », ієрархічна файлова система, утворює єдине дерево каталогів незалежно кількості фізичних пристроїв, що використовуються розміщення файлів, перенесення системи з допомогою написання її більшості мовою З, різноманітні засоби взаємодії процесів, зокрема і крізь мережу, кэширование диска зменшення середнього часу доступу до файлам. Далі ми докладно зупинимося на основних концепціях версії UNIX System V Release 4, яка увібрала у собі кращі риси ліній UNIX System V і UNIX BSD. Версія UNIX System V Release 4 — це незакінчена комерційна версія ОС, т.к. у її кодах відсутні багато системні утиліти, необхідних успішної експлуатації ОС, наприклад утиліти адміністрування чи менеджер графічного інтерфейсу. Версія SVR4 є радше стандартної реалізацією коду ядра, яка ввібрала у собі найпопулярніші й ефективні рішення із різних версій ядра UNIX, такі як віртуальна файлова система VFS, що відобразяться на згадку про файли і т.п. Код SVR4 (частково доопрацьований) ліг основою багатьох сучасних комерційних версій UNIX, як-от HP-UX, Solaris, AIX і т.д.
2 Микроядро Mach.
Ядро будь-який сучасної комерційної версії UNIX є набір дуже значної кількості функцій, з заплутаними взаємозв'язками і дуже розпливчастими межами між основними підсистемами. Через війну будь-яка модифікація організованою в такий спосіб системи дається котрі й призводить до появи у нових версіях великої кількості помилок. Крім того і не переважають у всіх інсталяціях потрібні все компоненти ядра, а при монолітному його побудові видалення непотрібних функцій утруднено. Недоліки, властиві операційним системам з великим монолітним ядром (але це насамперед різні версії UNIX «а), породили інтерес до систем, збудованим на основі микроядра.
Мікроядерний підхід у тому, що базові функції ядра оформляються як окремої невеличкий компоненти, виконуваної в привілейованому режимі, інші ж функції ОС виконуються в користувальному режимі з допомогою примітивів мікроядра. Через великих потенційних переваг, що обіцяє цей підхід, можна припустити, що у найближчим часом більшість нових операційними системами будуватиметься з урахуванням мікроядра. Найвідомішими реализациями цього підходу мікроядра Mach і Chorus.
Основний складністю використання микроядерного підходу практично є уповільнення швидкості виконання системних викликів під час передачі повідомлень через микроядро проти класичним підходом. Можна докладно розглянути принципи організації та функції мікроядра Mach по двом причин. По-перше, микроядро з визначення містить базові механізми, наявні всередині будь-який ОС, тому знайомство з тими механізмами в чистому вигляді корисне з вивчення будь-який конкретної ОС.
По-друге, мікроядра ліцензуються й закони використовують як готовий програмний продукт як підстави побудови комерційної мережевий ОС. Зараз є кілька комерційних реалізацій операційними системами з урахуванням мікроядра Mach (NextStep фірми Next, UNIX BSD, OSF/1 v.1.3), і навіть проводиться низку робіт з використання цього ядра. Оскільки властивості мікроядра значною мірою визначають властивості ОС, побудованої його основі, то знання мікроядра у оцінці характеристик використовує його ОС.
1 Історія Mach.
Система Mach мала як попередниці систему RIG — Rochester Intelligent Gateway, початок розробки якої довелося на 1975 рік. RIG писалася під 16-битового міні-комп'ютера компанії DataGeneral під назвою Elipce. Мета цієї розробки була демонстрація можливостей структурування операційної системи й уявлення його вигляді набору процесів, які можуть опинитися взаємодіяти між собою через передачу повідомлень, зокрема і з мережі. Потім ця операційна систему було поліпшено шляхом додавання засобів і коштів прозорою роботи у мережі й отримала назву Accent (в 1981 року, в університеті Карнеги-Меллона). У 1984 року вже обслуговувала низку 150 комп’ютерах PERQ — ранніх графічних станціях, але програла змагання з UNIX «ом. Це обставина спонукало створити третє покоління ОС, використовує механізм обміну повідомленнями. Проект і називався Mach. У зв’язку з тим, що Mach проектувалась як система, сумісна з UNIX, планувалася підтримка великої кількості додатків для UNIX. Крім сумісності з UNIX, в Mach було введено й інші вдосконалення, включаючи нитки, поліпшені механізми межпроцессного взаємодії, підтримка багатопроцесорних систем, поліпшена віртуальна пам’ять та інших. Саме тоді агентство DARPA шукало операційну систему на підтримку мультипроцессоров. Вибір зроблено університету Карнеги-Меллона, й досвід роботи над ОС Mach були продовжені. Вирішили зробити це систему сумісної з 4.2BSD шляхом комбінації Mach і 4.2BSD у вигляді єдиного ядра. Хоча це підхід призвів до великому ядру, він гарантував абсолютну сумісність. Перша версія Mach реалізували в 1986 року для VAX11/784, 4-х процессорной машини. Невдовзі ця ОС було покладено на IBM PC RT і Sun 3. До 1987 року Mach виконувалася на мультипроцессорах Encore і Sequent. Хоча Mach й мала мережні кошти, її скоріш можна віднести до ОС окремої машини чи мультипроцессора, а чи не до мережевий розподіленої прозорою системі. Невдовзі було створено організацію виробників комп’ютерів OSF (IBM, DEC, Hewlett Packard) у тому, щоб відібрати контроль над ОС UNIX біля її власника AT&T. Вони вибрали Mach 2.5 як підстави перша операційній системи OSF/1. Хоча Mach 2 і OSF/1 містили дуже багато коду Berkeley і AT&T, сподівалися, що OSF, по крайнього заходу, зможе контролювати напрям розвитку UNIX. У 1988 року ядро Mach 2.5 було великим і монолітним тому, що містив дуже багато коду Berkeley UNIX. А 1989 року університет Карнеги-Меллона видалив весь код BSD UNIX з ядра і помістив їх у користувальницьке простір. Те, що залишилося, було микроядром, що складається з чистого коду Mach. Ця версія 3.0 і використовують як основа наступних версій OSF.
2 Цілі Mach.
ОС Mach цілком інакша з часу першої реалізації як RIG. Цілі проекту також змінилися згодом. На цей час основні мети виглядають так:
1. Забезпечення базових функцій до створення інших операційних систем.
(наприклад, UNIX).
2. Підтримка великих розріджених адресних пространств.
3. Забезпечення прозорого доступу до мережним ресурсам.
4. Підтримка паралелізму як у системі, і у приложениях.
5. Забезпечення переносимості Mach різні типи компьютеров.
3 Основні концепції Mach.
Микроядро Mach було розроблено як основи, з урахуванням якої можна эмулировать UNIX та інші ОС. Ця эмуляция здійснюється програмним рівнем, який працює поза ядра, в користувальному просторі (рис. 6.1). Слід зазначити, кілька эмуляторов можуть працювати одночасно, тож решту можна виконувати програми 4.3BSD, System V і MS-DOS в одній машині за одну і те время.
Ядро Mach, подібно іншим микроядрам, забезпечує управління процесами, управління пам’яттю, комунікації і функції виводу-введення-висновку. Функції управління файлами, каталоги та інші традиційні для операційними системами функції виконуються в користувальному просторі. Ідея побудови ядра Mach полягає у забезпеченні механізмів, необхідні роботи системи, але стратегія використання тих механізмів реалізується на рівні користувальних процесів. Ядро управляє п’ятьма головними абстракциями:
1. Процессы.
2. Нити.
3. Об'єкти памяти.
4. Порты.
5. Сообщения.
[pic].
Рис. 6.1. Абстрактна модель эмуляции UNIX з урахуванням Mach Крім цього, ядро працює і деякими іншими абстракціями, чи пов’язані з зазначеними, більш-менш важными.
Процес — це, переважно, середовище, у якій відбувається виконання. Він має адресне простір, що містить текст програми розвитку й дані, і звичайно чи більш стеков. Процес — це базисна одиниця задля розподілення ресурсів. Наприклад, комунікаційний канал завжди належить одному процесу. Нитка в Mach є одиницею виконання. Вона має лічильник команд й створили набір регістрів, пов’язаних із нею. Кожна нитку є частиною точно одного процесу. Процес, складається з однієї нитки, подібний до традиційному (наприклад, як і UNIX) процессу.
Концепцією, унікальної для Mach, лежить введення поняття об'єкт пам’яті (memory object), являє собою структуру даних, яка то, можливо відображена в адресне простір процесу. Об'єкти пам’яті займають одну чи кілька сторінок, і утворюють основу системі управління віртуальної пам’яттю Mach. Коли процес називає об'єкт пам’яті, який представлено фізичної пам’яті, це викликає страничное переривання. Як і інших ОС, ядро перехоплює страничное переривання. Проте на відміну з інших систем, ядро Mach для завантаження відсутньої сторінки посилає повідомлення серверу користувальницького режиму, а чи не самостійно виконує цю операцию.
Межпроцессное взаємодія в Mach грунтується на передачі повідомлень. А, щоб отримати повідомлення, користувальницький процес просить ядро створити захищений поштову скриньку, що називається порт. Порт зберігається всередині ядра і може підтримувати чергу упорядкованого списку повідомлень. Черги немає фіксованою довжини, але у цілях управління потоком кожному за порту окремо встановлюється граничне значення в n повідомлень, отже всякий процес, намагається послати ще одне повідомлення чергу довжини n, припиняється у тому, щоб дати порту можливість очиститься.
Процес може надати іншому процесу можливість посилати (чи отримувати) сполучення одне із належних йому портів. Таку можливість йому реалізується у вигляді мандата (capability), що включає як покажчик на порт, а й список прав, якими інший процес має по відношення до даному порту (наприклад, право виконати операцію ПОСЛАТИ — SEND). Усі комунікації в Mach використовують цей механизм.
4 Сервер Mach BSD UNIX.
Як було вказано вище, розробники системи Mach модифікували Berkeley UNIX до роботи на користувальному просторі у вигляді прикладної програми. Така структура має низку переваг проти монолітним ядром. По-перше, система спрощується з допомогою поділу на частина, що виконує управління ресурсами (ядро), і частина, яка обробляє системні виклики (UNIX-сервер), і нею легшає управляти. Таке поділ нагадує розподіл праці в операційній системі VM/370 мейнфреймов IBM, де ядро эмулирует набір «голих «370-х машин, з кожної у тому числі реалізована однопользовательская операційна система. По-друге, з допомогою приміщення UNIX «а користувальницьке простір його можна зробити на високого рівня машинно-независимым. Усі машинно-зависимые частини може бути віддалені з UNIX «чи приховані всередині ядра Mach.
По-третє, як було вже згадано вище, кілька ОС можуть працювати одночасно. Наприклад, на процесорі Intel 386 Mach може виконувати програму UNIX і програму MS-DOS одночасно. Аналогічно можливо одночасне тестування нової експериментальної ОС і провідною ОС.
По-четверте, до системи можуть бути запущені операції реального часу, оскільки всі традиційні перепони на шляху роботи у часі, такі як, наприклад, заборона переривань тимчасово відновлення критичних таблиць, можуть бути або виключені, або перенесені в користувальницьке простір. Ядро то, можливо старанно структуроване, щоб не перешкоджати роботі додатків реального часу. Нарешті, таке побудова системи можна використовувати задля забезпечення кращої захисту між процесами, якщо вона непотрібна нікому. Якщо кожен процес працює зі своїми версією UNIX «бо на одне процесу дуже важко щось дізнатися про файлах іншого процесса.
3 Мережні продукти фірми Novell.
1 Історія життя та версії мережевий ОС NetWare.
Novell — це велика фірма, котра має, за різними джерелам, від 65% до 75% ринку мережевих операційними системами для локальних обчислювальних мереж. Найбільшу славу фірма Novell придбала завдяки своїм мережним операційним системам сімейства NetWare. Ці системи реалізовані як системи з виділеними серверами. Основні зусилля Novell було витрачено створення високоефективної серверної частини мережевий ОС, яка з допомогою спеціалізації на виконанні функцій файл-сервера забезпечувала б максимально можливу для даного класу комп’ютерів швидкість віддаленого доступу до файлам і підвищену безпеку даних. Для серверної частини своїх ОС Novell розробила спеціалізовану операційну систему, оптимизированную на файлові операції, і яка використовує всі можливості, надані процесорами Intel x386 і від. За високу продуктивність користувачі мереж Novell NetWare розплачуються вартістю — виділений файл-сервер неспроможна використовуватися як робочої станції, яке спеціалізована ОС має специфічний АПІ, що потребує від розробників додаткових серверних модулів особливих знань, спеціального досвіду і великих усилий.
Для робочих станцій Novell випускає дві власні ОС з умонтованими мережними функціями: Novell DOS 7 з що входить у неї мережевий одноранговой компонентом Personal Ware, і навіть ОС UnixWare, що є реалізацією UNIX System V Release 4.2 з умонтованими можливості роботи у мережах NetWare. (Восени цього року права на систему UnixWare продані компанії Santa Cruz Operations.) Для популярних ОС персональних комп’ютерів інших виробників Novell випускає мережні оболонки з клієнтськими функціями по відношення до серверу NetWare.
Спочатку операційна система NetWare розробили фірмою Novell для мережі Novell S-Net, має звездообразную топологію і патентований сервер з мікропроцесором Motorola MC68000. Коли фірма IBM випустила персональні комп’ютери типу PC XT, Novell вирішила, що NetWare то, можливо легко перенесена в архітектуру мікропроцесорів сімейства Intel 8088, і тоді вона зможе підтримувати майже всі наявні над ринком мережі персональних комп’ютерів. Перша версія NetWare було випущено фірмою Novell на початку 1983 року. У 1985 року з’явилася система Advanced NetWare v1.0, яка розширювала функціональні можливості ОС серверу. Версія 1.2 системи Advanced NetWare, випущена й у 1985 року, стала першої операційній системою для процесора Intel 80 286, яка працює захищеному режимі. Версія 2.0 системи Advanced NetWare, випущена 1986 року, відрізнялася від попередніх версій вищої продуктивністю і можливість об'єднання різнорідних на канальном рівні мереж. Повністю використовуючи можливості захищеного режиму процесора 80 286, Advanced NetWare забезпечила таку продуктивність мережі, що була недоступна операційним системам, працюють у реальному режимі обмеженим 640 Кбайтами пам’яті. Версія 2.0 вперше забезпечила можливість підключення до одному серверу чотирьох мереж з різноманітною топологією, як-от Ethernet, ArcNet і Token Ring.
У 1987 року Novell випустила систему SFT NetWare, де було передбачені спеціальні кошти забезпечення надійності системи та розширено можливості управління мережею. Такі кошти, як цю критику використовуваних ресурсів немає і захист від несанкціонованого доступу, дозволили адміністраторам мережі визначати, коли як користувачі здійснюють доступом до інформації та ресурсів мережі. Розробники вперше одержали можливість створювати многопользовательские прикладні програми, які можуть виконуватися на сервері додаткових процесів мережевий операційної системи й використовувати її функціональні возможности.
Операційна система NetWare v2.15 побачила ринку грудні 1988 року, впорснувши у NetWare кошти підтримки комп’ютерів сімейства Macintosh. У користувачів Macintosh з’явилася можливість підключати свої комп’ютери як клієнтів серверів NetWare, одержуючи доступом до ресурсів сіті й здійснюючи прозорий пошук і освоєння зберігання інформації на сервері. У цьому на користувачів Macintosh поширюються все основні властивості NetWare, включаючи опірність збоїв та від несанкціонованого доступа.
У вересні 1989 року Novell випустила свою першу версію 32-разрядной ОС для серверів з мікропроцесором 80 386, яка отримав назву NetWare 386 v3.0. Вона мала значно більше високої продуктивністю проти попередніми версіями, удосконаленої системи захисту від несанкціонованого доступу, гнучкістю при застосуванні, і навіть підтримкою різних мережевих протоколів. Вона відповідала найпередовішим вимогам до середовища функціонування розподілених прикладних программ.
У червні 1990 року з’явилася версія NetWare 386 v.3.1, де було удосконалені кошти забезпечення надійності та управління мережею, підвищена продуктивність, поліпшено інструментальні кошти на незалежних разработчиков.
У 1991 року фірмою Novell операційні системи для процесорів 80 286 (SFT, Advanced і ELS NetWare) було замінено більш потужну і зручне систему NetWare v2.2, функціонально перевищує попередні версії 2.1x. Водночас випущена система NetWare v3.11, істотно розширила можливості NetWare 386. NetWare v3.11 стала першої мережевий операційній системою, які забезпечують доступом до мережним ресурсів з робочих станцій DOS, Windows, OS/2, UNIX і Macintosh.
У 1993 року після тривалих випробувань розпочалося постачання системи NetWare SFT III v3.11. NetWare System Fault Tolerance Level III (SFT III) v3.11 — мережна операційна система, розроблена спеціально для використання їх у системах, потребують найвищого рівня надійності. У доповнення до засобів підвищення надійності, наявних у складі NetWare v3.11, SFT III забезпечує роботу двох серверів в «дзеркальному «режимі. При цьому одне із серверів завжди активним, а другий перебуває у гарячому резерві, забезпечуючи в собі таку ж стан пам’яті і дисків, як і в основного серверу. У 1993 року фірма Novell випустила ОС NetWare v4.0, явившуюся у багатьох відносинах революційно новим продуктом. Цю систему розробили спеціально для побудови обчислювальних мереж «масштабу підприємства «з кількома файл-серверами, велику кількість мережевих ресурсів немає і користувачів. Однією з основних нововведень стала служба каталогів NetWare Directory Services (NDS), що зберігає в розподіленої з кількох серверам базі даних інформацію про всіх поділюваних мережевих ресурсах і користувачів, що дало можливість за одного логічному вході у систему отримувати прозорий доступ всім ресурсів многосерверной сети.
У вересні 1993 року Novell випустила систему NetWare v3.12, яка була удосконалений варіант найпопулярнішою мережевий ОС фірми Novell — NetWare v3.11. У версії NetWare 3.12 усунули помічені під час експлуатації версії NetWare 3.11 помилки і додано нові засоби: усічена версія електронної пошти Global MHS, кошти підтримки клієнтів Macintosh і клієнтська оболонка для DOS і Windows по технології VLM, що дозволяє динамічно навантажувати й вивантажувати необхідні для робочої станції мережні компоненты.
Самій використовуваної сьогодні версією NetWare є орієнтована на корпоративне використання мережна операційна система NetWare v4.1.
2 Версія NetWare 4.1.
Некоторые оглядачі вважають, що версія 4.1 — ця та версія, якої повинна бути версія 4.0, маю на увазі численні незручності в реалізації служби NDS та інших недоліки, які перешкоджали версіям 4.0х завоювати ринок (наприкінці 1994 року лише 31% користувачів NetWare у світі працювало з різними версіями 4.0х). Тепер, після виходу версії 4.1, становище може істотно змінитися. По-перше, Novell значно спростила процедуру інсталяції. По-друге, можливості версії 4.1 істотно розширено. Як і NetWare 4.0х, тут підтримується поліпшена файлова система і кошти управління пам’яттю, збільшено максимальну кількість обслуговуваних користувачів (понад 250), реалізовані служби стискування і переміщення рідко використовуваних файлів, і навіть досконаліші засоби захисту інформації та управління правами пользователей.
Новими елементами NetWare 4.1 є кошти IPX Mac і NetWare IP, інтегрована з NDS служба обробки повідомлень MHS і дуже корисна програма DS-Standard фірми Preffered Systems, яка полегшує конфигурирование NetWare і від однієї версії в іншу. По-третє, фірма Novell знизила ціну на продукт і передбачила різні варіанти його лицензирования.
Упрощенная процедура інсталяції під час використання програми DS-Standard.
При перехід із NetWare 3. х на NetWare 4.1 Novell рекомендує замість власні кошти використовувати програму DS-Standard. Головне перевагу цього продукту у тому, що вона дозволяє збирати інформацію з існуючих серверів і дає можливість адміністратору створювати й конфіґурувати NDS-дерево в автономному режимі. Щойно адміністратор вирішує, що отримана структура дерева його влаштовує, DSStandard експортує всі дані про нову структуру в довідник NDS. Робота з DS ділиться втричі основні етапи: збирати інформацію, моделювання і конфигурирование. У першому етапі здійснюється збирати інформацію з існуючих серверів 3. х і 4.х., у своїй можуть бути зібрані вся інформація, включаючи облікові обмеження, дані про еквівалентність прав доступу, конфігурації завдань на печатку, довірені права, сценарії входу до мережі, обмеження до станції, і навіть інформацію про системі друку. Єдине, що ні імпортується з серверів 3. х — це паролі користувачів (кошти міграції Novell імпортують пароли).
Після збору програмою DS-Standard даних із серверів, адміністратор може розпочати моделювання дерева NDS. Програма дозволяє додавати, переміщувати й видаляти об'єкти, і навіть змінювати їх властивості. У цьому вся відношенні вона в чому нагадує утиліту NetWare Admin. Після закінчення автономного моделювання, DS-Standard формує нову конфігурацію, вносячи зміни у «живе «дерево NDS.
З допомогою процедури інсталяції можна перейти на NetWare 4.1 усім серверах мережі, причому кожен сервер отримує свій власний контекст. Такий контекст є окрему гілка дерева NDS. Пізніше можна скористатися спеціальними коштів видалення і переміщення гілок. У NetWare 4.1 розширено функції эмуляции bindery. У попередній версії процедура эмуляции могла використовувати тільки один гілка дерева, а 4.1 — до 16 гілок. До складу нової версії включена утиліта NetSync, що дозволяє управляти з серверу 4.1 12-ту серверами NetWare 3.х. При інсталяції NetSync на сервер NetWare 3. х всю інформацію з його бази bindery копіюється в контекст bindery серверу NetWare 4.1, після чого можна управляти сервером NetWare 3. х з допомогою утиліт NetAdmin NWAdmin версії 4.1. Будь-які зміни, зроблені на сервері NetWare 4.1, автоматично переносяться на сервер NetWare 3.х. Недолік такої системи у тому, що, якби сервері 3. х користувач змінює свій сценарій входу до мережі, то внесені їм зміни переносяться автоматично на сервер 4.1.
Конфигурирование NDS.
У версії NetWare 4.1 з’явилися, нарешті, кошти на видалення, переміщення і перейменування гілок дерева NDS. Це підвищує гнучкість системи, оскільки зовсім необов’язково будувати дерево остаточному вигляді з першого спроби. Кілька дерев можна поєднати за одну з допомогою утиліти DSMerge. Раніше доводилося проектувати дерево NDS в масштабах всього підприємства, що з більшості організацій було досить незручно. Сьогодні кожен відділ підприємства може самостійно будувати свої дерева, аби згодом злити їх у єдине дерево NDS. Удосконалені кошти передачі сообщений.
Служба повідомлень MHS в версії 4.1 тепер тісно інтегрована зі службою NDS і включено до комплект поставки. Це дозволило б, по-перше, значно зменшити розмір модулів NLM MHS (приблизно від 2 Мбайт до приблизно 200 Кбайт) і, по-друге, забезпечити у системі підтримку лише однієї бази даних із інформацією щодо користувачів — NDS. До комплекту поставки MHS включено шлюзи решти поштовим системам, тому їх слід набувати окремо, причому кожному за дерева NDS знадобиться свій шлюз. Підтримка клієнтських станций.
Novell поліпшила оболонку клієнтам з урахуванням комп’ютерів Macintosh, замінивши колишню 5-пользовательскую версію, поставлявшуюся з NetWare 3. х і 4.02, «неогра;
ниченной «версією NetWare for Macintosh. Тепер комп’ютери Macintosh можуть легко підключатися до неї NetWare і з NDS як клієнта. Щоправда утиліти адміністрування NDS для Mac доки створено, хоча Novell і збирається з випустити у майбутньому з урахуванням технології OpenDoc фірми Apple.
Для клієнтів NetWare випущена нова версія оболонки з урахуванням VLMтехнології - версія 1.2, у якій усунуті помилки першу версію. Підтримка комунікаційних протоколов.
До комплекту поставки NetWare 4.1 фірма Novell включила купон на отримання NetWare/IP. За наявності NetWare/IP можна використовувати протоколи TCP/IP передачі повідомлень прикладного протоколу клієнт-сервер NetWare — протоколу NCP. На клієнтських станціях, працюючих під керівництвом DOS, завантаження стека протоколів TCP/IP потребує лише невеликого додаткового обсягу пам’яті. У версії 4.1 можна використовувати нових протокол обміну маршрутної інформацією NLSP замість протоколу RIP. Протокол NLSP грунтується на алгоритмі «стану зв’язків «(Link State Algorithms), добре працює мережах великих розмірів завдяки тому, що маршрутизатори обмінюються лише інформацією щодо змін у стані зв’язку з найближчими сусідами, що істотно зменшує службовий трафік проти дистанційновекторными протоколами, куди входить протокол RIP. До протоколів «стану зв’язків «і порівняно новий протокол OSPF, розроблений як частину стека Internet.
Поруч із розробкою протоколу NLSP фірма Novell зробила і інші кроки щодо поліпшенню свого стека протоколів за умов роботи у великих мережах із глобальними зв’язками. Ведуться роботи з поліпшенню роботи протоколу IPX в глобальних мережах, з допомогою усіма вузлами мережі служби NDS зайвими й інші широковещательном протоколі - протоколі SAP.
4 Сімейство мережевих ОС компанії Microsoft.
1 Мережні продукти Microsoft.
В 1984 року Microsoft випустила свій «перший мережевий продукт, званий Microsoft Networks, який звичайно неформально називають MS-NET. Деякі концепції, закладені у MS-NET, такі як введення у структуру базових компонент — редиректора та мережевого серверу — успішно перейшли у LAN Manager, та був й у Windows NT.
Microsoft досі поставляє свою мережну ОС LAN Manager. Велике кількість незалежних постачальників мають ліцензії з цього ОС і підтримують свої власні версії LAN Manager як частину своїх мережевих продуктів. У кількість цих компаній входять такі фірми як AT&T і HewlettPackard. LAN Manager вимагає встановлення на файл-сервере ОС OS/2, робочі станції можуть працювати під DOS, Windows чи OS/2. OS/2 — це операційна система, реалізує справжню многозадачность, яка у захищеному режимі мікропроцесорів x86 і від. LAN Manager використовує 32-х битную версію файловій системи OS/2, звану HPFS, яка оптимізована до роботи на файл-сервере з допомогою кэширования каталогів і даних. LAN Manager — це мережна ОС, розроблена на підтримку середовища клієнт-сервер. Ключовими компонентами LAN Manager є редиректор і сервер. Особливо ефективно LAN Manager підтримує архітектуру клієнтсервер для системам управління базами даних. LAN Manager дозволяє робочим станціям під OS/2 підтримувати мережевий сервіс за технологією «равный-срівним ». Це означає, що робоча станція може виконувати функції серверу баз даних, принт-сервера чи комунікаційного серверу. Обмеженням і те, лише одна користувач, крім власника цією радісною робочою станції, має доступом до такому одноранговому сервису.
Робота у невеликий мережі фірма Microsoft пропонує компактну, не що вимагає значних апаратних чи програмних витрат операційну систему Windows for Workgroups. Ця операційна система дозволяє організувати мережу для схемою «равный-с-равным », у своїй не потрібно набувати спеціальний комп’ютер до роботи на ролі мережного серверу. Ця операційна система особливо адресований рішення мережевих завдань в колективах, члени раніше широко використовували Windows 3.1. У Windows for Workgroups досягнуто висока продуктивність мережевий обробки завдяки тому, що це мережні драйвери є 32-х розрядними віртуальними драйверами.
Із середини 1993 року Microsoft початку випуск нових операційними системами «нову технологію «(New Technology — NT) Windows NT. У вересні 1995 роки компанія Microsoft випустила ще одне нову операційну систему Windows 95 (кодову назву Chicago), призначену для заміни Windows 3.1 і Windows for Workgroups 3.11 в настільних комп’ютерах з процесорами Intel x86.
Наприкінці 88-го року Microsoft доручила Девіду Катлеру (David Cutler) очолити новий проект у сфері програмного забезпечення: створити нову ОС фірми Microsoft для 90-х. (Девід Катлер — головний консультант фірми DEC, який 17 років там, розробляючи ОС і компілятори: VAX/ VMS, ОС для MicroVAX I, OS RSX-11M, компілятори VAX PL/1, VAX З). Він зібрав команду інженерів і розробити ОС нову технологію (New Technology — NT).
Спочатку розробити NT з користувальницьким і програмним (АПІ) інтерфейсами у стилі OS/2, проте OS/2 погано продавалася, а Windows 3.0 був великий та постійний успіхом ринку. Побачивши ринкові орієнтири і труднощі, пов’язані з і підтримкою двох несумісних систем, Microsoft вирішила змінити свій курс і направити своїх інженерів у бік стратегії єдиній цілісній ОС. Ця стратегія у тому, щоб розробляти сімейство які базуються на Windows операційними системами, які охоплювали б безліч типів комп’ютерів, від найбільш маленьких ноутбуків аж до великих мультипроцессорных робочих станцій. Windows NT, як було зазначено названо таке покоління Windows-систем, займає найвища місце у сімействі Windows. Вона підтримує графічний інтерфейс (GUI) користувача Windows, і навіть є першою що базується на Windows операційній системою фірми Microsoft, підтримує Win32 АПІ, 32-х бітний програмний інтерфейс для розробки нових додатків. Win32 АПІ робить доступними для додатків поліпшені властивості ОС, такі як многонитевые процеси, синхронізацію, безпеку, I/O, управління об'єктами. У 1993 року з’явилися перші ОС сімейства NT — Windows NT 3.1 і Windows NT Advanced Server 3.1.
2 Windows NT 4.0.
При розробці Windows NT 4.0 Microsoft вирішила пожертвувати стабільністю заради продуктивності. Для цього він внесли зміни в архітектуру: бібліотеки менеджера вікон та GDI, і навіть драйвери графічних адаптерів було перенесено з користувальницького режиму на режим ядра. Це зміна означає певний відхід ухваленій у попередніх версіях Windows NT 3. х концепції мікроядра. Перенесення графічної бібліотеки й драйверів до області ядра підвищує швидкість виконання графічного вводу-виводу. Ці зміни особливо позначилися на швидкості виконання додатків Win32, тоді як докладання Windows-16 і DOS-ские графічні докладання працюють близько як і в версії 3.5. У той самий час описані зміни роблять операційну систему у принципі менш надійної. Справді, оскільки програмне забезпечення графічних адаптерів, зазвичай, розробляється фірмами-виробниками цього устаткування й це програмне забезпечення часто змінюється (разом із устаткуванням), або від неї важко очікувати тієї надійності, яку вимагають для модулів ОС. Крім архітектурних в Windows NT 4.0 є та інші щонайменше кардинальні зміни: Кошти взаємодії з NetWare модифіковані - Gateway і клієнт NCP підтримують тепер NDS. У стандартну поставку включений Internet Information Server і сервер DNS. DNS взаємодіє зі WINS і DHCP-серверами. Ця комбінація реалізує Dynamic DNS, що дозволяє верхні рівні доменного імені Ілліча та передає ім'я для остаточного вирішення службі WINS. Підтримка многопротокольной маршрутизації. Сервер може працюватиме, як який транслює агент протоколу BOOTP/DHCP, що дозволяє комп’ютера передавати повідомлення BOOTP/DHCP по IP-мережі. Нові адміністративні кошти Windows NT можуть працювати удаленно на клієнтів Windows 95. З іншого боку, Windows NT Server забезпечує сервіс віддаленій завантаження клієнтам Windows 95. (Це для бездисковых робочих станцій.) Інтерфейс у стилі Windows 95. Підсистема обробки повідомлень Microsoft Windows Messaging Subsystem дає змогу отримувати й відправлятиме пошту з додатків. У Windows NT 4.0 з’явився емулятор Intel «овских процесорів для RISCплатформ. Але мені невідомо як позначиться быстродействии розподілена версія OLE, названа Distributed COM (в Windows 95 додавання OLE знизило продуктивність). Microsoft додала в доти Windows NT 4.0 багато технічних засобів, щоб зробити це операційну систему придатної від використання як платформи для Web-сервера. Один із удосконалень пов’язана з тим, що повышающаяся роль Internet «а і клиент-серверных систем веде зростання кількості мобільних користувачів. Microsoft у зв’язку з цим поліпшила RAS (поліпшила підтримку ISDN) і надала кошти безпечної роботи з RAS через Internet. У RAS реалізовані протоколи PPTP (створює зашифрований трафік через Internet) і Multilink PPP (дозволяє об'єднувати кілька каналів до одного). Клієнтами може бути Windows NT 4.0 Workstation чи Windows 95. Важливим аргументом в боротьбі Internet є включення до стандартну поставку Windows NT 4.0 Web-сервера виробництва Microsoft — Internet Information Server, можливості якого можна порівняти, а, по ряду тестів і перевершують аналогічний популярний продукт Server Netscape для NT.
3 Області використання Windows NT.
Windows NT Workstation, передусім, придатна як клієнт в мережах Windows NT Server, соціальній та мережах NetWare, UNIX, Vines. Вона може бути робочої станцією й у одноранговых мережах, виконуючи одночасно функції і клієнта, і серверу. Windows NT Workstation може застосовуватися у ролі ОС автономного комп’ютера за необхідності забезпечення підвищеної продуктивності, таємності, і навіть при реалізації складних графічних додатків, наприклад, в системах автоматизованого проектування. Windows NT Server можна використовувати передусім сервер в корпоративної мережі. Тут є дуже корисною виявляється його можливість виконувати функції контролера доменів, дозволяючи структурувати мережу і спрощувати завдання адміністрування та управління. Він застосовується також в ролі файл-сервера, принт-сервера, серверу додатків, серверу віддаленого доступу і серверу зв’язку (шлюзу). З іншого боку, Windows NT Server можна використовувати як платформа для складних мережевих додатків, особливо ж тих, що побудовані з допомогою технології клієнт-сервер. Так, під керівництвом Windows NT Server може працювати сервер баз даних Microsoft SQL Server, і навіть сервери баз даних інших фірм, такі як Oracle і Sybase, Adabas і InterBase. На платформі Windows NT Server може бути встановлена нова потужну систему адміністрування Microsoft System Management Server, функцією якої є інвентаризація апаратної і програмної конфігурації комп’ютерів мережі, автоматична установка програмних продуктів на робочі станції, глухе управління будь-яким комп’ютером і моніторинг мережі. Windows NT Server придатна як сервер в зв’язку зі мейнфреймам. Для цього створено спеціальну продукт Microsoft SNA Server, дозволяє легко поєднати у однієї мережі IBM PC-совместимые робочі станції і потужні мейнфреймы. Нарешті, Windows NT Server є платформою для створення нового продуктивного поштового серверу Microsoft Exchange.
4 Концепції Windows NT.
1 Структура: NT executive і захищені подсистемы При розробці структури Windows NT був у значною мірою використана концепція мікроядра. Відповідно до на цю ідею ОС розділена сталася на кілька підсистем, кожна з яких виконує окремий набір сервісних функцій — наприклад, сервіс пам’яті, сервіс зі створення процесів, чи сервіс із планування процесів. Кожен сервер виконується в користувальному режимі, виконуючи цикл перевірки запиту від клієнта однією з його сервісних функцій. Клієнт, котрим може бути чи інша компонента ОС, або прикладна програма, затребувана сервіс, посилаючи повідомлення на сервер. Ядро ОС (чи микроядро), працюючи в привілейованому режимі, доставляє повідомлення потрібному серверу, потім сервер виконує операцію, після цього ядро повертає результати клієнту з допомогою іншого сообщения.
Структурно Windows NT то, можливо представленій у вигляді двох частин: частина ОС, яка у режимі користувача, і частина ОС, яка у режимі ядра (малюнок 8.1). Частина Windows NT, яка у режимі ядра, називається executive — виконавчої частиною. Вона містить ряд компонент, що керують віртуальної пам’яттю, об'єктами (ресурсами), уведенням-висновком і файловій системою (включаючи мережні драйвери), взаємодією процесів і лише частково системою безпеки. Ці компоненти взаємодіють між собою з допомогою межмодульной зв’язку. Кожна компонента викликає інші з допомогою набору старанно специфицированных внутрішніх процедур. Другу частина Windows NT, працюючу як користувача, становлять сервери — звані захищені підсистеми. Сервери Windows NT називаються захищеними підсистемами, адже кожен їх виконується в окремому процесі, пам’ять якої відокремлена з інших процесів системою управління віртуальної пам’яттю NT executive. Оскільки підсистеми автоматично що неспроможні спільно використовувати пам’ять, вони спілкуються один з іншому у вигляді посилки повідомлень. Повідомлення можуть передаватися як між клієнтом і сервером, і між двома серверами. Усі повідомлення проходять через виконавчу частина Windows NT. Ядро Windows NT планує нитки захищених підсистем точно як і, як і нитки звичайних прикладних процессов.
[pic].
Рис. 8.1. Структура Windows NT Підтримку захищених підсистем забезпечує виконавча частина — Windows NT executive, яка працює у просторі ядра і не скидається на диск. Її складовими частинами є: Менеджер об'єктів. Створює, видаляє і управляє об'єктами NT executive — абстрактними типами даних, що використовуються уявлення ресурсів системи. Монітор безпеки. Встановлює правила захисту на локальному комп’ютері. Охороняє ресурси ОС, виконує захист та виконуваних об'єктів. Менеджер процесів. Створює і завершує, призупиняє і відновлює процеси та нитки, і навіть зберігає про неї інформацію. Менеджер віртуальної пам’яті. Підсистема виводу-введення-висновку. Включає у собі такі компоненти: менеджер вводу-виводу, що дає кошти виводу-введення-висновку, незалежні від пристроїв; файлові системи — NT-драйверы, виконують файл-ориентированные запити на вхід-видобуток і що транслюють в виклики звичайних пристроїв; мережевий редиректор і мережевий сервер — драйвери файлових систем, передають віддалені запити на вхід-видобуток на машини сіті й отримують запити від них;
драйверы пристроїв NT executive — низькорівневі драйвери, які безпосередньо управляють пристроєм; менеджер кешу, який реалізує кэширование диска. Виконавча частина, своєю чергою, полягає в службах нижнього рівня, наданих ядром (його можна назвати і микроядром) NT. У функції ядра входить: планування процесів, обробка переривань та виключних ситуацій, синхронізація процесорів для багатопроцесорних систем, відновлення системи після збоїв. Ядро працює у привілейованому режимі будь-коли видаляється з пам’яті. Звернутися до ядру можна тільки у вигляді переривання. Ядро розміщено над рівнем апаратних абстракцій (Hardware Abstraction Level HAL), який концентрує щодо одного місці більшу частину машинно-зависимых процедур. HAL розташовується між NT executive і апаратним забезпеченням і приховує від системи такі деталі, як контролери переривань, інтерфейси ввода/вывода і механізми взаємодії між процесорами. Таке рішення дозволяє легко переносити Windows NT з одного платформи в іншу шляхом заміни лише шару HAL. Під час створення NT розробники керувалися завданнями поліпшення продуктивності і мережевих можливостей, і навіть вимогою підтримки певного набору прикладних середовищ. Ця мета було досягнуто продуманим поділом функцій між модулями ядра й іншими модулями. Наприклад, передача даних в файлову систему і з мережі виробляється швидше в просторі ядра, тому всередині ядра NT виділено буфера для невеликих по обсягу (від 16 до 32 Кб) операцій читання і запис, є типовими для додатків клієнт-сервер і розподілених додатків. Розміщення цих функцій виводу-введення-висновку всередині ядра, може, і псує академічну чистоту мікроядра NT, але чи відповідає мети створення NT. Захищені підсистеми Windows NT працюють у користувальному режимі створюються Windows NT під час завантаження ОС. Відразу після створення вони починають нескінченний цикл свого виконання, відповідаючи на повідомлення, вступники до них від прикладних процесів та інших підсистем. Серед захищених підсистем можна назвати підклас, званий підсистемами оточення. Підсистеми оточення реалізують інтерфейси додатків ОС (АПІ). Інші типи підсистем, звані інтегральними підсистемами, виконують необхідні операційній системі завдання. Наприклад, більшість системи безпеки Windows NT реалізована як інтегральної підсистеми, мережні сервери також виконані як інтегральні підсистеми. Найважливішою підсистемою оточення є Win32 — підсистема, яка забезпечує доступ для додатків до 32-bit Windows АПІ. Додатково ця система забезпечує графічний інтерфейс з користувачем і управляє вводом/выводом даних користувача. Також підтримуються підсистеми POSIX, OS/2,16-разрядная Windows і MS-DOS. Кожна захищена підсистема працює у режимі користувача, викликаючи системний сервіс NT executive до виконання привілейованих дій в режимі ядра. Мережні сервери можуть виконуватися як і режимі користувача, і у режимі ядра, залежно від цього, як вони розроблено. Підсистеми зв’язуються між собою через передачу повідомлень. Коли, наприклад, користувальницьке додаток викликає якусь API-процедуру, підсистема оточення, забезпечує її, отримує повідомлення виконує її або звертаючись до ядру, або посилаючи повідомлення інший підсистемі. Після закінчення процедури підсистема оточення посилає додатку повідомлення, що містить яке значення. Посилка повідомлень і інша діяльність захищених підсистем невидима для користувача. Основним засобом, який скріплює все підсистеми Windows NT у єдине ціле, є механізм виклику локальних процедур (Local Procedure Call — LPC). LPC є оптимізований варіант загальнішого кошти — віддаленого виклику процедур (RPC), що використовується для зв’язку клієнтів — і серверів, розташованих різними машинах мережі. Кошти LPC підтримують кілька радикальних способів передачі між клієнтами, і серверами: один зазвичай використовується передачі коротких повідомлень, інший — для довгих повідомлень, а третій оптимізовано спеціально від використання підсистемою Win32. Кожна підсистема встановлює порт — канал зв’язку, з якого із нею можуть зв’язуватися інших процесів. Порти реалізуються як об'єкти. Windows NT використовує захищені підсистеми у тому, щоб: Забезпечити кілька програмних інтерфейсів (АПІ), наскільки можна не ускладнюючи у своїй базовий програмний код (NT executive). Ізолювати базову операційну систему змін чи розширень в підтримуваних АПІ. Об'єднати частина глобальних даних, необхідних всім АПІ, й те водночас відокремити дані, які використовуються кожною окремою АПІ від даних, використовуються іншими АПІ. Захистити оточення кожного АПІ від додатків, і навіть від оточень інших АПІ, і захистити базову операційну систему від різних оточень. Дозволити операційній системі розширюватися у майбутньому з допомогою нових АПІ. Отже, реалізація частин ОС як серверів, виконуються як користувача, є важливим частиною проекту Windows NT і допомагає глибоке вплив попри всі функціонування системи. Микроядро NT служить, переважно, засобом підтримки для стерпної більшості ОС — набору користувальних середовищ. Концентрація машиннозалежних програм всередині мікроядра робить перенесення NT на різноманітні процесори щодо легким. Але час, як мікроядра (Mach і Chorus) передбачається постачати у ролі самостійного програмного продукту, з ОС Windows NT ядро навряд чи то, можливо вычленено для окремого використання. Це є одним із причин те, що окремі фахівці не вважають Windows NT істинно микроядерной ОС тому, у якому такими є Mach і Chorus. Ті ж критики відзначають також, що NT виключає, як належить, все надстроєні служби з простору ядра І що драйвери пристроїв в NT по мінімуму взаємодіють із ядром, віддаючи перевагу роботі безпосередньо з лежачим нижче шаром апаратної абстракції HAL.
2 Численні прикладні среды При розробці NT найважливішим ринковим вимогою було забезпечення підтримки по крайнього заходу двох вже існуючих програмних інтерфейсів OS/2 і POSIX, і навіть можливості додавання інших АПІ у майбутньому. Зауважимо, що з здобуття права програма, написана одній ОС, можна було виконано рамках інший ОС, недостатньо лише забезпечити сумісність АПІ. Крім цього, необхідно забезпечувати їй «рідне «оточення: структуру процесу, засоби управління пам’яттю, кошти обробки помилок, і виняткових ситуацій, механізми захисту ресурсів немає і семантику файлового доступу. Отже, що державна підтримка кількох прикладних програмних середовищ є дуже складним завданням, тісно пов’язану зі структурою операційній системи. Це було успішно розв’язано нелегку для Windows NT, причому у повної мері використали досвід розробників ОС Mach з університету КарнегіМеллона, які у своєї клиент-серверной реалізації UNIX «а відокремити базові механізми ОС від серверів АПІ різних ОС. Windows NT підтримує п’ять прикладних середовищ операційними системами: MS-DOS, 16-разрядный Windows, OS/2 1. x, POSIX і 32-разрядный Windows (Win32). Усі п’ять прикладних середовищ реалізовані як підсистеми оточення. Кожна працює у власній захищеному користувальному просторі. Підсистема Win32 забезпечує підтримку дисплея, клавіатури і миші для чотирьох решти підсистем. 16-битовые докладання DOS і Windows працюють на VDM (virtual DOS machines — віртуальні машини DOS), кожна з яких эмулирует повний 80×86 процесор з MS-DOS. У NT VDM є додатком Win32, отже, як та звичайні модулі прикладних середовищ для UNIX, докладання DOS і 16-битовой Windows перебувають у шарі безпосередньо над підсистемою Win32. Підсистеми OS/2 і POSIX побудовано інакше. Як повноцінних підсистем NT можуть взаємодіяти з підсистемою Win32 щоб одержати доступу ввести в дію і висновку, але й можуть звертатися безпосередньо до виконавчої системі NT за іншими засобами ОС. Підсистема OS/2 може виконувати багато наявні докладання OS/2 символьного режиму, включаючи OS/2 SQL Server, і підтримує іменовані канали і NetBIOS. Проте можливості підсистеми POSIX дуже обмежене, попри безпосередній доступ її до служб ядра. Додатка POSIX би мало бути откомпилированы спеціально для Windows NT. NT підтримувати не може двоїчний код, готовий до інших POSIX-совместимых систем, як-от UNIX. До того ж підсистема POSIX NT підтримувати не може безпосередньо печатку, не підтримує мережевий доступ, крім доступу до віддаленим файловим системам, і підтримує багато кошти Win32, наприклад, відображення на пам’ять файлів і графіку. [pic].
Рис. 8.2. Реалізація багатьох прикладних середовищ в Windows NT На малюнку 8.2 показано структура, забезпечує в Windows NT підтримку багатьох прикладних середовищ. NT executive виконує базові функції операційної системи й є основою, де підсистеми оточення реалізують підтримку своїх додатків. Усі підсистеми рівноправні і може викликати «рідні «функції NT до створення відповідної середовища на свої додатків. Кожна підсистема оточення має уявлення у тому, що таке, наприклад, процес чи описувач файла, тому структури даних, використовувані у кожному оточенні, можуть збігатися. Отже, як лише підсистема Win32 передала прикладної процес інший підсистемі оточення, дане додаток стає клієнтом цієї підсистеми до завершення процесу. У цьому підсистема Win32 перенаправляє вхідні повідомлення від користувача цьому додатку, і навіть відображає висновок докладання на экране.
3 Объектно-ориентированный подход Хотя NT не є повністю объектно-ориентированной, у її основі лежать об'єкти. Единообразная форма іменування, спільного використання й урахування системних ресурсів, простий і дешевий спосіб забезпечення безпеки системи та її модифікації - всі ці переваги можна досягти при використанні об'єктної моделі. У Windows NT будь-який ресурс системи, який одночасно то, можливо використаний більш як одним процесом, включаючи файли, спільно що використовується пам’ять і її фізичне устрою, реалізований у вигляді об'єкту і управляється поруч функцій. Такий їхній підхід скорочує число змін, які необхідно у операційну систему у її експлуатації. Якщо, скажімо, змінилося б у апаратурі, усі, що необхідно зробити — замінити відповідний об'єкт. Аналогічно, якщо потрібна підтримка нових ресурсів, треба додати лише новий об'єкт, не змінюючи у своїй решти коду ОС. Найбільш фундаментальне різниця між об'єктом та звичайної структурою даних у тому, що внутрішню структуру даних об'єкта прихована від спостереження. Ви повинні викликати об'єктну функцію у тому, щоб отримати дані з об'єкта чи помістити дані в об'єкт. Ви можете безпосередньо змінювати дані, що містяться всередині об'єкта. Це відокремлює кошти реалізації об'єкта від коду, що тільки використовує його, така техніка дозволяє легко змінювати згодом реалізацію об'єктів. Група розробників NT executive вирішила використовувати об'єкти для уявлення системних ресурсів, оскільки об'єкти забезпечують централізовані кошти на виконання трьох важливих (і найчастіше стомливих) завдань ОС: Підтримка які сприймаються людиною імен системних ресурсів; Поділ ресурсів немає і даних між процесами; Захист ресурсів від несанкціонованого доступу. Не все структури даних в NT executive є об'єктами. Об'єктами зроблено лише дані, потрібно розділяти, захищати, іменувати чи видимими для програм користувальницького режиму (з допомогою системних функцій). Структури, що використовуються лише одною компонентом executive до виконання внутрішніх функцій, є об'єктами. Попри всебічне використання об'єктів до подання поділюваних ресурсів, Windows NT перестав бути объектно-ориентированной системи у суворому сенсі. Більшість коду ОС написана на із метою забезпечення переносимості. Попри те що, що З не підтримує безпосередньо объектно-ориенти;
рованные конструкції, такі як динамічний зв’язування типів даних, полиморфные функції чи успадкування класів, ці інструментальні кошти було використано через їх широкої поширеності. Менеджер об'єктів — це компонента NT executive, яка відповідальна за створення, видалення, захист і стеження NT-объектами. Менеджер об'єктів централізує наявну операції управління ресурсами, які у іншому разі будуть розкидані на всієї ОС. Менеджер об'єктів NT виконує такі функції: Виділяє пам’ять для об'єкта. Приєднує об'єкта так званий дескриптор безпеки, який визначає, кому дозволено використовувати об'єкт, що вони можуть із нею робити. Створює і маніпулює структурою каталогу об'єктів, у якому зберігаються імена об'єктів. Створює описувач об'єкту і повертає його зухвалому процесу. Процеси користувальницького режиму, включаючи підсистеми оточення, повинні мати описувач об'єкта до того, як його нитки зможуть використовувати цей об'єкт. Використання описателей до роботи з системними ресурсами не є новою ідеєю. Наприклад, бібліотеки З повагою та Паскаля (і навіть інших мов) повертають описатели для відкритих файлів. Аналогічно докладання Win32 використовують різні типи описателей керувати вікнами, курсором миші, іконками. У обох випадках описатели служать непрямими покажчиками на системні ресурси; ця опосередкованість охороняє прикладні програми від рутинної роботи безпосередньо з системними структурами даних. Кожен NT-объект є певного типу. Тип визначає дані, які зберігає об'єкт, і «рідні «системні функції, що потенційно можуть до нього. А, щоб керувати різними об'єктами однаково, менеджер об'єктів вимагає, щоб кожен об'єкт містив кілька полів стандартної інформацією певному місці об'єкта. До тих пір, наразі ці дані є, менеджер об'єктів не піклується у тому, що ще зберігається в об'єкті. Кожен об'єкт і двох частин — заголовка об'єкту і тіла об'єкта, які містять стандартні і які змінюються дані об'єкта відповідно. Менеджер об'єктів працює із заголовком об'єкта, а інші компоненти executive працюють із тілами об'єктів тих типів, які які самі створюють. Заголовок об'єкта використовується менеджером не враховуючи типу об'єкта. У заголовку об'єкта будь-якого типу міститься ім'я, каталог, дескриптор безпеки, квоти використання ресурсів, лічильник відкритих описателей, база даних відкритих описателей, ознака постоянный/временный, режим пользователя/ядра, покажчик на той тип об'єкта. Крім заголовка об'єкта, кожен об'єкт має тіло об'єкта, формат і зміст якого унікально визначається типом цього об'єкта; в усіх об'єктів однієї й тієї типу однаковий формат тіла. Під час створення об'єкта виконавча частина може оперувати даними в тілах на всі об'єкти цього типа.
4 Процеси і нити В різних ОС процеси реалізуються по-різному. Ці розбіжності полягають у тому, якими структурами даних представлені процеси, як їх називають, яким чином захищені друг від одного й які відносини існують між ними. Процеси Windows NT мають такі характерні властивості: Процеси Windows NT реалізовані у вигляді об'єктів, й доступу до них здійснюється з допомогою служби об'єктів. Процес Windows NT має многонитевую організацію. Як объекты-процессы, і объекты-нити мають вбудовані кошти синхронізації. Менеджер процесів Windows NT підтримувати не може між процесами відносин типу «родитель-потомок ». У будь-якій системі поняття «процес «включає таке: виконуваний код, власне адресне простір, яке є сукупність віртуальних адрес, що може використовувати процес, ресурси системи, такі як файли, семафори тощо., призначених процесу операційній системою. хоча б одну виконувану нитку. Адресне простір кожного процесу захищене захищена від втручання до нього іншого процесу. Це забезпечується механізмами віртуальної пам’яті. Операційна система, звісно, теж захищена від прикладних процесів. Щоб виконати якусь процедуру ОС чи прочитати щось із її ділянці пам’яті, нитку повинна виконуватися як ядра. Користувальні процеси отримують доступом до функцій ядра у вигляді системних викликів. У користувальному режимі виконуються як прикладні програми, а й захищені підсистеми Windows NT. У Windows NT процес — це об'єкт, створюваний і знищуваний менеджером об'єктів. Объект-процесс, як та інші об'єкти, містить заголовок, який і инициализирует менеджер об'єктів. Менеджер процесів визначає атрибути, збережені у тілі объекта-процесса, і навіть забезпечує системний сервіс, який відновлює і змінює ці атрибути. До атрибутів тіла объекта-процесса входять: Ідентифікатор процесу — унікальне значення, яке ідентифікує процес у рамках ОС. Токен доступу — виконуваний об'єкт, у якому інформацію про безпеку. Базовий пріоритет — основа для виконавчого пріоритету ниток процесу. Процесорна сумісність — набір процесорів, у яких можуть виконуватися нитки процесу. Граничні значення квот — якомога більше страничной і нестраничной системної пам’яті, дискового простору, покликаного забезпечити вивантаження сторінок, процесорного часу — які можна використані процесами користувача. Час виконання — загальна кількість часу, протягом якого виконуються всі нитки процесу. Нагадаємо, що нитку є виконуваної одиницею, що знаходиться в адресному просторі процесу використовує ресурси, виділені процесу. Подібно процесу нитку в Windows NT реалізована у вигляді об'єкту і управляється менеджером об'єктів. Объект-нить має такі атрибути тіла: Ідентифікатор клієнта — унікальне значення, яке ідентифікує нитку у її зверненні до сервера. Контекст нитки — інформація, що необхідно ОС у тому, щоб продовжити виконання перерваної нитки. Контекст нитки містить поточне стан регістрів, стеков й індивідуальною області пам’яті, яка використовується підсистемами і бібліотеками. Динамічний пріоритет — значення пріоритету нитки в момент. Базовий пріоритет — нижню межу динамічного пріоритету нитки. Процесорна сумісність ниток — перелік типів процесорів, у яких може виконуватися нитку. Час виконання нитки — сумарне час виконання нитки в користувальному режимі як ядра, накопичене у період існування нитки. Стан попередження — прапор, що свідчить про, що нитку повинна виконувати виклик асинхронної процедури. Лічильник призупинень — поточне кількість призупинень виконання нитки. Крім названих, є та інших атрибути. Як очевидно з переліку, багато атрибути объекта-нити аналогічні атрибутам объекта-процесса. Дуже схожі й сервісні функції, які можна виконані над объектами-процессами і объектами-нитями: створення, відкриття, завершення, припинення, запит і установка інформації, запит і установка контексту та інші функции.
5 Алгоритм планування процесів і нитей В Windows NT реалізована вытесняющая многозадачность, коли він операційна система має не чекає, коли нитку сама захоче звільнити процесор, а примусово знімає її з виконання по тому, як та витратила відведений їй час (квант), або якщо у черзі готових з’явилася нитку з вищим пріоритетом. Під час такої організації поділу процесора ні одна нитку не займе процесор на тривалий время.
[pic].
Рис. 8.3. Граф станів нитки У ОС Windows NT нитку під час свого існування може мати одна з шести станів (малюнок 8.3). Життєвий цикл нитки починається у той час, коли програма створює нову нитку. Запит передається NT executive, менеджер процесів виділяє пам’ять для объекта-нити й поводиться до ядру, щоб форматувати объект-нить ядра. Після ініціалізації нитка тягнеться через такі стану: Готовність. Під час пошуку нитки виконання диспетчер переглядає лише нитки, перебувають у стані готовності, які мають усе задля виконання, однак бракує лише процесора. Першочергове готовність (standby). До кожного процесора системи вибирається одна нитку, яка виконуватися наступній (найперша нитку у черзі). Коли умови дозволяють, відбувається переключення на контекст цієї нитки. Виконання. Щойно відбувається переключення контекстів, нитку перетворюється на стан виконання й у ньому до того часу, поки або ядро не витіснить її тому, що з’явився більш як пріоритетна нитку чи закінчився квант часу, виділений цієї нитки, або нитку завершиться взагалі, або вона за власної ініціативи піде на стан очікування. Чекання. Нитка може укладати стан очікування кількома способами: нитку за власною ініціативою очікує певний об'єкт у тому, щоб синхронізувати своє виконання; операційна система (наприклад, підсистема виводу-введення-висновку) може спіткати у сфері нитки; підсистема оточення може безпосередньо змусити нитку призупинити себе. Коли очікування нитки підійде до кінця, вона повертається у стан готовності. Перехідний стан. Нитка входить у перехідний стан, якщо готова до виконання, але ресурси, що їй потрібні, зайняті. Наприклад, сторінка, що містить стік нитки, то, можливо выгружена з оперативної пам’яті на диск. При звільнення ресурсів нитку перетворюється на стан готовності. Завершення. Коли виконання нитки закінчилося, вона входить у стан завершення. Знаходячись у цьому стані, нитку може або видалена, або не видалена. Це від алгоритму роботи менеджера об'єктів, в відповідно до цього і вирішує, коли видаляти об'єкт. Якщо executive має покажчик на объект-нить, вона то, можливо инициализирована і використана знову. Диспетчер ядра використовує визначення порядку виконання ниток алгоритм, заснований на пріоритетах, відповідно до яким кожної нитки присвоюється число — пріоритет, і нитки з вищим пріоритетом виконуються раніше ниток із меншим пріоритетом. У на самому початку нитку одержує пріоритет від процесу, що створює її. Натомість, процес одержує пріоритет на той час, що його створює підсистема тій чи іншій прикладної середовища. Значення базового пріоритету присвоюється процесу системою за умовчанням чи системним адміністратором. Нитка успадковує цей базовий пріоритет, і може змінитися його, трохи збільшивши чи зменшивши. На підставі получившегося внаслідок пріоритету, званого пріоритетом планування, починається виконання нитки. У виконання пріоритет планування не може змінюватися. Windows NT підтримує 32 рівня пріоритетів, розділених на два класу — клас реального часу й клас змінних пріоритетів. Нитки реального часу, пріоритети яких у діапазоні від 16 до 31, є більш пріоритетними процесами й закони використовують до виконання завдань, критичних вчасно. Щоразу, коли необхідно вибрати нитку до виконання, диспетчер колись всього переглядає чергу готових ниток реального часу й звертається до іншим ниткам, тільки коли чергу ниток реального часу порожня. Більшість ниток у системі потрапляють у клас ниток зі змінними пріоритетами, діапазон пріоритетів яких від 0 до 15. Цей клас має назва «перемінні пріоритети «оскільки диспетчер налаштовує систему, обираючи (знижуючи чи підвищуючи) пріоритети ниток цього. Алгоритм планування ниток в Windows NT об'єднує у собі обидві базових концепції - квантування і. Як у від інших алгоритми, заснованих на виключно квантуванні, кожної нитки призначається квант, протягом яку вона може виконуватися. Нитка звільняє процесор, якщо: блокується, вдаючись у стан очікування; завершується; вичерпаний квант; у черзі готових з’являється більш пріоритетна нитку. Використання динамічних пріоритетів, змінюються у часі, дозволяє реалізувати адаптивне планування, у якому не дискримінуються інтерактивні завдання, часто виконують операції вводу-виводу і недоиспользующие виділені їм кванти. Якщо нитку повністю вичерпала свій квант, що його пріоритет знижується певну величину. У той самий час пріоритет ниток, які перейшли у стан очікування, не використавши повністю виділений їм квант, підвищується. Пріоритет не змінюється, якщо нитку витіснена більш пріоритетною ниткою. А, щоб забезпечити час реакції системи, алгоритм планування використовує поруч із квантуванням концепцію абсолютних пріоритетів. Відповідно до цієї концепцією у разі у черзі готових ниток такий, що має пріоритет вище, ніж в выполняющейся у цей момент, відбувається зміна активної нитки на нитку з найвищим приоритетом.
В багатопроцесорних системах при диспетчеризації і планування ниток ж виконує функцію їх процесорна сумісність: по тому, як ядро вибрала нитку із найвищим пріоритетом, воно перевіряє, який процесор може виконати цю нитку і, якщо атрибут нитки «процесорна сумісність «не дозволяє нитки виконуватися на жодному з вільних процесорів, то вибирається наступна гаразд пріоритетів нить.
6 Мережні средства Средства мережного взаємодії Windows NT спрямовані у взаємодії з типами мереж, забезпечення можливості завантаження і вивантаження мережного програмного забезпечення, і навіть ось на підтримку розподілених додатків. Windows NT з погляду реалізації мережевих коштів має такі особливості: Убудованість лише на рівні драйверів. Це властивість забезпечує быстродействие.
Открытость — обумовлюється легкістю динамічної загрузки-выгрузки, мультиплексируемостью протоколів. Наявність RPC, поіменованих конвеєрів і поштових ящиків на підтримку розподілених додатків. Наявність додаткових мережевих коштів, дозволяють будувати мережі в масштабах корпорації: додаткові кошти на безпеки централізоване адміністрування отказоустойчивость (UPS, дзеркальні диски). Windows NT успадкувала від своїх попередників редиректор і сервер, протокол верхнього рівня SMB і транспортний протокол NetBIOS (щоправда, з новим «наповненням «- NetBEUI). Як і мережі MS-NET редиректор перенаправляє локальні запити виводу-введення-висновку на віддалений сервер, а сервер приймає і опрацьовує цих запитів. Спочатку редиректор і сервер було написано на ассемблері й містилися над існуючим системним програмним забезпеченням MS-DOS. Нові редиректор і сервер вмонтовані в Windows NT, де вони залежить від архітектури апаратних коштів, у яких працює ОС. Вони на З повагою та виконані як загружаемые драйвери файлової системи, які можуть опинитися завантажуватися чи вивантажуватися у час. Вони також можуть співіснувати з редиректорами і серверами інших виробників. Реалізація редиректора і серверу як драйверів файловій системи роблять їх частиною NT executive. Отже, вони теж мають доступом до спеціалізованим інтерфейсам, які менеджер вводу-виводу забезпечує для драйверів. Ці інтерфейси, своєю чергою, розробили з урахуванням потреб мережевих компонент. Доступ до інтерфейсам драйверів плюс можливості безпосереднього виклику кэш-менеджера дають значний внесок у збільшення продуктивності редиректора і серверу. Багаторівнева модель драйверів менеджера вводу-виводу відбиває багаторівневу модель мережевих протоколів. Оскільки редиректор і сервер є драйверами, вони можуть бути розміщені верхньому рівні, під яким розташовуються всі необхідні драйвери транспортних протоколів. Така структура забезпечує модульність мережевих компонент і це створює ефективний шлях від рівня редиректора чи серверу вниз до транспортному й фізичного рівням мережі. Мережний редиректор забезпечує кошти, необхідні одному комп’ютера Windows NT для доступу до файлам і принтерам іншого комп’ютера. Оскільки підтримує SMB-протокол, він працює із існуючими серверами MS-NET і LAN Manager, забезпечуючи доступом до системам MS-DOS, Windows і OS/2 з Windows NT. Механізми безпеки забезпечують захист даних Windows NT, поділюваних через мережу, від несанкціонованого доступу. Редиректор має одну основне завдання: підтримку розподіленої файловою системи, що поводиться подібно локальної файловою системі, хоч і працює через ненадійну середу (мережу). Коли зв’язок відмовляє, редиректор відповідальний відновлення сполуки, якщо може бути, або ж за повернення коду помилки, щоб додаток змогло повторити операцію. Подібно іншим драйверам файловій системи, редиректор повинен підтримувати асинхронні операції вводу-виводу, якщо вони викликаються. Коли користувальницький запит є асинхронним, то редиректор має повернути управління негайно, незалежно від цього, чи завершилася віддалена операція вводу-виводу чи ні. У цьому редиректор виконується у тих цієї нитки. Що Викликає нитку повинна продовжити своєї роботи, а редиректор повинен чекати завершення запущеній операції. Є дві варіанти рішення цієї проблеми: чи редиректор сам створює нову нитку, що чекатиме на, чи може передати роботу вже готової нитки, яка у системі. У Windows NT реалізований другого варіанта. Редиректор посилає і отримує блоки SMB до виконання своєї роботи. Протокол SMB є протоколом прикладного рівня, які мають мережевий рівень добробуту й рівень уявлення. SMB реалізує: встановлення сесії, файловий сервіс, сервіс друку, сервіс повідомлень. Інтерфейс, відповідно до яким редиректор посилає блоки SMB, називається інтерфейсом транспортних драйверів (transport driver interface — TDI). Редиректор викликає функції TDI передачі блоків SMB різним транспортним драйверам, загруженным в Windows NT. Для виклику функцій TDI редиректор повинен розчинити канал, званий віртуальної зв’язком (virtual circuit), до машини призначення, та був послати SMB-сообщение цю віртуальну зв’язок. Редиректор створює тільки один віртуальну зв’язок для кожного серверу, з яким з'єднана система Windows NT, і мультиплексирует неї запити до цього серверу. Транспортний рівень визначає, яким чином реалізувати віртуальну зв’язок, і пересилає дані через мережу. Хоча це й редиректор, сервер Windows NT на 100% сумісний із існуючими SMBпротоколами MS-NET і LAN Manager. Ця повна сумісність дозволяє серверу обробляти запити, вихідні тільки від систем Windows NT, але та інших систем, які працюють із програмним забезпеченням LAN Manager. Як і редиректор, сервер виконаний у вигляді драйвера файлової системи. Може скластися враження дивним, що сервер відповідно до микроядерной концепцією не реалізований як серверний процес. Було б логічно очікувати, що мережевий сервер функціонуватиме як захищена підсистема — процес, чиї нитки очікують надходження запитів через мережу, виконують їх, а потім повертають результати через мережу. Такий підхід, як найбільш природний, був старанно розглянутий під час проектування Windows NT, проте, враховуючи досвід побудови мереж VAX/VMS власний досвід використання RPC, було вирішено виконати сервер як драйвер файлової системи. Хоча сервер і є драйвером у звичному значенні, і не управляє файловою системою на насправді, використання моделі драйвера забезпечує деякі переваги. Головне полягає у цьому, що драйвер реалізований у середовищі NT executive і може викликати кэш-менеджер NT безпосередньо, що оптимізує передачу даних. Наприклад, коли сервер отримує запит для читання великого кількості даних, він викликає кэш-менеджер визначення місця розташування цих даних в кэше (або заради завантаження цих даних в кеш, якщо їх немає) й у фіксації даних у пам’яті. Потім сервер передає дані безпосередньо з кешу до мережі, минаючи доступом до диску. Аналогічно, при запиті на запис даних сервер викликає кэш-менеджер для резервування місця для вступників даних. Потім сервер пише дані у кеш. Записуючи дані в кеш, сервер повертає управління клієнту набагато швидше; потім кэш-менеджер записує дані на диск в фоновому режимі (використовуючи сторінкові кошти менеджера віртуальної пам’яті). Будучи драйвером файлової системи, сервер трохи більше гнучкий по порівнянню з його реалізацією як процесу. Наприклад, може реєструвати функції завершення виводу-введення-висновку, що дозволяє йому отримувати управління відразу після роботи драйверів нижнього рівня. Хоча сервер Windows NT реалізований як драйвер файловою системи, інші сервери можна реалізувати як і драйвери, як і серверні процеси. Асинхронні виклики обробляються сервером аналогічно, з допомогою пулу робочих ниток. І редиректоры, і сервери, і транспортні драйвери можна час завантажені і вивантажені. Відкрита архітектура мережевих коштів Windows NT забезпечує роботу своїх робочих станцій (і серверів) в гетерогенних мережах як шляхом надання можливості динамічно навантажувати й вивантажувати мережні кошти, а й шляхом безпосереднього перемикання з програмних мережевих коштів, орієнтованих взаємодію Космосу з одним типом мереж, на програмні кошти на іншого типу мереж під час роботи системи. Windows NT підтримує переключення програмних засобів на трьох рівнях: лише на рівні редиректоров — кожен редиректор призначений для свого протоколу (SMP, NCP, NFS, VINES); лише на рівні драйверів транспортних протоколів, надаючи них і для редиректоров стандартний інтерфейс TDI; лише на рівні драйверів мережевих адаптерів — зі стандартним інтерфейсом NDIS 3.0. Для доступу решти типам мереж в Windows NT, крім вбудованого, можуть завантажуватися додаткові редиректоры. Спеціальні компоненти Windows NT вирішують, який редиректор може бути викликаний обслуговування запиту на віддалений вхід-видобуток. Останні десятиліття набули поширення різні протоколи передачі через мережу. І хоча Windows NT підтримує в усіх ці протоколи, вона, по крайнього заходу, дозволяє включати підтримку. Потому, як мережевий запит сягає редиректора, повинен бути у мережу. У традиційної системі кожен редиректор жорстко пов’язані з певним транспортним протоколом. У Windows NT поставили завдання гнучкого підключення тієї чи іншої транспортного протоколу, залежно від типу транспорту, що у інший мережі. І тому переважають у всіх редиректорах нижній рівень може бути написаний відповідно до певними угодами, які визначають єдиний програмний інтерфейс, званий інтерфейсом транспортних драйверів (TDI). TDI дозволяє редиректорам залишатися незалежною від транспорту. Таким чином, одна версія редиректора може користуватися будь-яким транспортним механізмом. TDI забезпечує набір функцій, які редиректоры можуть використовуватиме пересилки будь-яких типів даних із допомогою транспортного рівня. TDI підтримує як зв’язки й з встановленням сполуки (віртуальні зв’язку), і зв’язку без встановлення сполуки (датаграммные зв’язку). Хоча LAN Manager використовує зв’язки Польщі з встановленням сполук, Novell IPX є взірцем мережі, що використовує зв’язок без встановлення сполуки. Microsoft спочатку забезпечує транспорти — NetBEUI (NetBIOS Extended User Interface), TCP/IP, IPX/SPX, DECnet і AppleTalk. Мережні адаптери поставляються разом із мережними драйверами, що раніше не часто було спрямовано на взаємодію Космосу з певним типом транспортного протоколу. Оскільки Windows NT дозволяє завантажувати драйвери різних транспортних протоколів, то виробники мережевих адаптерів, використовують такий, мали писати різні варіанти однієї й тієї ж драйвера, розраховані зв’язку з різними протоколами транспортного уровня.
Чтобы допомогти виробникам уникнути цього, Windows NT забезпечує інтерфейс і програмну середу, звані «специфікація інтерфейсу мережного драйвера «(NDIS), які екранують мережні драйвери від деталей різних транспортних протоколів. Найбільш верхній рівень драйвера мережного адаптера має бути написаний відповідно до рекомендаціями NDIS. І тут користувач може працювати з мережею TCP/IP і мережею NetBEUI (чи DECnet, NetWare, VINES тощо.), використовуючи один мережевий адаптер і тільки мережевий драйвер. Середовище NDIS використовувалася у мережах LAN Manager, але для Windows NT у неї оновлена. Через свою нижню межу драйвер мережного адаптера зазвичай взаємодіє безпосередньо з адаптером чи адаптерами, що він обслуговує. Драйвер мережного адаптера, реалізований для середовища NDIS, управляє адаптером не безпосередньо, а використовує при цьому функції, надані NDIS (наприклад, для запуску виводу-введення-висновку чи обробки переривань). Таким чином, середовище NDIS утворює якусь оболонку, що дозволяє досить просто переносити драйвери мережевих адаптерів з однієї ОС до іншої. NDIS дозволяє мережним драйверам не утримувати вбудованих знання процесорі чи операційній системі, у яких він работает.
5 Сумісність Windows NT з NetWare.
Совместимость мережевих операційними системами припускає використання однакового стека комунікаційних протоколів, зокрема і верхнього прикладного рівня. Протоколи верхнього рівня (NCP, SMB, NFS, FTP, telnet) включають частини — клієнтську і серверную. При взаємодії двох комп’ютерів з кожної боці можуть бути присутні як обидві частини прикладного протоколу, і за однією його частину, залежно що від цього утворюється чи одна, чи пари «клієнт-сервер ». Для клієнтської частини протоколу верхнього рівня, реалізованого як модуля ОС, використовують різні назви — редиректор (redirector), ініціатор запитів чи запросчик (requester). Ці компоненти отримують запити від додатків на доступом до віддаленим ресурсів, розташованим на серверах, і паралельно ведуть діалог із сервером відповідно до якимабо протоколом прикладного рівня. Сукупність функцій, яка може використовувати додаток для звернення до редиректору, називається прикладним інтерфейсом (АПІ) редиректора. Існуюча версія Windows NT 3.51 має вмонтовану підтримку стека протоколів Novell, саме протоколів IPX/SPX і клієнтською частини NCP. При розробці першу версію Windows NT 3.1 між Microsoft і Novell існувала угода у тому, що редиректор, який реалізує клієнтську частина протоколу NCP, буде написано силами співробітників Novell і передано Microsoft протягом 60 днів після випуску комерційної версії Windows NT 3.1. Проте перша версія редиректора від Novell з’явилася тільки через чотири місяці та мала суттєвими обмеженнями: не підтримувався повністю АПІ редиректора NetWare, зокрема, підтримувалися лише 32-х розрядні виклики, що означає неможливість роботи старих 16 розрядних додатків клієнта NetWare. Невдовзі Microsoft розробила своє власне версію редиректора для NetWare, провівши велику роботу з освоєння NCP. Цей варіант виявився набагато краще, однак він має недоліки: у ньому відсутня підтримка вхідних сценаріїв NetWare і каталогів NetWare Directory Services. Відсутність підтримки вхідних сценаріїв означає, що адміністратору мережі буде складно автоматизувати створення індивідуальної операційній середовища NetWare для користувачів, використовують Windows NT в ролі клієнтської машини серверів NetWare. Організація, яка використовує NetWare, може додати Windows NT як: клієнтської робочої станції, файлового серверу чи серверу друку поруч із NetWare, файлового серверу чи серверу друку замість NetWare, серверу баз даних чи інших додатків. Мережа з файловими серверами різних типів (NetWare і Windows NT) породжує складні технічні проблеми. Навіть якщо його сервери використовують однакові транспортні протоколи, у разі протокол IPX (у реалізації Microsoft має назва NWLink), клієнтським робочим станціям однаково доведеться завантажувати дві різні ініціатора запитів. У клієнта, працював у середовищі MS-DOS, при цьому може просто більше не вистачити пам’яті. Саме для пом’якшення переходу від NetWare до Windows NT Server розроблено кілька інструментальних програм, зокрема утиліта Migration Tool, яка включено до комплект поставки Windows NT Server. Ця утиліта переносить дисконтну інформацію користувачів (імена користувачів, обмеження і право доступу) і такі з однієї чи навіть кількох файлових серверів NetWare на сервер Windows NT. Migration Tool підбирає найкраще відповідність між можливостями NetWare й потенційними можливостями Windows NT. Проте є низка суттєвої різниці у цьому, як обробляються такі речі, як обмеження. У NetWare така інформація обробляється кожному за користувача окремо, а Windows NT вона загальна для цілого серверу. Компанія Beame and Whiteside Software створила перший NFS сервер для Windows NT, і навіть продукт під назвою BW-Multiconnect, що перетворює сервер Windows NT в сервер NetWare. Системи Windows NT з установленою продуктом BW-Multiconnect посилають широкомовні повідомлення за протоколом SAP (протокол оголошення сервісів і серверів через мережу — Service Advertising Protocol, з допомогою якого клієнти NetWare дізнаються про наявність у мережі серверів і про тих послугах, які надають). BW-Multiconnect повинен полегшити співіснування і міграції від NetWare до Windows NT. Хоча і може працюватиме, як єдиний NCP-сервер мережі, не призначений на цю роль, оскільки надає лише обмежений набір утиліт під Windows і DOS, і обробляє вхідних командних файлів NetWare. Але коли його у мережі є «справжній «файловий сервер NetWare, то користувачі можуть ввійти у цей сервер, виконати системний вхідний командний файл, та був під'єднатися до сервера Windows NT. Цей продукт перетворює в сервер NetWare як Windows NT Server, і Windows NT Workstation. Microsoft працює створення власних файлі принтсерверів NetWare для Windows NT. Крім цього, незабаром має з’явитися редиректор NetWare для Windows NT, підтримуючий NDS. Розглянуті способи організації взаємодії мереж побудовано на використанні принципу мультиплексування протоколів. Іншим підходом є використання шлюзу. Шлюз діє і як транслятор, що дозволяє отримувати доступом до файлам й адміністративного ресурсів друку на файловом сервері NetWare, не користуючись нічим, крім завантаженого редиректора Windows NT. Шлюз перетворює SMB-сообщения, послані будь-яким Windows NT-клиентом, в NCP-сообщения, які посилаються на сервери NetWare. І тут є економія пам’яті на клієнтських машинах, бо потрібно завантажувати додаткові редиректоры. Варіант шлюзу влаштовує тільки для додатків, використовують для запитів до серверу NetWare лише стандартний АПІ, а під час використання специфічного для NetWare АПІ не можна без установки додаткового редиректора. Якщо NetWare-шлюз завантажений, Windows NT Server може під'єднатися одного або декільком файловим серверам NetWare і підключитися до будь-якого дисковому тому, черги на печатку чи каталогу. Потому, як сервер підключився до ресурсів, їх можна починати використовувати з іншими користувачами через File Manager чи Print manager, коли б вони були локальними ресурсами. Тобто користувачі, ввійшли до домен, на сервері якого встановлено шлюз до NetWare, отримують доступом до серверам NetWare. Трансляція протоколів в шлюзі уповільнює доступом до серверу NetWare по порівнянню з доступом через редиректор клієнта. При тестуванні уповільнення в малозагруженном шлюзі становило від 10% до 15%. Ім'я користувача, що використовується шлюзом для входу в сервер NetWare, має укладати групу NTGateway на сервері Windows NT. Дозвіл на доступом до ресурсів NetWare надається користувачам сервером Windows NT точно як і, коли б що це його локальні ресурсы.
5 Операційна система OS/2.
1 Історія розвитку OS/2 та її місце на рынке Аналитики, займаються 32-х бітними операційними системами для персональних комп’ютерів, завжди концентрує свою увагу до битві між Microsoft Windows і IBM OS/2, припускаючи, що Microsoft має перевагу. Не все згодні з такою думками. OS/2 v.2.0 була першої доступній і працюючої 32-х бітної операційній системою для персональних комп’ютерів. І вона першою розпочала черговий коло змагань — версія OS/2 Warp, призначена для клієнтських машин мереж клієнт-сервер і одноранговых мереж, побачила ринку раніше Windows 95, позиционированной аналогічно. OS/2 Warp було також першої системою, включившей набір коштів підтримки Internet, і навіть коштів об'єктної ориентации.
2 Битва Microsoft — IBM над ринком настільних ОС Когда бета-тестеры отримали Chicago, першу публічну версію Windows 95, ті, хто вже використовував OS/2, відзначили надзвичайну схожість двох систем. Наприклад, обидві починають роботи з показу красивою заставки, та був запрошують користувача на роботу за містким робочим столом; обидві системи розглядають іконки і програми як об'єкти; обидві використовують праву кнопку миші керувати поведінкою об'єктів; обидві використовують більш 20 дискет для інсталяції. Користувальницький інтерфейс обох систем має однаковий рівень витонченості, вимоги до апаратним ресурсів комп’ютера схожі, і вони обидві засновані на використанні однакового набору що у основі системи технологій. Ці технології включають многозадачность і многонитевость, здатність виконувати DOS-программы з допомогою віртуальних машин процесорів Intel 80×86, повну 32-х битную організацію. І це випадковість. З того часу, як IBM випустила версію 2.0 OS/2, а Microsoft вирішила позиціонувати Windows NT як корпоративну ОС, стала ясно видно важлива пролом у лінії операційними системами Microsoft, якою і заповнила IBM. Спроби Microsoft висунути Windows 3.1 ту роль найрозвиненішої ОС для настільних систем, як і OS/2, мали обмежений успіх. Аналітики вважають, що корпорація Microsoft справді хотіла, щоб Windows NT посіла над ринком те місце, як і OS/2, але OS/2 вже посіла його на той час, коли Windows NT. Через війну Microsoft стала зазнавати втрат обсягом продажів, І що більш важливо, втрачати твердий грунт на свої операційними системами. Коли стало ясно, що Windows NT навряд у повною мірою стане лідером настільних ОС вищого класу, маркетингова машина Microsoft стала менше казати про можливостях Windows NT і формального початку казати про можливостях Windows 95. Зрозуміло, що IBM і OS/2 надали значний вплив на стратегію Microsoft в області операційними системами. IBM, своєю чергою, постійно створює здорову конкуренцію для лінії Windows. Windows 95 не порівняти з OS/2 2.2. Швидше конкуруватимуть Windows 95 і OS/2 Warp 3/0. Warp — це постріл з далеким прицілом, направлений замінити витіснення Windows. І, хоча Warp має й певні вихідні переваги та як система виглядає «краще », Windows як раніше є надійним вибором. Імена операційними системами можуть змінитися, але рівновагу в битві IBM/Microsoft залишиться тим самим. Два роки Microsoft і IBM зможуть обмінюватися аналогічними пострілами у бою Cairo — OS/2 замість Windows 95 — Warp. Є дві причини — фактична та емоційну — які заважають встановленню перемир’я між двома компаніями: Фактично, IBM був у цій галузі першої. OS/2 перетворилася на працюючий продукт зі звий версією 2.0 1992 року. Відтоді вона почала многозадачной, многонитевой системою з зручним объектно-ориентированным інтерфейсом. Зусилля в розвитку OS/2 були неквапливими і постійними, і система отримувала похвали і підтримку по всьому шляху розвитку. Проте Windows як раніше тримала найбільшу частку ринку. Переваги OS/2 були не усебічними, і, попри зусилля технічних і маркетингових фахівців IBM, система має не став цілком досконалої. Що стосується управління системою, з OS/2 працювати не простіше, ніж із Windows. Конфлікти з апаратної і програмної сумісністю можуть як раніше викликати проблеми, та їх вирішення є універсальним і інтуїтивним. Емоційно, IBM почувається «відданою «Microsoft, яка втекла з рядів розробників OS/2. Не зовсім справедливе стосовно Microsoft, оскільки компанія вправі вкладати свої капітали з ту сферу діяльності, котра, за її думку принесе найбільшу прибуток. Хоча Microsoft міг би поводитися тактовно і продовжувати партнерство по OS/2. Хоча й нині IBM далеко ще не та компанія, якою її було впроваджено в ті далекі дні, коли він домінувала над ринком персональних комп’ютерів, їй не вистачає такту. Слід сказати була найпершою тривалий час, що вона вміє виступати на других ролях. Початкова стратегія ігнорування суспільних потреб і нав’язування дорогих, але завжди обгрунтованих рішень, швидко зазнала невдачі. З появою клонів персональних комп’ютерів відпала потреба платити лише марку IBM. Тому від моменту появи версії OS/2 2.0 IBM змінила своєї стратегії. Вона почала відігравати за тими самими правилам, за якими грають інші компании.
3 OS/2 — поступові улучшения Операционная система OS/2 починалася як спільне вироблення IBM і Microsoft (хоча більшу частину роботи мала виконати Microsoft). Спочатку у неї задумана як заміна DOS. Вже ясно, що DOS з її обмеженнями з пам’яті і з можливостям файловій системи неспроможна скористатися обчислювальної потужністю з’являються комп’ютерів. OS/2 була добре продуманої системою. Вона була підтримувати вытесняющую многозадачность, віртуальну пам’ять, графічний користувальницький інтерфейс, віртуальну машину до виконання DOS-приложений. Фактично, вона виходила межі простий багатозавдань з її концепцією, названої многонитевостью. Перші версії OS/2 не надали значного впливу ринок. Версія OS/2 1.0, випущена 1987 року, містила більшість технічних властивостей, необхідні многозадачной ОС. Проте в неї був менеджера графічного уявлення (presentation manager, PM), і навіть були відсутні драйвери багатьом популярних принтерів та інших пристроїв. Версія OS/2 1.1, що з’явилася 1989 року, включала рудиментарную версію PM, яка, нарешті, робила можливим використання графічних додатків у кількох вікнах. Однак у версії PM бракувало багатьох властивостей, властивих розвиненому графічної інтерфейсу, ще, як раніше були відсутні багато драйвери принтерів. Випущена 1990 року версія 1.2 мала поліпшений PM, хоч і не дотримувався загальноприйнятим концепціям графічного інтерфейсу. З’явилися драйвери більшість принтерів і інших периферійних пристроїв. Проте дискредитація OS/2 вже відбулася. Версія 1.2 була істотно краще попередніх версій і ще пред’являла значні вимоги до апаратурі. На той час багато користувачі вирішили перейти нові платформу Windows 3.0 або зачекати, доки з’явиться щось принципово краще. Продажі OS/2 продовжували залишатися млявими, й ринок не цікавився нею. Це обумовлювалось наявністю у OS/2 низки істотних недоліків: Віртуальне машина DOS, яка б б мати здатністю виконувати немодифицированные докладання DOS, від початку мала технічні вади. Ця віртуальна машина розробили з урахуванням віртуальних можливостей процесора i286, який дозволяв виділяти сегмент пам’яті в 640 Кб для окремого DOS-приложения. Проте процесор i286 у тому виртуальнои режимі працював надто повільно, тому віртуальна DOS-машина реалізували з урахуванням реального режиму процесора. У цьому була потрібна перезапуск процесора для перемикання між реальним й захищеним режимами. Хоча цей операція і виконувалася дуже й непомітно для користувача, у неї складною і вносила плутанину. Microsoft і IBM ми змогли повною мірою реалізувати концепцію віртуальної обробки режимі I8086: у тому режимі DOS-приложения, які безпосередньо читали чи писали в апаратні порти, переставали працювати. У зв’язку з не могли вживатись і популярні мережні операційні системи з урахуванням DOS. Пам’ять у тому режимі використовувалася нераціонально — якщо користувач конфигурировал OS/2 із можливістю DOS-совместимости, то 640 КБ пам’яті завжди виділялися цих цілей і могли використовуватися для завдань OS/2. Ще однією вадою була відсутність можливості обміну даними між DOSі OS/2-приложениями. Кожного моменту часу могло виконуватися лише одна DOS-приложение, і це додаток були використовувати розширену пам’ять. Через війну для користувачів OS/2 багато популярні DOS-приложения виявилися недоступними, інші ж, хто був доступні, було неможливо взагалі взаємодіяти з середовищем OS/2. Час показав, що з користувачів це обставина виявилося дуже важливою, оскільки багато відмовилися від купівлі OS/2, залишаючись з перевіреної, хоча й дуже досконалої DOS.
Заключение
.
Велика розмаїтість типів комп’ютерів, які у обчислювальних мережах, тягне у себе розмаїтість операційними системами: для робочих станцій, для серверів мереж рівня відділу і серверів рівня підприємства у цілому. До них можуть пред’являтися різні вимогами з продуктивності і функціональними можливостями, бажано, що вони мали властивістю сумісності, що б забезпечити спільну роботу різних ОС. Мережні ОС можна розділити на дві групи: масштабу відділу і масштабу підприємства. ОС для відділів чи робочих груп забезпечують набір мережевих сервісів, включаючи поділ файлів, додатків і принтерів. Вони також мають забезпечувати властивості отказоустойчивости, наприклад, працювати з RAIDмасивами, підтримувати кластерні архітектури. Мережні ОС відділів зазвичай простішими встановленні і потребу керувати проти мережними ОС підприємства, вони менше функціональних властивостей, вони менше захищають дані і мають слабші спроби з взаємодії коїться з іншими типами мереж, і навіть гірший продуктивність. Мережевий операційна система масштабу підприємства насамперед має мати основними властивостями будь-яких корпоративних продуктів, зокрема: масштабністю, тобто здатністю однаково добре працювати у широкому діапазоні різних кількісних характеристик мережі, сумісністю коїться з іншими продуктами, тобто здатністю працювати у складної гетерогенної середовищі интерсети як plug-and-play. Корпоративна мережна ОС повинна підтримувати складніші сервіси. Подібно мережевий ОС робочих груп, мережна ОС масштабу підприємства повинна дозволяти користувачам розділяти файли, докладання і принтери, причому робити це задля великої кількості користувачів і обсягу даних, і з вищої продуктивністю. З іншого боку, мережна ОС масштабу підприємства забезпечує можливість сполуки різнорідних систем — як робочих станцій, і серверів. Наприклад, навіть якщо ОС дбає про платформі Intel, вона повинна переважно підтримувати робочі станції UNIX, працівники RISCплатформах. Аналогічно, серверна ОС, працююча на RISC-компьютере, повинна підтримувати DOS, Windows і OS/2. Мережевий ОС масштабу підприємства повинна підтримувати кілька стеков протоколів (як-от TCP/IP, IPX/SPX, NetBIOS, DECnet і OSI), забезпечуючи простий доступом до віддаленим ресурсів, зручні процедури управління сервісами, включаючи агентів для систем управління мережею. Важливим елементом мережевий ОС масштабу підприємства є централізована довідкова служба, у якій зберігаються даних про користувачів і поділюваних ресурсах мережі. Така служба, звана також службою каталогів, забезпечує єдиний логічний вхід користувача до мережі і дає йому зручні кошти перегляду усіх можливих йому ресурсів. Адміністратор, при про наявність у мережі централізованої довідкової служби, позбавлений необхідності заводити кожному сервері який повторювався список користувачів, отже позбавлений великої кількості рутинної праці та від потенційних помилок щодо складу користувачів та його прав на кожному сервері. Важливим властивістю довідкової служби є його масштабованість, забезпечувана распределенностью бази даних про користувачів і ресурсах. Такі мережні ОС, як Banyan Vines, Novell NetWare 4. x, IBM LAN Server, Sun NFS, Microsoft LAN Manager і Windows NT Server, можуть бути як ОС підприємства, тоді як ОС NetWare 3. x, Personal Ware, Artisoft LANtastic більше підходять для невеликих робочих груп. Критеріями для вибору ОС масштабу підприємства є такі характеристики: Органічна підтримка многосерверной мережі; Висока ефективність файлових операцій; Можливість ефективної інтеграцію з іншими ОС; Наявність централізованої масштабируемой довідкової служби; Хороші перспективи розвитку; Ефективна робота віддалених користувачів; Різноманітні сервіси: файл-сервис, принт-сервис, безпеку даних, і отказоустойчивость, архивирование даних, служба обміну повідомленнями, різноманітні бази даних, і інші; Різноманітні програмно-апаратні хост-платформы: IBM SNA, DEC NSA, UNIX;
Разнообразные транспортні протоколи: TCP/IP, IPX/SPX, NetBIOS, AppleTalk; Підтримка різноманітних операційними системами кінцевих користувачів: DOS, UNIX, OS/2, Mac; Підтримка мережного устаткування стандартів Ethernet, Token Ring, FDDI, ARCnet; Наявність популярних прикладних інтерфейсів і європейських механізмів виклику віддалених процедур RPC; Можливість взаємодії і системи контролю та управління мережею, підтримка стандартів управління мережею SNMP. Звісно, жодна з мережевих ОС і не відповідає повному обсязі переліченим вимогам, тому вибір мережевий ОС, зазвичай, здійснюється з урахуванням виробничої ситуації та досвіду. У таблиці наведено основні характеристики популярних і доступних нині мережевих ОС.
1.Д. Гантер, З. Барнет, Л. Гантер «Інтеграція Windows NT і Unix» 464с. CанктПетербург, 1998 р. 2. Питер Дайсон «Unix. Настільний довідник» 395 з. ЛОРІ 1997 р. 3. Джеймс Армстронг «Секркты UNIX» Санкт-Петербург, 1998 р. 4.И. Серебрянский «Novell Net Ware одним поглядом» 160 c. BHV-СанктПетербург 1996 р. 5. Кепли М., Сипплес Т. Ф. «Відповіді на актуальні питання OS/2 Warp» 352 з. ДиаСофт 1996 р. 6. Компьютерный журнал СВІТ ПК #01/99 «Останні десять хвилин» 7. LAN/ЖУРНАЛ МЕРЕЖЕВИХ РІШЕНЬ #04/99 «Linux — повертаючись до надрукованому» 8. Журнал «Світ ПК «#12/98 Видавництво «Відкриті Системи «Unix проти NT: чи є чого боятися?» 9. LAN/ЖУРНАЛ МЕРЕЖЕВИХ РІШЕНЬ #09/98 «Побудова мереж з серверами NetWare і NT» 10. LAN/ЖУРНАЛ МЕРЕЖЕВИХ РІШЕНЬ #07/96 «Мережні ОС в гетерогенної середовищі» 11. COMPUTERWORLD РОСІЯ #10/99 «Що більше підходить корпоративним користувачам: Linux чи Windows NT?» 12. Ссылка в Internet: internet 13. Ссылка в Internet: internet.
приложение.
Таблиця. 1.
Основные характеристики мережевих операційними системами |Novell |Спеціалізована операційна система, оптимизированная | |NetWare 4.1 |до роботи на ролі файлового серверу та принт-сервера | | |Обмежені кошти на використання газу як серверу | | |додатків: немає коштів віртуальної пам’яті і | | |вытесняющей багатозавдань, а підтримка симетричного | | |мультипроцесcирования була відсутня впритул до недавнього | | |часу. Відсутні АПІ основних операційних середовищ, | | |що використовуються розробки додатків, — UNIX, Windows, | | |OS/2 | | |Серверні платформи: комп’ютери з урахуванням процесорів | | |Intel, робочі станції RS/6000 компанії IBM під керівництвом| | |ОС AIX з допомогою продукту NetWare for | | |UNIX | | |Поставляється з оболонкою клієнтам: DOS, Macintosh, | | |OS/2, UNIX, Windows (оболонка для Windows NT | | |розробляється компанією Novell нині, хоча | | |Microsoft вже реалізувала клієнтську частина NetWare в | | |Windows NT) | | |Організація одноранговых зв’язків можлива з допомогою ОС | | |PersonalWare | | |Має довідкову службу NetWare Directory Services (NDS), | | |підтримує централізоване управління, розподілену,| | |повністю реплицируемую, автоматично синхронизируемую і | | |що має відмінній масштабністю | | |Поставляється з потужною службою обробки повідомлень Message | | |Handling Service (MHS), повністю інтегровану (починаючи | | |з версії 4.1) зі довідкової службою | | |Підтримувані мережні протоколи: TCP/IP, IPX/SPX, NetBIOS,| | |Appletalk | | |Підтримка удаленныхпользователей: ISDN, комутовані | | |телефонні лінії, frame relay, X.25 — з допомогою продукту | | |NetWare Connect (поставляється окремо) | | |Безпека: аутентификация з допомогою відкритих ключів | | |методу шифрування RSA; сертифікована за рівнем C2 | | |Хороший сервер комунікацій | | |Вбудована функція компресії диска Складне обслуговування | |Banyan |Серверні платформи: | |VINES 6.0 і |ENS for UNIX: дбає про RISC-компьютерах під керівництвом | |ENS |SCO UNIX, HP-UX, Solaris, AIX | |(Enterprise |ENS for NetWare: дбає про Intel-платформах під | |Network |управлінням NetWare 2. x, 3. x, 4. x | |Services) |VINES дбає про Intel-платформах | |6.0 |Клієнтські платформи: DOS, Macintosh, OS/2, UNIX, Windows | | |for Workgroups, Windows NT | | |Хороший сервер додатків: підтримуються вытесняющая | | |многозадачность, віртуальна пам’ять і симетричний | | |мультипроцессирование в версії VINES й у ENS-версиях для | | |UNIX. Підтримуються прикладні середовища UNIX, OS/2, Windows | | |Підтримка одноранговых зв’язків — відсутня | | |Довідкова служба — Streettalk III, найбільш відпрацьована | | |з наявних над ринком, з централізованим управлінням, | | |повністю інтегрована коїться з іншими мережними службами, | | |розподілена, реплицируемая і автоматично | | |синхронизируемая, відмінно масштабируемая | | |Узгодженість роботи коїться з іншими мережними ОС: хороша; | | |серверна оболонка працює у середовищах NetWare і UNIX; | | |користувачі NetWare, Windows NT і LAN Server може бути | | |об'єктами довідкової служби Streettalk III | | |Служба повідомлень — Intelligent Messaging, інтегрована з | | |іншими службами | | |Підтримувані мережні протоколи: VINES IP, TCP/IP, | | |IPX/SPX, Appletalk | | |Підтримка віддалених користувачів: ISDN, комутовані | | |телефонні лінії, X.25 | | |Служба безпеки: підтримує електронну підпис | | |(власний алгоритм), виборчі права доступу, | | |шифрацию; не сертифікована | | |Просте обслуговування | | |Добре масштабується | | |Чудова продуктивність обміну даними між серверами,| | |гіршепід час обміну сервер-ПК | |Microsoft |широка поширеність | |LAN |працює під OS/2 і UNIX | |Manager |підтримує потужні серверні платформи один сервер може | | |підтримувати до 2 000 клієнтів | |Microsoft |Серверні платформи: комп’ютери з урахуванням процесорів Intel, | |Windows NT |PowerPC, DEC Alpha, MIPS | |Server |Клієнтські платформи: DOS, OS/2, Windows, Windows for | |3.51 і 4.0 |Workgroups, Macintosh | | |Організація одноранговой мережі можлива з допомогою Windows NT| | |Workstation і Windows for Workgroups Windows NT Server | | |є відмінний сервер додатків: він | | |підтримує вытесняющую многозадачность, віртуальну | | |пам'ять і симетричний мультипроцессирование, і навіть | | |прикладні середовища DOS, Windows, OS/2, POSIX | | |Довідкові служби: доменна керувати облікової | | |інформацією користувачів (Windows NT Domain Directory | | |service), довідкові служби імен WINS і DNS | | |Хороша підтримка спільної з мережами NetWare: | | |поставляється клієнтська частина (редиректор) для серверу | | |NetWare (версій 3. х і 4. х як эмуляции 3. х, довідкова| | |служба NDS підтримується, починаючи з версії 4.0), | | |виконана як шлюзу в Windows NT Server чи як | | |окрема компонента для Windows NT Workstation; недавно | | |Microsoft оголосила про випуск серверної частини NetWare як | | |оболонки для Windows NT Server | | |Служба обробки повідомлень — Microsoft Mail, джерело якої в | | |DOSплатформі, нинішнього року очікується версія для платформи | | |Windows NT — Microsoft Message Exchange, інтегрована з | | |іншими службами Windows NT Server | | |Підтримувані мережні протоколи: TCP/IP, IPX/SPX, NetBEUI,| | |Appletalk | | |Підтримка віддалених користувачів: ISDN, комутовані | | |телефонні лінії, frame relay, X.25 — з допомогою вбудованої | | |підсистеми Remote Access Server (RAS) | | |Служба безпеки: потужна, використовує виборчі права| | |доступу й довірливі відносини між доменами; вузли | | |мережі, засновані на Windows NT Server, сертифіковані по | | |рівню C2 | | |Простота встановлення і обслуговування | | |Чудова масштабованість | |IBM LAN |Серверні платформи: операційні системи MVS і VM для | |Server 4.0 |мейнфреймов; AS/400 з OS/400, робочі станції RS/6000 з | | |AIX, сервери Intel 486 чи Pentium під OS/2 | | |Поставляється з оболонками клієнтам: DOS, Macintosh, | | |OS/2, Windows, Windows NT, Windows for Workgroups | | |Сервери додатків можуть бути організовані з допомогою LAN | | |Server 4.0 в операційних середовищах MVS, VM, AIX, OS/2, | | |OS/400. Серед OS/2 підтримуються: вытесняющая | | |многозадачность, віртуальна пам’ять і симетричний | | |мультипроцессирование | | |Організація одноранговых зв’язків можлива з допомогою ОС Warp | | |Connect | | |Довідкова служба — LAN Server Domain, тобто основа на | | |доменному підході | | |Підтримувані мережні протоколи: TCP/IP, NetBIOS, | | |Appletalk | | |Безпека — виборчі права доступу, система має не | | |сертифікована | | |Служба обробки повідомлень — відсутня | | |Висока продуктивність | | |Недостатня масштабованість | |IBM і NCR |LAN Manager for UNIX добре поширена (15% обсягу | |LAN |світових продажів мережевих ОС) | |Manager |LAN Manager for AIX підтримує RISC комп’ютери | | |System/6000 як файлового серверу | | |Працює під UNIX, має всі переваги, пов’язані з | | |використанням цієї ОС |.