Лекція №13
МЕРЕЖЕВІ МОЖЛИВОСТІ ОС WINDOWS NT
13.1. Загальна характеристика операційної системи Windows NT
Windows NT — це 32-розрядна операційна система з пріоритетною багатозадачністю. Вона належить до ОС, які працюють у режимі витіснення, з вбудованими мережевими функціями та системою безпеки. Інші характеристики цієї ОС такі:
наявність графічного інтерфейсу;
сумісність з різними ОС (OS/2, MS-DOS, Windows 3.x, 95, POSIX);
можливість перенесення ОС на RISC- та CISC-процесори;
масштабованість - можна працювати на одно- та багатопроцесорних системах, підтримка кластерів комп'ютерів;
система безпеки створює для кожного застосування повністю незалежне -оточення;
поліпшені можливості локалізації завдяки підтримці стандарту ISO Unicode.
ОС Windows NT буває двох конфігурацій:
Windows NT Workstation (робоча станція Windows NT);
Windows NT Server (сервер Windows NT).
Система Windows NT Workstation підтримує роботу до десяти користувачів. Вона може виконувати серверні функції у невеликих мережах робочих груп. Windows NT Server орієнтовано на виконання серверних функцій у великих мережах з інтенсивними потоками.
ОС WNT має модульну структуру. Головні вирішення, вперше застосовані у ній, були свого часу новаторськими. Багато з них запозичили інші операційні системи, зокрема Windows 95. ОС Windows NT не можна однозначно зачислити ні до однорангових, ні до мереж з призначеним сервером. З одного боку, Windows NT підтримує однорангову модель, і навіть сервер Windows NT не є призначеним (за ним може працювати користувач). З іншого, у мережі WNT можна функційно закріплювати за серверами та робочими станціями певні функції, конфігуруючи їх як файлові сервери, сервери баз даних, застосувань тощо. Така модель є гнучкішою, ніж у системах Netware. Цим пояснюється популярність WNT як ОС для систем керування нижчого та середнього класу складності.
Назва Windows 2000 з маркетингових міркувань замінила Windows NT 5, однак ця система є продовженням NT і її розвитком. У процесі створення цієї системи проектувальники намагалися:*
перенести в W2000 деякі вирішення та можливості W98, яких не було у WNT 4, а саме: повна підтримка Plug and Play та уніфікована драйверна модель, засоби адміністрування;
зменшити загальну вартість (Total Ownership Costs), що відображено у комплексі засобів IntelliMirror, який є розвитком аналогічних засобів W98;
підтримати загальногалузеві тенденції, вирішення та стандарти (служба каталогів Active Directory, підтримка LDAP, динамічна DNS);
запровадити можливості, властиві ОС корпоративного рівня (розподілені файлові системи, зовнішні бібліотеки та міграція даних, підтримка RAID-масивів та ін.).
W2000 використовує ядро та загальну модель функціювання WNT 4.
13.2. Архітектура Windows NT
Для того, щоб ліпше зрозуміти мережеві функції WNT, розглянемо її архітектуру (рис. 43.1).
Рівень апаратних абстракцій (Hardware Abstraction Layer (HAL)) віртуалізує апаратні інтерфейси, робить решту операційної системи незалежною від конкретних особливостей апаратури. Цей рівень допомагає також переносити WNT на іншу апаратну платформу (ідею віртуалізації ми вперше описали на прикладі віртуального термінала, файлу, емуляції систем). Рівень апаратних абстракцій дає змогу "приховати" від інших рівнів ОС особливості реалізації симетричних багатопроцесорних систем.
Ядро (Kernel) координує виконання базових операцій WNT. Воно відповідає за плану-вання та диспетчеризацію роботи процесора(рів), зокрема диспетчеризацію різних потоків керування. Потік керування визначають у контексті процесу, він є деякою послідовністю команд.
Процес у WNT може мати декілька таких потоків, виконання яких відбувається на кількох процесорах. Ядро виконує диспетчеризацію так, щоб найефективніше завантажити наявні процесори та забезпечити пріоритетність опрацювання (визначено 32 рівні пріоритетів, структурованих у два класи: реального часу (real time) та змінний (variable)). Ядро керує двома типами об'єктів.
Об'єкти диспетчеризації використовують для синхронізації системних операцій. Кожен з них має певний сигнальний стан. Об'єктами диспетчеризації є події, мутанти, мутекси, семафори, потоки керування та таймери.
Об'єкти керування застосовують для реалізації функцій керування, однак безпосередньо на диспетчеризацію вони не впливають. До об'єктів керування належать асинхронні виклики процедур, переривання, процеси та профілі.
Ядро спеціально оптимізоване щодо розміру та ефективності функціювання. Воно постійно міститься у пам'яті.
Система виконання (executive) складається з окремих модулів, кожен з яких спроектовано для виконання визначеного набору функцій. Стосовно верхніх рівнів ієрархії у структурі ОС модулі працюють як сервери, за відповідними запитами надаючи сервісне обслуговування. Завдяки цьому досягають можливої оптимізації серверів на виконання функцій, незалежності серверів та їхніх клієнтів, приховування деталей реалізації серверів від клієнтів, єдиних інтерфейсів запиту сервісів. Розглянемо функції окремих модулів.
Диспетчер об 'єктів створює, знищує та стежить за використанням об'єктів процесами системи. До об'єктів належать деякі елементи ОС часу виконання, такі як об'єкти каталогу, об'єкти символьних зв'язків, семафори, події, процеси, потоки керування, порти, файли та ін. Після створення об'єкта диспетчер видає його вказівник та дескриптор. Отже, у структурі WNT значно використана об'єктна парадигма.
Диспетчер процесів простежує об'єкти процесів та потоків керування. Для процесу визначають адресний простір, набір доступних об'єктів, сукупність потоків керування. Кожен потік керування має власний набір регістрів, стек ядра, блок середовища, стек користувача. Диспетчер процесів створює та закінчує процеси, однак не групує їх та не створює між ними відношень породження.
Диспетчер віртуальноїпам 'яті виконує сторінковий обмін процесів. Кожен процес може використовувати до 4 Гбайт власної віртуальної пам'яті, половина з якої відведена для системи, а решта - для програми. Диспетчер віртуальної пам'яті відображає віртуальні адреси в адрес-ному просторі процесу на фізичні сторінки у пам'яті комп'ютера, реалізує режим незалежності адресних просторів різних процесів, через що один процес не може змінювати пам'ять іншого без дозволу.
Засоби виклику локальних процедур. Застосування та підсистеми середовища взаємодіють як клієнти з серверами. Для реалізації такого механізму WNT надає засоби виклику локальних процедур (Local Procedure Call (LPC)), що діють подібно