6.ОПЕРАЦІЙНА СИСТЕМА WINDOWS NT.
1. Загальна характеристика операційної системи Windows NT.
Windows NT (Windows New Technology) - це 32-розрядна операційна система з пріоритетною багатозадачністю. Вона належить до ОС, які працюють у режимі витіснення, з вбудованими мережевими функціями та системою безпеки. Інші характеристики цієї ОС такі:
• наявність графічного інтерфейсу;
• сумісність з різними ОС (OS/2, MS-DOS, Windows З.х, 95, POSIX);
• можливість перенесення ОС на RISC- та CISC-процесори;
• масштабованість - можна працювати на одно- та багатопроцесорних системах, підтримка кластерів комп' ютерів;
• система безпеки створює для кожного застосування повністю незалежне оточення;
• поліпшені можливості локалізації завдяки підтримці стандарту ISO Unicode.
ОС Windows NT буває двох конфігурацій:
• Windows NT Workstation (робоча станція Windows NT);
• Windows NT Server (сервер Windows NT).
Windows NT Workstation підтримує роботу до десяти користувачів. Вона може виконувати серверні функції у невеликих мережах робочих груп. Windows NT Server орієнтовано на виконання серверних функцій у великих мережах з інтенсивним трафіком.
ОС Windows NT має модульну структуру. Головні вирішення, вперше застосовані у ній, були свого часу новаторськими. Багато з них запозичили інші операційні системи, зокрема Windows 95. ОС Windows NT не можна однозначно віднести ні до однорангових мереж, ні до мереж з призначеним сервером. З одного боку, WindowsNT підтримує однорангову модель, і навіть сервер Windows NT не є призначеним (за ним може працювати користувач). З іншого, у мережі WindowsNT можна функціонально закріплювати за серверами та робочими станціями певні функції, конфігуруючи їх як файлові сервери, сервери баз даних, застосувань тощо. Така модель є гнучкішою, ніж у системах Netware. Цим пояснюється популярність WindowsNT як ОС для систем керування нижчого та середнього класу складності.
2.Моделі Windows NT
Структура Windows NT може бути описана в рамках декількох моделей. Модель “клієнт-сервер” використовується для забезпечення роботи різних операційних підсистем (Windows, MS-DOS, OS/2 і POSIX). Об'єктна модель служить для однотипного керування ресурсами операційної системи і надання їх користувачам, модель симетричної мультипроцесорної обробки (СМП) дозволяє досягати в Windows NT максимальної продуктивності на багатопроцесорних комп'ютерах.
Код операційної системи може бути структурований різними способами. В одному з таких підходів, типовому для невеликих операційних систем типу MS-DOS, передбачається, що операційна система складається з набору процедур, кожна з який може викликати іншу. У таку систему дуже важко вносити зміни, тому що незначна модифікація однієї з процедур може викликати цілий ряд помилок у місцях, на перший погляд зовсім не зв'язаних зданою процедурою.
В всіх операційних системах, крім самі найпростіших, застосування відокремлені від операційної системи. Код операційної системи виконується в привілейованому режимі процесора (режим ядра) і має доступ до системних даних і апаратного забезпечення; застосування виконуються в непривілейованому режимі (режимі користувача) з обмеженим набором системних інтерфейсів і обмеженим доступом до системних даних. Коли програма користувача запитує обслуговування системою, процесор перехоплює запит і переключає викликаючий потік у режим ядра. Після завершення системного обслуговування операційна система переключає потік назад у режим користувача і дозволяє продовжити виконання програми, що викликала.
Структура такої операційної системи з розділеними рівнями ядра і користувача показана на рис. 6.1.
Рисунок 6.1
Другим подходом до структурування операційної системи є її поділ на модулі і шари, що розсташовані один над одним. В кажному модулі є набір функцій, які можна викликати з інших модулів. Код в кажному конкретном шарі може звертатися тольки до коду, що знаходиться в нижчих шарах. На рис. 6.2 показано варіант побудови таких операційних систем.
Рисунок 6.2
Перевагою таких систем полягає в тому, що кажен шар коли звертається тільки до нижніх шарів і тим самим при меншій кількості коду досягається велика потужність системи.
Ще однією перевагою є простота відладки такої системи. Відлагоджуючи рівні, починаючи з найнижчого, поступово досягають безпомилкової роботи системи в цілому.
Третій подхід до структурування операційної системи представляє собою модель <клієнт-сервер>. Суть його полягає в тому, що вся система разбивається на кілька незалежних процесів, кажный з яких виконує певні функції, наприклад обслуговування пам’яті, створення процесів, планувальник процесора и т. д. Кажний такой сервер виконується в режимі користувача і циклічно перевіряє, чи є запитит на виконання конкретної служби. Клиент, яким може бути або інша частина операційної системи, або прикладна програма, запитує обслуговування шляхом посилки повідомлень серверу. Ядро операційної системи (або мікроядро) виконується в режимі ядра и доставляє це повідомлення серверу. Сервер виконує операцію, посля чого ядро повертає клієнту інше повідомлення (див. рис. 6.3).
Рисунок 6.3
Так як сервер виконується в окремому процесі в режимі користувача, то його збій, зупинка і навіть рестарт не викликають краху всієї системы. Больше того, різноманітні сервери можуть виконуватися на різних процесорах або навіть на різних комп’ютерах, що робить таку операційну систему придатною для роботи в розподіленій мережі.
Це ідеальна структура моделі <клієнт-сервер>. Реальна структура Windows NT об’еднує властивості пошарової моделі и моделі <клієнт-сервер>. Ядро Windows NT називається NT Executive и складається з кількох частин, що реалізують наступні функції:
управління віртуальною пам’яттю,
управління об’ектами,
файлова система и система ввода/выводу (включаючи мережеву підтримку),
межпроцесорна взаємодія, а також частково систему захисту.
В большості випадків ці компоненти взаємодіють меж собою на модульному, а не пошаровому рівні. Пошарова модель починає виступати в виконавчій системі ввода/выводу в NT в найглибших шарах NT Executive: ядрі NT і слої апаратних абстракцій (hardware abstraction layer - HAL). Ядро NT виконує низькорівневі функції операційної системи, такі як планування потоків, диспетчеризація переривань і критичних ситуацій і синхронізація кількох процесорів. Воно також забезпечує ряд процедур і базових об’єктів, що використовується іншою частиною NT Executive для реалізації високорівневих конструкцій. Нижче ядра розміщена динамічно завантажувана бібліотека HAL. Цей шар захищає ядро і інші частини системи від особливостей апаратного забезпечення.
Перевагами використання моделі <клієнт-сервер> є:
Спрощення базової операційної системи, NT Executive. Однією з цілей Windows NT є реалізація подтримки Win32, MS-DOS, 16-розрядної Windows, POSIX и OS/2. Задаючи кажну підсистему в окремий процес, добиваються виключення конфліктів і дублювання в NT Executive, а також забезпечують простоту додавання нових підсистем.
Підвищення надійності. Кажен сервер виконується в окремому процесі, якому відведена область пам’яті і який захищений від інших процесів. Крім того, оскільки сервери виконуються в режимі користувача, вони не мають можливості безпосередньо звертатися до апаратури або змінити пам’ять, що занята ядром.
Хороша сумісність з розпреділеною обчислювальною моделлю. Локальні сервери можуть без проблем пересилати повідомлення на видалення машини, виконуючи запити клієнтських застосувань. У клієнта немає необхідності знати, да саме виконуються запити, локально або віддалено.
Структура Windows NT
Після того як були розглянуті моделі операційних систем, що дають ключ до повного розуміння структури Windows NT перейдемо безпосередньо до самої структури.
Структура може бути розділена на дві частини:рівень користувача (захищені підсистеми Windows NT) і рівень ядра (NT Executive).
Рис. 6.4
Докладно структура зображена на рис. 6.4. Сервери Windows NT називаються захищеними підсистемами, тому що кожна з них виконується в окремому процесі, пам'ять якого відділена від інших процесів системою керування віртуальною пам'яттю NT Executive. Оскільки підсистеми автоматично не можуть використовувати пам'ять спільно, вони спілкуються одна з одною за допомогою посилки повідомлень. Повідомлення можуть передаватися як між клієнтом і сервером, так і між двома серверами. Усі повідомлення проходять через виконавчу частину ядра.
Найбільш важливою є підсистема Win32, що надає застосуванням доступ до 32-Bit Windows API. Додатково ця система забезпечує графічний інтерфейс із користувачем і керує введенням/виводом даних користувача. Також підтримуються підсистеми POSIX, OS/2, 16-розрядна Windows і MS-DOS.
На рис не зображені деякі інші інтегровані