WNT: Правдива історія Windows NT. Windows NT що це за програма і чи потрібна вона? Вимоги до апаратури

Наприкінці 88-го року Microsoft доручила Девіду Катлеру (David Cutler) очолити новий проект у галузі програмного забезпечення: створити нову операційну систему корпорації Microsoft для 1990-х років. Він зібрав команду інженерів розробки системи нової технології (New Technology - NT).

Спочатку планувалося розробити NT з інтерфейсами користувача і програмним (API) в стилі OS/2, проте OS/2 погано продавалася, а Windows 3.0 мала великий і постійний успіх на ринку. Побачивши ринкові орієнтири та складнощі, пов'язані з розвитком та підтримкою двох несумісних систем, Microsoft вирішила змінити свій курс і направити своїх інженерів у бік стратегії єдиної цільної операційної системи. Ця стратегія складалася в тому, щоб розробляти сімейство операційних систем, що базуються на Windows, які охоплювали б безліч типів комп'ютерів, від найменших ноутбуків до найбільших мультипроцесорних робочих станцій. Так, наступне покоління Windows-систем було названо Windows NT.

Windows NT підтримує графічний інтерфейс (GUI) Windows, а також є першою операційною системою фірми Microsoft, що базується на Windows, підтримує Win32 API, 32-бітний програмний інтерфейс для розробки нових додатків. Win32 API робить доступними для додатків покращені властивості операційної системи, такі як багатониткові процеси, синхронізацію, безпеку, I/O, керування об'єктами.

У липні 1993 року з'явилися перші операційні системи сімейства NT – Windows NT 3.1 та Windows NT Advanced Server 3.1.

Версії

  • Windows NT 3.1 (27 липня 1993 р.)
  • Windows NT 3.5 (21 вересня 1994 р.)
  • Windows NT 3.51 (30 травня 1995 р.)
  • Windows NT 4.0 (24 серпня 1996 р.)
  • Windows 2000 (17 лютого 2000 р.)
  • Windows XP (25 жовтня 2001 р.)
  • Windows XP 64-bit Edition (28 березня 2003 р.)
  • Windows Server 2003 (25 квітня 2003 р.)
  • Windows XP Media Center Edition 2003 (18 грудня 2003 р.)
  • Windows XP Media Center Edition 2005 (12 жовтня 2004 р.)
  • Windows XP Professional x64 Edition (25 квітня 2005 р.)
  • Windows Fundamentals for Legacy PCs (8 липня 2006 р.)
  • Windows Vista (30 листопада 2006 р.)
  • Windows Home Server (7 листопада 2007р.)
  • Windows Server 2008 (27 лютого 2008 р.)

Структура Windows NT

Структурно Windows NT може бути представлена ​​у вигляді двох частин: частина операційної системи, що працює в режимі користувача, та частина операційної системи, що працює в режимі ядра

Частина Windows NT, що у режимі ядра, називається виконавчою (executive). Вона включає ряд компонентів, які управляють віртуальною пам'яттю, об'єктами (ресурсами), введенням-виводом та файловою системою (включаючи мережеві драйвери), взаємодією процесів та частково системою безпеки. Ці компоненти взаємодіють між собою за допомогою міжмодульного зв'язку. Кожен компонент викликає інші за допомогою набору ретельно специфікованих внутрішніх процедур.

Другу частину Windows NT, що у режимі користувача, становлять сервери - звані захищені підсистеми. Оскільки підсистеми автоматично не можуть спільно використовувати пам'ять, вони спілкуються один з одним за допомогою надсилання повідомлень. Повідомлення можуть передаватися як між клієнтом та сервером, так і між двома серверами. Усі повідомлення проходять через виконавчу частину Windows NT. Ядро Windows NT планує нитки захищених підсистем точно так, як і нитки звичайних прикладних процесів.

Підтримка захищених підсистем забезпечує виконавча частина. Її складовими частинами є:

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

Менеджер віртуальної пам'яті.

  • Підсистема введення-виведення. Включає такі компоненти:
    • менеджер введення-виведення, що надає засоби введення-виведення, незалежні від пристроїв;
    • файлові системи - NT-драйвери, що виконують файл-орієнтовані запити на введення-виведення та транслюють їх у виклики звичайних пристроїв;
    • мережевий редиректор та мережевий сервер - драйвери файлових систем, що передають віддалені запити на введення-виведення на машини мережі та одержують запити від них;
    • драйвери пристроїв виконавчої частини – низькорівневі драйвери, які безпосередньо керують пристроєм;
    • менеджер кешу, що реалізує кешування диска

Виконавча частина, своєю чергою, полягає в службах нижнього рівня, наданих ядром NT. У функції ядра входить:

  • планування процесів,
  • обробка переривань та виняткових ситуацій,
  • синхронізація процесорів для багатопроцесорних систем,
  • відновлення системи після збоїв

Ядро працює в привілейованому режимі і ніколи не видаляється з пам'яті. Звернутися до ядра можна лише за допомогою переривання.

Захищені підсистеми Windows NT працюють у режимі користувача і створюються Windows NT під час завантаження операційної системи. Відразу після створення вони починають безкінечний цикл свого виконання, відповідаючи на повідомлення, що надходять до них від прикладних процесів та інших підсистем. Серед захищених підсистем можна назвати підклас, званий підсистемами оточення. Підсистеми оточення реалізують інтерфейси програм операційної системи (API). Інші типи підсистем, які називаються інтегральними підсистемами, виконують необхідні операційній системі завдання. Наприклад, більшість системи безпеки Windows NT реалізована як інтегральної підсистеми, мережеві сервери також виконані як інтегральні підсистеми.

Найбільш важливою підсистемою оточення є Win32 - підсистема, яка забезпечує доступ до додатків до 32-bit Windows API. Додатково ця система забезпечує графічний інтерфейс та керує введенням/виводом даних користувача.

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

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

p align="justify"> Основним засобом, що скріплює всі підсистеми Windows NT в єдине ціле, є механізм виклику локальних процедур (Local Procedure Call - LPC). LPC є оптимізованим варіантом більш загального засобу - віддаленого виклику процедур (RPC), який використовується для зв'язку клієнтів і серверів, розташованих на різних машинах мережі.

Привіт Скажу відразу, що Windows NT це не зовсім програма, це сімейство виндовс від Microsoft. Під назвою Windows NT ховається поняття операційних систем від Microsoft, не якоїсь конкретної, а всіх систем. Віндовс сьогодні дуже популярна операційна система і популярнішої за неї немає. Моя думка, що популярність обумовлена ​​насамперед тим, що гідної альтернативи немає і вже не буде — безглуздо зараз змагатися з гігантом Майкрософт.

Але все вірно — у вас реально може бути щось, що матиме назву Windows NT, бо дана назва фігурує багато де. Точних прикладів я не наведу, не пам'ятаю, але зустріти у вінді ви можете цей напис спокійно.

Якщо перед вами постало питання видаляти ПЗ Windows NT чи ні, то я відповім так — краще не видаляти. Бо можуть бути згодом проблеми. Логічно якщо подумати, то стає ясно, що де написано Windows NT, то деінсталювати це варто тільки тоді, коли ви в цьому точно впевнені.

Windows NT була розроблена в 1990-х роках, після того як Майкрософт перестала працювати з фірмою IBM (ех, круті ноутбуки вони робили), разом ці компанії розробляли OS/2, це теж була операційна система, незрозуміла мені досі, але неважливо. Коротше тоді й почали пиляти винду і самі знаєте що з цього вийшло — мега крутецька винда, монополія одна, всім не подобається, але всі користуються

Так, є ще Лінукс, але на жаль, він для тонкого кола користувачів - зовсім не для тих кому потрібно легко і красиво і щоб просто. Мені особисто вінда подобається, хоча багатьом вона чимось не догодила, особливо Windows 10, але я нічого в ній кривого не бачу.

Давня вінда, колись давно це було шедевром та межею мрій:


А ось порівняйте, це вже сімка, ну тобто Windows 7, багато хто досі на ній сидить і злазити не збирається:


Я був довгим шанувальником Windows XP, навіть дуже довгим, сидів поки сиділося - вийшла вже Windows 7, а я тусувався на XP ... І ось я купив нове залізо, це був 1150 сокет, все нове, але мені вдалося туди поставити Windows XP і я ще сидів зо два роки. Далі вийшла Windows 10 і я перейшов згодом на неї. Комп працює тижнями та всі норм, немає глюків та синіх екранів, помилок немає. Все працює як годинник. Щоправда, у XP цього теж майже не було. Так що мені вінда якось усім подобається.

Я написав список де саме ви можете помітити таке як Windows NT:

  1. описи якихось системних файлів;
  2. налаштування вінди, системні налаштування, там скрізь може траплятися Windows NT;
  3. у довідкових матеріалах до програми чи навіть в інструкціях до якогось обладнання;
  4. навряд чи можливо що під Windows NT коситиме якийсь вірус;
  5. в системних папках, наприклад в C: Windows є купа барахла всякого, в описі якого зустрічається Windows NT;

Зовсім забув написати, я сам точно сказати не можу, але начебто є і сама операційна система під назвою Windows NT, ось її завантажувальний екран.

Коріння

Почалося все 1975 р., коли корпорація Digital Equipment ініціювала розробку своєї 32-бітної платформи VAX.

Керівництво цим проектом доручили Катлер, який вже заробив собі репутацію міцного системника, створюючи RSX-11M для знаменитих міні-комп'ютерів PDP-11. У 1977 р. було анонсовано машину VAX-11/780 та операційну систему для неї — VMS 1.0. Через чотири роки Катлеру шалено набридло займатися "приписуванням" цифр після незмінного префікса із трьох літер, і він вирішив залишити Digital. Однак функціонери корпорації виявилися хитрішими: якщо талановитого розробника не вдається утримати в лоні організації, вони вирішили зімітувати атмосферу стартапу та вільної творчості. Було створено автономний підрозділ у Сіетлі, і Катлер дозволили набрати необхідну кількість персоналу (близько 200 осіб) безпосередньо зі співробітників Digital. Нова структура зайнялася проектуванням процесорної архітектури та операційної системи під кодовою назвою Prism.

Діаграма розвитку операційних систем сімейства Windows NT

Недовго тривало " щастя мить " , великі боси не зуміли довести розпочату справу до логічного завершення, й у 1988 р. Катлер разом із своїми 200 інженерами і програмістами опинився на вільних хлібах. Але відомий розробник не залишився без справ: тоді в голові Білла Гейтса дозріло рішення про необхідність створення серверної ОС, що конкурує з клонами Unix. Тільки щоб отримати Девіда Катлера, майбутній генеральний архітектор Microsoft погодився найняти 20 колишніх інженерів Digital на його вибір. У листопаді 1988 р. команда, що включала п'ять вихідців із Digital та одного програміста Microsoft, взялася за справу.

Завдання полягало у написанні ОС для нового RISC-процесора Intel i860 під кодовою назвою N-Ten. Звідси, до речі, і з'явилася абревіатура NT, пізніше трактована маркетологами Microsoft як New Technology. Вже грудні 1988 р. були готові перші фрагменти системи. Загвоздка полягала у тому, що i860 існував лише з папері, тому код доводилося тестувати на програмному емуляторі. Розробка велася на "іграшкових", за нинішніми мірками, машинах Intel 386 25 MHz з ОЗУ 13 MB та жорсткими дисками 110 MB.

Архітектура мікроядра, спочатку покладена в основу NT, набула вирішального значення, коли в 1989 виявилося - "залізний" i860 не здатний досить ефективно виконувати написаний код. Довелося переорієнтуватися на MIPS R3000, а потім і на стандартний процесор Intel 386, що було зроблено менш ніж за рік командою до 28 інженерів.

У 1990 р. сталася найважливіша подія, що стала ключовою в долі NT, - вихід і запаморочливий успіх Windows 3.0. Фактично вона стала першою багатозадачною ОС Microsoft із пристойним графічним інтерфейсом, у якій можна було виконувати реальну роботу. Саме запозичення даного інтерфейсу та API визначили майбутнє NT. Спочатку серверна ОС мала стати рімейком спільного з IBM проекту OS/2 і, відповідно, функціонувати з існуючими додатками OS/2. Однак третя версія Windows з'явилася виключно вчасно: Редмонд відмовився від своїх союзників і переорієнтував команду розробників NT на проектування Win32 API, зробленого за "образом та подобою" інтерфейсу Win16. Це забезпечувало таку необхідну наступність, що полегшує портування додатків із настільної на серверну платформу.

Група розробки NT, перетворилася на той час у Windows NT, стала стрімко розростатися, і невдовзі у ній працювало близько 300 людина. Відмова від орієнтації на OS/2 призвела до серйозних проблем у взаєминах між Microsoft та IBM. Офіційних заяв не надходило, просто на одній із міжкорпоративних презентацій співробітники IBM збентежено виявили, що створена ОС не має жодного відношення до дітища їхньої компанії. Проте до складу Windows NT 3.1 (нумерація була "підігнана" до поточної версії 16-розрядної Windows, що існувала на той момент) увійшла підтримка DOS, Win16, POSIX та OS/2 API у тому числі. У липні 1993 р. нова серверна система від Microsoft побачила світ і почала свій шлях.

Далі справа пішла суперечка: у вересні 1994 випущено Windows NT 3.5. Попередня версія готувалася в гарячковому поспіху, все доводилося кодувати з нуля, і безліч функцій залишилися нереалізованими. Тепер настав час подумати про ефективність, швидкодію та… організацію якоїсь взаємодії з мережами, побудованими на NetWare — абсолютним лідером того часу, який домінував на ринку локальних мереж. Якби у ті роки так уважно ставилися до питань регулювання монополій, як це робиться сьогодні, можливо, достатньо було б написати відповідну кляузу до відповідної інстанції. На жаль, Microsoft довелося самостійно розбиратися в ситуації, що склалася. Novell вагалася: забезпечувати чи ні клієнтську підтримку Windows NT. У Редмонді не могли більше чекати - вони написали свій клієнт NetWare, і він виявився настільки добрим, що його продовжували використовувати і після виходу оригінального програмного забезпечення від Novell. У травні 1995 р. завдяки архітектурі, заснованій на мікроядрі, з'явилася спеціальна PowerPC-редакція ОС - Windows NT 3.51. За деякими даними, її випуск був свого часу затриманий внаслідок нездатності IBM дотримуватися плану щодо виведення цього процесора на ринок. Тому еволюція PowerPC-версії зайшла дещо далі, ніж Windows NT 3.5, що дозволило їй стати основою наступної версії ОС.

Якщо досі ще можна було говорити про якусь подібність архітектур Windows NT і навіть Unix (у чомусь нескінченно далекою, а в чомусь дуже схожою з VMS ОС), то з релізом NT 4.0, який ввів графічну підсистему в ядро, зник останній привід для подібних міркувань. За ідеєю, таке рішення було абсолютно логічним висновком із сумного досвіду спроби інтеграції в NT популярного віконного середовища Windows 95. Ймовірно, ідея повторення архітектурної моделі X Window - Unix виникла саме через початкову "серверну орієнтацію" NT. Однак якщо власне з "пересадкою" графічної оболонки проблем не виникло, то її швидкодія в режимі користувача (тобто у вигляді звичайного додатка) залишала бажати кращого, що абсолютно закономірно - підтримує абстрагований пристрій виведення (чи то растровий дисплей, принтер або взагалі що завгодно) графічна підсистема Windows набагато складніше і, відповідно, вимогливіша до ресурсів, ніж X Window, "розуміє" виключно растрові дисплеї. Так було в складі ядра Windows NT 4.0, випущеної липні 1996 р., виник ще один модуль. Ревізія дістала назву Shell Update Release (SUR).

Наступним етапом стала Windows NT 5.0, випущена на ринку в 2000 р. під назвою Windows 2000. Зміна "титулів" відбулася під впливом маркетологів і виявилася, загалом, правильним рішенням, що дозволило репозиціонувати цю операційну систему. Робота продовжується і до цього дня, чому свідчить вихід Windows Server 2003.

Битва за Windows Проектування та реалізація Windows Server підпорядковані Марку Луковському (Mark Lucovsky), одному з прихильників підрозділу серверних ОС корпорації. Він керує армією із 5 тис. розробників, зарахованих до семи лабораторій. Ще 5 тис. програмістів працюють на своїх робочих місцях у компаніях-партнерах, приносячи щодня свій внесок у 50 млн. рядків підсумкового коду ОС Windows Server 2003.

Щодня виконуються повна компіляція та складання системи для перевірки на працездатність та виявлення помилок. Списки виявлених помилок надсилаються командам розробників. Зроблені виправлення мають бути заявлені на електронній дошці оголошень, що ставить їх у чергу на внесення до основного складання. Серверна ферма, що займається компіляцією системи, постійно модернізується, проте, як і багато років тому, повне складання забирає 12 годин машинного часу. І це, незважаючи на поділ колосального масиву кодів на окремі незалежні групи вихідних текстів, організовані в деревоподібні ієрархії.

Квінтесенція процесу розробки - годинні наради в так званій "бойовій кімнаті" (War Room), що проводяться два або три рази щодня (о 9.30, 14.00 та 17.00). Їм передують аналогічні заходи у локальних "бойових кімнатах" робочих груп о 8.00. На головній нараді обговорюються виправлення виявлених раніше помилок та визначається загальний стан проекту. В останні дні тут переважно шукали шляхи вирішення важливої ​​проблеми — перейменування Windows.NET Server 2003 на Windows Server 2003. Тисячі імен у різних модулях, і це — в останній момент перед випуском системи, що викликало серйозний головний біль у розробників.

На нараді кожна команда повинна звітувати про хід своєї роботи, про процес виправлення виявлених помилок та можливі наслідки внесення чи невнесення цих поправок. Якщо проблему не вдається вирішити або її вважають недостатньо важливою, баг, згідно з оригінальною термінологією, "відфутболюється" у фінальний реліз. Перепустка ранкового збору дорівнює дезертирству.

Складання починається щодня о 16.30 і може бути відкладено до 18.00, щоб після третьої наради в "бойовій кімнаті" вдалося включити до системи останні виправлення. Команда не може прийти на нараду без готового вирішення існуючих проблем, інакше краще їм взагалі не з'являтися там. Кожна із семи лабораторій має повну копію вихідних текстів системи, до яких вони вносять свої поправки, компілюють та перевіряють на працездатність. Якщо все пройшло гладко - новий код поєднується з кодом, створеним іншими групами в головне складання. Проблема може полягати у взаємодії нового коду, написаного різними групами. Не завжди головне складання проходить вдало, іноді система виявляється нежиттєздатною. У такому випадку, як тільки виявляється модуль-винуватець (зазвичай близько трьох-чотирьох ранку), його терміново викликаються на робоче місце і не залишають його аж до виправлення помилки. Тому програмісти повинні бути 24 години на добу 6 днів на тиждень готові до праці (шестиденка вводиться в міру наближення дати випуску продукту).

Основний принцип, на якому збудовано фінальні стадії тестування, — використання власних продуктів у проектному процесі. Як тільки система досягає "першого рівня" стабільності, вона стає основною ОС у робочих групах. "Другий рівень" вважається досягнутим, коли ОС набуває здатності функціонувати. Тільки після цього допускається її використання у кампусі Microsoft. Так було з файловим сервером під NT, першим використанням його стало зберігання вихідних текстів Windows NT, так зробили і з першою, і з усіма наступними версіями Active Directory.

Потім продукт передається на тестування обраним партнерам програми JDP (Joint Development Partners). Якщо виявляються помилки, приймається "вольове рішення": залишити їх у системі та зберегти дату старту продажу чи перенести дату випуску і зайнятися доопрацюваннями. У разі всі результати анулюються, і тестування починається з нуля.

Набагато складніше здійснювати післяпродажну підтримку. При виявленні недоробок, "дір" у безпеці чи необхідності додавання нових функцій у продукт доводиться формувати або локальний патч, або повноцінний Service Pack. Оскільки до цього патча або Service Pack вже існували інші, новий код тестується на багатьох варіантах системи, перебираючи всі можливі комбінації патчів та Service Pack'ів. Крім того, для здійснення повноцінної перевірки працездатності корпорація підтримує окремі фрагменти своєї мережі, що функціонують на старих версіях продуктів (наприклад, Windows Server 2000), де можна "обкатати" систему в "польових умовах".

Як VMS перетворилася на WNT

Деякі дотепники свого часу жартували, що якщо виконати операцію інкременту (збільшення на одиницю) кожної літери назви катлерівської операційної системи VMS, то вийде WNT або Windows NT. Як стверджують майстри, це чиста правда. Чи не упереджена думка, що базується на факті, що основні архітектори NT були свого часу розробниками VMS, а об'єктивна реальність.

По суті, NT - втілення радикально перероблених, реалізованих мовою C для досягнення кращої мобільності, архітектурних ідей асемблерного ядра VMS, доповнених відповідними інтерфейсними API та новими файловими та графічними підсистемами. Спільність архітектурних рішень двох систем дуже велика. Так, у них однакові поняття процесів, пріоритети (32 рівні), управління зміною пріоритетів і контроль розподілу процесорного часу між ними. Але незважаючи на значну схожість, безсумнівно, обумовлену попереднім досвідом команди головного архітектора - Катлера, NT спочатку створювалася як орієнтована на багатопотокову обробку ОС, - одна ця "невелика" відмінність дозволяє зрозуміти ступінь віддалення NT від "базової" архітектури VMS.

Драйвери в обох ОС працюють у рамках стікової моделі, кожен шар якої ізольований з інших, що дозволяє організовувати багатоступінчасту схему управління пристроями. Системи допускають свопування як процесів користувача, так і системних, включаючи драйвери. Схожі та способи представлення ресурсів, обидві системи розглядають їх як об'єкти та розпоряджаються ними за допомогою Object Manager. Безпека NT, як і покладені в її основу Discretionary Access Control Lists або DACL, веде свій родовід від VMS 4.0.

У 1993 р. інженери Digital, переглянувши специфікації Windows NT, виявили її разючу схожість з експериментальної ОС Mica, що створювалася в рамках проекту Prism. Звідки така увага до продукції Редмонду? Не від хорошого життя почали вивчати нутрощі чужої системи співробітники Digital. У 1992 р. корпорація потрапила в затяжне піке, гроші витікали крізь пальці, а продаж нового процесора Alpha буксували. Тепер у пошуках порятунку боси компанії спробували звернутися за допомогою до свого найлютішого конкурента Intel, на що її президент, Ендрю Гроув (Andrew Grove) відповів відмовою. Зрештою довелося йти на уклін до "Гейтса Третього" і просити порт Windows NT під Alpha в обмін на обіцянку зробити NT, на шкоду VMS, своєю основною операційною системою. Однак отримавши попередню версію NT, інженери Digital поступово зрозуміли, що ця ОС вимагає суттєво більше ОЗУ, ніж міститиме їх типовий "п'ятитисячодоларовий Alpha-ПК". Для масового ринку RISC-станцій NT явно не годилася, спроба стати під прапори Microsoft для Digital (як, втім, і для більшості інших компаній) обернулася втратою часу та грошей.

Гра в "знайди 10 відмінностей" між WNT та VMS принесла Digital чималі дивіденди. За однією з версій, опублікованої на той час у Business Week, замість того, щоб відкрито подати до суду, президент Digital, маючи на руках незаперечні докази порушення прав інтелектуальної власності, вирішив отримати більше, витративши менше. Він звернувся до Microsoft за роз'ясненнями, що вилилося у підписання масштабного контракту, яким Digital ставала основним мережевим інтегратором NT. Крім того, у жовтні того ж року Редмонд відмовився від підтримки в Windows NT обох конкуруючих з Alpha процесорів: PowerPC та MIPS. На жаль для керівництва Digital, альянс незабаром був зруйнований, і статус "NT network installation services for Microsoft" перейшов до Hewlett-Packard, якій, втім, декількома роками пізніше дістався й інший важкий вантаж корпорації - ОС VMS.

Незважаючи на те, що шляхи NT і VMS розійшлися, ці операційні системи продовжили серію своєрідних запозичень. Зокрема, Windows NT отримала підтримку кластерів лише 1997 р., тоді як і VMS вона була з 1984 р., ще пізніше з'явилася 64-розрядна версія Windows (VMS мігрувала велику розрядність ще 1996 р.). З іншого боку, в VMS 7.0 в 1995 р. анонсували потоки на рівні ядра, а частиною VMS 7.2 стали Registry-подібна база даних та глобальний журнал подій, аналогічний відповідним засобам NT. У світ виходить Windows Server 2003, подивимося, що буде далі.

Наприкінці 88-го року Microsoft доручила Девіду Катлеру (David Cutler) очолити новий проект у галузі програмного забезпечення: створити нову операційну систему корпорації Microsoft для 1990-х років. Він зібрав команду інженерів розробки системи нової технології (New Technology - NT).

Спочатку планувалося розробити NT з інтерфейсами користувача і програмним (API) в стилі OS/2, проте OS/2 погано продавалася, а Windows 3.0 мала великий і постійний успіх на ринку. Побачивши ринкові орієнтири та складнощі, пов'язані з розвитком та підтримкою двох несумісних систем, Microsoft вирішила змінити свій курс і направити своїх інженерів у бік стратегії єдиної цільної операційної системи. Ця стратегія складалася в тому, щоб розробляти сімейство операційних систем, що базуються на Windows, які охоплювали б безліч типів комп'ютерів, від найменших ноутбуків до найбільших мультипроцесорних робочих станцій. Так, наступне покоління Windows-систем було названо Windows NT.

Windows NT підтримує графічний інтерфейс (GUI) Windows, а також є першою операційною системою фірми Microsoft, що базується на Windows, підтримує Win32 API, 32-бітний програмний інтерфейс для розробки нових додатків. Win32 API робить доступними для додатків покращені властивості операційної системи, такі як багатониткові процеси, синхронізацію, безпеку, I/O, керування об'єктами.

У липні 1993 року з'явилися перші операційні системи сімейства NT – Windows NT 3.1 та Windows NT Advanced Server 3.1.

Версії

  • Windows NT 3.1 (27 липня 1993 р.)
  • Windows NT 3.5 (21 вересня 1994 р.)
  • Windows NT 3.51 (30 травня 1995 р.)
  • Windows NT 4.0 (24 серпня 1996 р.)
  • Windows 2000 (17 лютого 2000 р.)
  • Windows XP (25 жовтня 2001 р.)
  • Windows XP 64-bit Edition (28 березня 2003 р.)
  • Windows Server 2003 (25 квітня 2003 р.)
  • Windows XP Media Center Edition 2003 (18 грудня 2003 р.)
  • Windows XP Media Center Edition 2005 (12 жовтня 2004 р.)
  • Windows XP Professional x64 Edition (25 квітня 2005 р.)
  • Windows Fundamentals for Legacy PCs (8 липня 2006 р.)
  • Windows Vista (30 листопада 2006 р.)
  • Windows Home Server (7 листопада 2007р.)
  • Windows Server 2008 (27 лютого 2008 р.)

Структура Windows NT

Структурно Windows NT може бути представлена ​​у вигляді двох частин: частина операційної системи, що працює в режимі користувача, та частина операційної системи, що працює в режимі ядра

Частина Windows NT, що у режимі ядра, називається виконавчою (executive). Вона включає ряд компонентів, які управляють віртуальною пам'яттю, об'єктами (ресурсами), введенням-виводом та файловою системою (включаючи мережеві драйвери), взаємодією процесів та частково системою безпеки. Ці компоненти взаємодіють між собою за допомогою міжмодульного зв'язку. Кожен компонент викликає інші за допомогою набору ретельно специфікованих внутрішніх процедур.

Другу частину Windows NT, що у режимі користувача, становлять сервери - звані захищені підсистеми. Оскільки підсистеми автоматично не можуть спільно використовувати пам'ять, вони спілкуються один з одним за допомогою надсилання повідомлень. Повідомлення можуть передаватися як між клієнтом та сервером, так і між двома серверами. Усі повідомлення проходять через виконавчу частину Windows NT. Ядро Windows NT планує нитки захищених підсистем точно так, як і нитки звичайних прикладних процесів.

Підтримка захищених підсистем забезпечує виконавча частина. Її складовими частинами є:

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

Менеджер віртуальної пам'яті.

  • Підсистема введення-виведення. Включає такі компоненти:
    • менеджер введення-виведення, що надає засоби введення-виведення, незалежні від пристроїв;
    • файлові системи - NT-драйвери, що виконують файл-орієнтовані запити на введення-виведення та транслюють їх у виклики звичайних пристроїв;
    • мережевий редиректор та мережевий сервер - драйвери файлових систем, що передають віддалені запити на введення-виведення на машини мережі та одержують запити від них;
    • драйвери пристроїв виконавчої частини – низькорівневі драйвери, які безпосередньо керують пристроєм;
    • менеджер кешу, що реалізує кешування диска

Виконавча частина, своєю чергою, полягає в службах нижнього рівня, наданих ядром NT. У функції ядра входить:

  • планування процесів,
  • обробка переривань та виняткових ситуацій,
  • синхронізація процесорів для багатопроцесорних систем,
  • відновлення системи після збоїв

Ядро працює в привілейованому режимі і ніколи не видаляється з пам'яті. Звернутися до ядра можна лише за допомогою переривання.

Захищені підсистеми Windows NT працюють у режимі користувача і створюються Windows NT під час завантаження операційної системи. Відразу після створення вони починають безкінечний цикл свого виконання, відповідаючи на повідомлення, що надходять до них від прикладних процесів та інших підсистем. Серед захищених підсистем можна назвати підклас, званий підсистемами оточення. Підсистеми оточення реалізують інтерфейси програм операційної системи (API). Інші типи підсистем, які називаються інтегральними підсистемами, виконують необхідні операційній системі завдання. Наприклад, більшість системи безпеки Windows NT реалізована як інтегральної підсистеми, мережеві сервери також виконані як інтегральні підсистеми.

Найбільш важливою підсистемою оточення є Win32 - підсистема, яка забезпечує доступ до додатків до 32-bit Windows API. Додатково ця система забезпечує графічний інтерфейс та керує введенням/виводом даних користувача.

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

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

p align="justify"> Основним засобом, що скріплює всі підсистеми Windows NT в єдине ціле, є механізм виклику локальних процедур (Local Procedure Call - LPC). LPC є оптимізованим варіантом більш загального засобу - віддаленого виклику процедур (RPC), який використовується для зв'язку клієнтів і серверів, розташованих на різних машинах мережі.

Операційна система Windows NT чи New Technology була створена групою розробників під керівництвом Дейва Катлера.

Windows NT є ​​32-розрядною операційною системою з пріоритетною багатозадачністю. Як фундаментальні компоненти до складу операційної системи входять засоби забезпечення безпеки та розвинений мережевий сервіс. Windows NT також забезпечує сумісність з багатьма іншими операційними та файловими системами, а також з мережами. Windows NT здатна функціонувати як у комп'ютерах, оснащених CISC - процесорами зі складною системою команд (complex instruction set computing), і на комп'ютерах з RISC - процесорами, мають скорочений набір інструкцій (reduced instruction set computing). Операційна система Windows NT також підтримує високопродуктивні системи з мультипроцесорною конфігурацією.

Знайомим у Windows NT є ​​лише зовнішній вигляд. За графічним інтерфейсом користувача ховаються нові потужні можливості.

Завдання, поставлені під час створення WindowsNT.Система Windows NT не є подальшим розвитком продуктів, що існували раніше. Її архітектура створювалася наново з урахуванням вимог до сучасної операційної системи. Особливості системи, розробленої з урахуванням цих вимог, такі.

Прагнучи забезпечити сумісністьнової операційної системи, розробники Windows NT зберегли звичний інтерфейс Windows та реалізували підтримку існуючих файлових систем (таких, як FAT) та різних додатків (написаних для MS-DOS, OS/2 1.x, Windows 3.x та POSIX). Розробники також включили до складу Windows NT засоби роботи з різними засобами мережі.

Досягнуто переносимість(Portability) системи, яка може тепер працювати як на CISC, так і на RISC-процесорах. До CISC відносяться Intel-сумісні процесори 80386 та вище. RISC представлені системами з процесорами MIPS R4000, Digital Alpha AXP та Pentium серії Р54 та вище.

Масштабованість(Scalability) означає, що Windows NT не прив'язана до однопроцесорної архітектури комп'ютерів, а здатна повністю використовувати можливості, що надаються симетричними мультипроцесорними системами. В даний час Windows NT може функціонувати на комп'ютерах з числом процесорів від 1 до 32. Крім того, у разі ускладнення завдань, що стоять перед користувачами і розширення вимог, що пред'являються до комп'ютерного середовища, Windows NT дозволяє легко додавати більш потужні і продуктивні сервери і робочі станції корпоративної мережі.

Додаткові переваги дає використання єдиного середовища розробки як для серверів, так і для робочих станцій.


Windows NT має однорідну систему безпеки(security), що задовольняє специфікаціям уряду США та відповідає стандарту безпеки В2. У корпоративному середовищі критичним програмам забезпечується повністю ізольоване оточення.

Розподілена обробка(Distributed processing) означає, що Windows NT має вбудовані у систему мережеві можливості. Windows NT також дозволяє забезпечити зв'язок з різними типами хост-комп'ютерів завдяки підтримці різноманітних транспортних протоколів та використанню засобів «клієнт-сервер» високого рівня, включаючи іменовані канали, виклики віддалених процедур (RPC - remote procedure call) та Windows-сокети.

Надійність та відмовостійкість(reliability and robustness) забезпечуються архітектурними особливостями, що захищають прикладні програми від пошкодження одна одною та операційною системою. Windows NT використовує стійку до відмов структуровану обробку особливих ситуацій на всіх архітектурних рівнях, яка включає відновлювану файлову систему NTFS і забезпечує захист за допомогою вбудованої системи безпеки і вдосконалених методів управління пам'яттю.

Можливості локалізації(allocation) представляють засоби для роботи в багатьох країнах світу національними мовами, що досягається застосуванням стандарту Unicod (розроблений міжнародною організацією зі стандартизації - ISO).

Завдяки модульній побудові системи забезпечується розширюваність Windows NT, що дозволяє гнучко здійснювати додавання нових модулів різних рівнях операційної системи.

У пакет входить ряд прикладних програм: Internet Information Server 2.0, Index Server, FrontPage, Internet Explorer, DNS (Domain Name System) Server, Proxy Server та Internet Resource Center, всі пакети Service Pack, Plus! і ряд додаткових утиліт, серед яких є як нові, наприклад, Administrative Wizards або Imager, так і вдосконалені версії старих програм, наприклад Task Manager.

Administrative Wizard дозволяє автоматизувати типові завдання, що виникають при керуванні мережею, а оновлені версії програм Windows NT Diagnostic Perfomance Monitor служать для оперативного контролю за станом системи. Діалогове вікно Task Manager трансформувалося в потужну програму, яка надає багато корисної інформації - від ступеня завантаженості процесора до імен всіх активних системних процесорів.

Один із ключових компонентів Windows NT 4.0 – Internet Information Server 2.0. Це гнучке і багатофункціональне рішення як підключення до мережі Internet, так створення власної приватної мережі intranet. Від користувача потрібно лише налаштувати параметри протоколу TCP/IP (при встановленому сервісі DHCP IP-адреса присвоюється автоматично), запустити IIS і створити одну або кілька власних Web-сторінок. Після цього Web-документи доступні всім користувачам вашої мережі, які мають ПЗ, що забезпечує функціонування протоколу TCP/IP і стандартний браузер World-Wide Web.

З'явилися деякі зміни у підсистемі дистанційного доступу, Remote Access Service (RAS). Тепер можна використовувати захищені канали зв'язку, новий протокол Point-To-Point Tunneling Protocol (PPTP), можливість використовувати кілька модемів для організації каналів зв'язку з віддаленими мережами.

Особливості мережевої архітектури колишніх версій Windows NT (багаторівнева модель захисту від несанкціонованого доступу, специфіка модульної побудови системи та ін.) обмежували її пропускну здатність під час роботи у мережах Fast Internet. У версії 4.0 було покращено алгоритми кешування мережевих запитів, оптимізовано модулі підсистеми поділу ресурсів, змінено механізм генерації переривань (при переході до високошвидкісних мереж ця функція несподівано стала джерелом проблем для мережевих ОС). Друга зміна, яку вказує Microsoft, - збільшена продуктивність ОС під час виконання графічних операцій.

Поєднання потужної мережної ОС та графічного інтерфейсу, створеного для некваліфікованих користувачів, виглядає досить незвично. Windows NT 4.0 – це не просто чергова версія популярної операційної системи. Вона є основою нового покоління програмних товарів, орієнтованих працювати у мережі Internet.

Архітектурні модуль Windows NT.Як показано, Windows NT являє собою модульну (досконалішу, ніж монолітна) операційну систему, яка складається з окремих взаємопов'язаних щодо простих модулів.

Основними модулями Windows NT є ​​(перераховані в порядку проходження від нижнього рівня архітектури до верхнього): рівень апаратних абстракцій HAL (Hardware Abstraction Layer), ядро ​​(Kernel), система (Executive), що виконує, захищені підсистеми (protected subsystems) і підсистеми середовища (environ subsystems).

віртуалізує апаратні інтерфейси, забезпечуючи цим незалежність решти операційної системи від конкретних апаратних особливостей. Подібний підхід дозволяє забезпечити легку переносимість Windows NT з апаратної платформи в іншу.

Ядроє основою модульної будови системи та координує виконання більшості базових операцій Windows NT. Цей компонент спеціальним чином оптимізований за обсягом і ефективності функціонування. Ядро відповідає за планування виконання потоків, синхронізацію роботи кількох процесорів, обробку апаратних переривань та виняткових ситуацій.

Виконуюча системавключає у свій склад набір програмних конструкцій привілейованого режиму (kernel mode), що представляють базовий сервіс операційної системи підсистем середовища. Виконуюча система складається з декількох компонентів,

Мал. 2.32. Модульна структура Windows NT

кожна їх призначена підтримки певного системного сервісу. Так, один із компонентів - монітор безпеки (Security Reference Monitor) - функціонує спільно із захищеними підсистемами і забезпечує реалізацію моделі безпеки системи.

Підсистеми середовищаявляють собою захищені сервери користувальницького режиму (user-mode), які забезпечують виконання та підтримку додатків, розроблених для по-різному!" 0 операційного оточення (різних операційних систем). Прикладом підсистем середовища можуть служити підсистеми Win32 і OS/2.

Рівень апаратних абстракцій(HAL) є створюваний виробниками апаратних засобів шар програмного забезпечення, який приховує (або абстрагує) особливості, відмінності апаратури від верхніх рівнів операційної системи. Таким чином, завдяки фільтру, що забезпечується HAL, різні апаратні засоби виглядають аналогічно з точки зору операційної системи; знімається необхідність спеціального налаштування операційної системи під обладнання, що використовується.

При створенні рівня апаратних абстракцій ставилося завдання підготовки процедур, які б єдиному драйверу конкретного пристрою підтримувати функціонування цього пристрою всім платформ. HAL орієнтований на велику кількість різновидів апаратних платформ з однопроцесорною архітектурою; таким чином, для кожного з апаратних варіантів не потрібно окремої версії операційної системи.

Процедури HAL називають як засобами операційної системи (включаючи ядро), так і драйверами пристроїв. Працюючи з драйверами пристроїв рівень апаратних абстракцій забезпечує підтримку різних технологій вводу-вывода (замість традиційної орієнтації однією апаратну реалізацію чи потребує значних витрат адаптації під кожну нову апаратну платформу).

Рівень апаратних абстракцій дозволяє також «приховувати» з інших рівнів операційної системи особливості апаратної реалізації симетричних мультипроцесорних систем.

Ядро(Kernel) працює у тісному контакті з рівнем апаратних абстракцій. Цей модуль насамперед займається плануванням процесів процесора. Якщо комп'ютер містить кілька процесорів, ядро ​​синхронізує їх роботу з метою досягнення максимальної продуктивності системи.

Ядро здійснює диспетчеризацію потоків(threads - ниток управління, які іноді називаються підзавданнями, відгалуженнями), які є основними об'єктами у планованій системі. Потоки визначаються у тих процесу; процес включає адресний простір, набір доступних процесу об'єктів та сукупність виконуваних у контексті процесу потоків управління. Об'єктами є керовані операційною системою ресурси.

Ядро здійснює диспетчеризацію потоків управління таким чином, щоб максимально завантажити процесори системи та забезпечити першочергову обробку потоків з більш високим пріоритетом. Усього існує 32 значення пріоритетів, які згруповані у два класи: real-time та variable. Подібний підхід дозволяє досягти максимальної ефективності операційної системи.

Підкомпоненти виконуючої системи, такі як диспетчер введення-виводу та диспетчер процесів, використовують ядро ​​для синхронізації дій. Вони також взаємодіють з ядром для більш високих рівнів абстракції, які називаються об'єктами ядра;деякі з цих об'єктів експортуються всередині викликів інтерфейсу прикладних програм (API).

Ядро керує двома типами об'єктів.

Об'єкти диспетчеризації(dispatcher objects) характеризуються сигнальним станом (signaled чи nonsignaled) і керують диспетчеризацією та синхронізацією системних операцій. Ці об'єкти включають події, мутанти, мутекси, семафори, потоки управління та таймери (events, mutants, mutexes, semaphores, threads, timers).

Керуючі об'єкти(control objects) використовуються для операцій керування ядра, але не впливають на диспетчеризацію чи синхронізацію.

Керуючі об'єкти включають асинхронні виклики процедур, переривання, повідомлення та стану джерела живлення, процеси і профілі (asynhcronous procedure calls, interupts, power notifies, power statuses, processes, profiles).

Виконуюча система(Executive), до складу якої входить ядро ​​та рівень апаратних абстракцій HAL, забезпечує загальний сервіс системи, який можуть використовувати усі підсистеми середовища. Кожна група сервісу знаходиться під керуванням однієї з окремих складових системи, що виконує:

Диспетчер об'єктів (Object Manager);

Диспетчер віртуальної пам'яті (Virtual Memory Manager);

Диспетчер процесів (Process Manager);

засоби виклику локальних процедур (Local Procedure Call Facility);

Диспетчера вводу-виводу (I/O Manager);

Монітора безпеки (Security Reference Monitor).

Монітор безпеки спільно з процесором входу в систему (Logon) та захищеними підсистемами реалізує модель безпеки Windows NT

Верхній рівень системи, що виконує, називається системним сервісом (System Services). Показаний на рис. 2.33 системний сервіс є інтерфейс між підсистемами середовища користувальницького режиму і привілейованим режимом.

Диспетчер кешу.Архітектура вводу-виводу містить єдиний диспетчер кешу (Cache Manager), який здійснює кешування для всієї системи вводу-виводу. Кешування (Caching) - метод, використовуваний файлової системою підвищення ефективності.

Рис.2.33. Системний інтерфейс

Замість безпосереднього запису та зчитування з диска файли, що часто використовуються, тимчасово зберігаються в кеш-пам'яті; таким чином, робота з цими файлами виконується у пам'яті. Операції з даними, які у пам'яті, проводяться значно швидше операцій із даними на диску.

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

Диспетчер кеша підтримує служби типу уповільненого запису (lazy write) та уповільненої фіксації (lazy commit), які можуть обережно збільшити ефективність файлової системи. У процесі уповільненого запису зміни реєструються в кеші файлової структури, що забезпечує швидший доступ. Пізніше, коли завантаження центрального процесора знижено, диспетчер кешу заносить зміни на диск. Уповільнена фіксація подібна до уповільненого запису. Замість негайного маркування транзакції, як успішно завершилася, передана інформація кешується і пізніше у фоновому режимі записується до журналу файлової системи.

Драйвери файлової системи.В архітектурі вводу-виводу Windows NT керування драйверами файлової системи здійснює диспетчер введення-виводу. Windows NT дозволяє використовувати безліч файлових систем, включаючи існуючі файлові системи типу FAT. Для забезпечення сумісності знизу вгору з операційними системами MS-DOS, Windows 3.x та OS/2 Windows NT підтримує файлові системи FAT та HТFS.

Крім того, Windows NT також підтримує NTFS – нову файлову систему, розроблену спеціально для використання з Windows NT. NTFS забезпечує ряд можливостей, включаючи засоби відновлення файлової системи, підтримку Unicode, довгих імен файлів та підтримку POSIX.

Архітектура вводу-виводу Windows NT не тільки підтримує традиційні файлові системи, але й забезпечує функціонування мережного редактора та сервера як драйвери файлової системи. З точки зору диспетчера вводу-виводу немає різниці між роботою з файлом, розміщеним на віддаленому комп'ютері мережі, і роботою з файлом на локальному жорсткому диску. Редиректори та сервери можуть бути завантажені та вивантажені динамічно так само, як і будь-які інші драйвери; на одному комп'ютері може одночасно перебувати велика кількість редиректорів та серверів.

Мережеві драйвери.Наступним типом драйверів, що є компонентами в архітектурі вводу-виводу, є мережні драйвери. Windows NT включає інтегровані можливості роботи з мережами та підтримку для розподілених програм. Редиректори та сервери функціонують як драйвери файлової системи та виконуються на рівні інтерфейсу постачальника або нижче, де знаходяться NetBIOS та Windows-сокет.

Драйвери транспортного протоколу спілкуються з редиректорами та серверами через рівень, що називається інтерфейсом транспортного драйвера (TD1 - Transport Driver Interface). Windows NT включає такі транспортні засоби:

  • протокол керування передачею/міжмережевий протокол TCP/IP, що забезпечує можливість роботи з широким діапазоном існуючих мереж;
  • NBF - нащадок розширеного інтерфейсу користувача NetBIOS (NetBEUI), який забезпечує сумісність із супутніми локальними обчислювальними мережами на базі LAN Manager, LAN Server та MS-Net;
  • управління передачею даних (DLC - Data Link Control), яке забезпечує інтерфейс для доступу до мейнфреймів та підключених до мережі принтерів;
  • NWLink – реалізація IPX/SPX, що забезпечує зв'язок з No-well NetWare.

У нижній частині мережевої архітектури є драйвер плати мережевого адаптера. Windows NT зараз підтримує драйвери пристроїв, виконані відповідно до специфікації NDIS (Network Device Interface Specification) версії 3.0. NDIS надає гнучке середовище обміну даними між транспортними протоколами та мережевими адаптерами. NDIS 3.0 дозволяє окремому комп'ютеру мати кілька встановлених у ньому плат мережних адаптерів. У свою чергу кожна плата мережного адаптера може підтримувати кілька транспортних протоколів для доступу до різних типів мережних станцій.

Модель безпеки Windows NT- представлена ​​монітором безпеки (Security Reference Monitor), а також двома іншими компонентами: процесором входу до системи (Logon Process) та безпечними захищеними підсистемами.

У багатозадачній операційній системі, якою є Windows NT, програми спільно використовують ряд ресурсів системи, включаючи пам'ять комп'ютера, пристрої вводу-виводу, файли та процесор (и) системи. Windows NT включає набір компонентів безпеки, які гарантують, що програми не зможуть звернутися до цих ресурсів без відповідного дозволу.

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

Процес входу до системи Windows NT передбачає обов'язковий вхід у систему безпеки для ідентифікації користувача. Кожен користувач повинен мати бюджет і використовувати пароль для звернення до цього бюджету.

Перш ніж користувач зможе звернутися до будь-якого ресурсу комп'ютера з Windows NT, він повинен увійти в систему через процес входу в систему, щоб підсистема безпеки могла розпізнати ім'я користувача та пароль. Тільки після успішного встановлення автентичності монітор безпеки виконує процедуру перевірки правильності доступу для визначення права користувача на звернення до цього об'єкта.

Захищеність ресурсів – одна з особливостей, що надається моделлю безпеки. Завдання що неспроможні звертатися до чужих ресурсів (типу пам'яті) інакше, ніж застосування спеціальних механізмів спільного використання.

Windows NT також надає засоби контролю, які дають змогу адміністратору фіксувати дії користувачів.

Керування пам'яттю Windows NT. Windows NT Workstation 3.51 по суті є операційною системою сервера, пристосовану для використання на робочій станції. Цим обумовлена ​​архітектура, в якій абсолютний захист прикладних програм і даних бере гору над міркуваннями швидкості та сумісності. Надзвичайна надійність Windows NT забезпечується ціною високих системних витрат, для отримання прийнятної продуктивності необхідні швидкодіючий ЦП і щонайменше 16 Мбайт ОЗУ. У системі Windows NT безпека нижньої пам'яті досягається за рахунок відмови від сумісності з драйверами пристроїв реального режиму. У середовищі Windows NT працюють власні 32-розрядні NT-прикладні програми, а також більшість прикладних програм Windows 95. Як і Windows 95, система Windows NT дозволяє виконувати у своєму середовищі 16-розрядні Windows- і DOS-програми.

Схема розподілу пам'яті Windows NT відрізняється від розподілу пам'яті Windows 95. Власним прикладним програмам виділяється 2 Гбайт особливого адресного простору, від межі 64 Кбайт до 2 Гбайт (перші 64 Кбайт повністю недоступні). Прикладні програми ізольовані одна від одної, хоча можуть спілкуватись через буфер обміну Clipboard, механізми DDE та OLE.

У верхній частині кожного 2-Гбайт блоку прикладної програми розміщений код, що сприймається прикладною програмою як системні бібліотеки DLL кільця 3. Насправді це просто заглушки, що виконують перенаправлення викликів, які називаються DLL клієнтської сторони (client-side DLLs). При виклику більшості функцій API з прикладної програми бібліотеки DLL клієнтської сторони звертаються до локальних процедур (Local Process Communication - LPC), які передають виклик та пов'язані з ним параметри в абсолютно ізольований адресний простір, де міститься власне системний код. Цей сервер-процес (server process) перевіряє значення параметрів, виконує функцію, що запитує, і пересилає результати назад в адресний простір прикладної програми. Хоча сервер-процес сам по собі залишається процесом прикладного рівня, він повністю захищений від програми, що викликає, і ізольований від неї.

Між відмітками 2 і 4 Гбайт розташовані низькорівневі системні компоненти Windows NT кільця 0, у тому числі ядро, планувальник потоків та диспетчер віртуальної пам'яті. Системні сторінки в цій галузі мають привілеї супервізора, які задаються фізичними схемами кільцевого захисту процесора. Це робить низькорівневий системний код невидимим і недоступним для програм прикладного рівня, але призводить до падіння продуктивності під час переходів між кільцями. Для 16-розрядних прикладних програм Windows NT реалізує сеанси Windows on Windows (WOW). Windows NT дає можливість виконувати 16-розрядні програми Windows індивідуально у власних просторах пам'яті або спільно в адресному просторі, що розділяється. Майже у всіх випадках 16- та 32-розрядні прикладні програми Windows можуть вільно взаємодіяти, використовуючи OLE (при необхідності через особливі процедури thunk) незалежно від того, виконуються вони в окремій або спільній пам'яті. Власні прикладні програми та сеанси WOW виконуються в режимі багатозадачності, що витісняє, заснованої на управлінні окремими потоками. Множинні 16-розрядні прикладні програми Windows в одному сеансі WOW виконуються відповідно до кооперативної моделі багатозадачності. Windows NT може також виконувати багатозадачному режимі кілька сеансів DOS. Оскільки Windows NT має повністю 32-розрядну архітектуру, немає теоретичних обмежень на ресурси GDI і USER.

Основні відмінності Windows 2000. Windows 2000 або W2k – операційна система (ОС) Microsoft, заснована на технології Windows NT, що було відображено у початковій назві проекту W2k – Windows NT 5.0. Windows 2000 - повністю 32-розрядна ОС із пріоритетною багатозадачністю та покращеною реалізацією роботи з пам'яттю. В основі проекту W2k лежать ті ж принципи, що колись забезпечили успіх NT.

Інтерфейс W2kподібний до інтерфейсу Windows 98 з встановленим IE 5.0. Проте деякі деталі ми таки відзначимо.

Перше, що впадає у вічі, це те, що змінилася колірна гама. Тепер вона нагадує одну зі схем, які використовуються в робочому столі KDE для Linux. Ще однією помітною деталлю є тінь під курсором миші, яка знімається/виставляється в Control panel -> Mouse -> Pointers, галочкою на Enable pointer shadow. Крім цього, доданий новий ефект з появою меню, тепер вони поступово виявляються з повітря. Керується з Desktop Properties, на закладці Effects галочкою Use transition effects for menu and tooltips.

У Start Menu введена функція, знайома по Office 2000, коли при відкритті показуються тільки пункти, що найчастіше вживаються, інші відкриваються, якщо натиснути стрілочку вниз. Керувати цим ефектом можна в Taskbar Properties, в закладці General галочкою Use Personalized Menus (аналогічно, в 1Е5 дана опція відключається в Tools -> Internet Options - Advanced -> Enable Personalized Favorites Menu). У Desktop Properties є ще кілька пунктів, у тому числі і Hide keyboard navigation indicators until I use the Alt key. Якщо він вибраний, то забирається підкреслення під літерами, які означають Keyboard shortcut у програмах Windows, до тих пір, поки не натиснуто .

На другій закладці Taskbar Properties, Advanced, знаходиться віконце Start Menu Settings, яке дозволяє додати/видалити рядки, що входять до Start Menu, та розширити деякі пункти. Наприклад, якщо відзначити галочкою Expand Control Panel, то при наведенні курсору миші на Control Panel у Start Menu від нього праворуч відкриється ще одне меню, в якому будуть всі елементи, що входять до неї. Корисною функцією цієї закладки є кнопка Re-sort. W2k, за замовчуванням, ставить папки з останніми інстальованими програмами в самому низу Start Menu, папки можуть бути навіть нижче за лінки на файли. Re-sort усуває цю несправедливість і розставляє всі папки зверху вниз алфавітом. Втім, цього ефекту можна досягти, натиснувши праву кнопку миші в Start Menu -> Programs і вибравши Sort by name. Крім цього, правою кнопкою можна перетягнути (drag and drop) звідти будь-які елементи в будь-яке місце.

Ще однією відмінністю, що часто підводить людей, які раніше працювали з NT і W9x, як не дивно, є широке застосування Checkbox- Особливо тих, які являють собою просто квадратик на білому тлі. Так що якщо ви виявите, що не можете чогось зробити, то перегляньте ще раз усі вікна, можливо, ви просто не звернули уваги на такий Checkbox.

Task Manager- це один з найпотужніших і найзручніших інструментів у NT, призначених для управління процесами. Викликається він чи , або вибором меню, що з'являється після натискання правою кнопкою на Taskbar. Можна його вибрати і після .

Task manager складається з трьох закладок – Performance, Processes, Applications. Почнемо з Performance. На цій закладці показується інформація про завантаження процесора(ів) в реальному часі, показується завантаження фізичної пам'яті, причому показано, скільки зайнято/вільно оперативної пам'яті і скільки зайнято системного Swap"a. Крім цього, там же дається інша додаткова інформація, наприклад Threads і Processes - кількість ниток і процесів, виконуваних зараз машині, Peak - піковий розмір Swap'a протягом сесії, Nonpaged - кількість пам'яті, відведене під ядро. Ця інформація може використовуватися, коли треба буде відповісти на питання, який фактор у системі є «пляшковим шийкою», що уповільнює роботу (хоча для цих цілей краще використовувати Performance Monitor).

Друга закладка, Processes, містить перелік процесів, активних на даний момент. Для кожного процесу можна дізнатися деяку додаткову інформацію, як: PID (Process ID), кількість використовуваної оперативної пам'яті, кількість ниток, згенерованих процесом, і багато іншого. Додати/видалити параметри можна через View -> Select Columns. Крім цього, з будь-яким із цих процесів можна зробити цілком певні дії. Для цього треба просто натиснути на ньому правою кнопкою миші, з'явиться контекстне меню, через яке можна закінчити процес, End Process, можна «вбити» сам процес і решту, які він «породив», End Process Tree. Можна виставити пріоритет процесу, від найвищого RealTime до найнижчого, Low. Якщо на машині встановлено два процесори і багатопроцесорне ядро, то в цьому меню з'являється ще один пункт Set Affinity, який дозволяє перевести процес на інший процесор, Сpu 0, Cpu l, і так далі до Срі31.

Остання закладка Task Manager - Applications, дозволяє переглянути список працюючих програм та завершити будь-яку з них. Task Manager дозволяє не тільки завершувати програми, він може також запускати нові програми. File -> New task (Run).

Active Directory -це новий засіб управління користувачами та мережевими ресурсами. Воно покликане полегшити роботу адміністраторам великих мереж на базі W2k і довкола нього будується вся система управління мережею та її безпеки. Для встановлення Active Directory необхідно мати W2k Server. W2kPro може працювати в Active Directory, але не може створювати його. Active Directory будується на таких принципах:

1. Єдина реєстрація у мережі. Завдяки технології IntelliMirror можна підійти до будь-якого комп'ютера в офісі, ввести свій пароль

і перед вами буде ваш робочий стіл, ваші документи та ваші налаштування.

2. Безпека інформації. У службі Active Directory вбудовано засоби ідентифікації користувача. Для кожного об'єкта в мережі можна централізовано виставляти права доступу залежно від груп та конкретних користувачів. Завдяки системі безпеки Kerberos можна здійснювати захищений зв'язок навіть по відкритих мережах, таких як Інтернет. При цьому дані, що передаються мережею, шифруються, а паролі не передаються і не зберігаються на клієнтських машинах. Система безпеки Kerberos (називається на ім'я міфічного триголового пса, який, згідно з грецькою міфологією, охороняв пекельну браму) відома досить давно, але в ОС від Microsoft вона використовується вперше. Якщо не вдаватися до подробиць, то працює ця система так:

Клієнт надсилає запит серверу аутентифікації на дозволи доступу до потрібної інформації;

Сервер перевіряє права клієнта та надсилає йому дозвіл на отримання необхідної інформації, зашифроване за допомогою відомого клієнта ключа, і заразом відсилає тимчасовий ключ шифрування. За допомогою цього ключа шифрується вся передана інформація, причому час життя ключа обмежений, тому сервер аутентифікації час від часу надсилає новий ключ (природно, новий ключ зашифрований за допомогою поточного ключа), який невідомий нікому, крім сервера та клієнта. Регулярна зміна ключів шифрування дуже ускладнює життя зловмисникам, що полюють на ваші дані.

Однак, як ми всі пам'ятаємо, у грецькому міфі Kerberos не зміг протистояти могутньому Гераклові. Так і в нашому випадку, незважаючи на всі переваги, система безпеки Kerberos не може протистояти всім видам атак. Наприклад, можна засипати програму хибними запитами, так звана атака Deny of service, що може призвести до того, що програма не буде використовувати протокол Kerberos.

3. Централізоване управління. При використанні служби Active Directory адміністратор відпадає необхідності вручну конфігурувати кожну машину, якщо, наприклад, необхідно змінити права доступу до якогось одного об'єкта або встановити новий мережний принтер. Такі зміни можна робити відразу для всієї мережі.

4 . Гнучкий інтерфейс. Структури каталогів змінюються швидко та легко. Наприклад, можна створити каталог своєї фірми, виділити в окремі підкаталоги бухгалтерію, відділи маркетингу, секретаріат і подати все це у вигляді деревоподібної структури. Або, наприклад, створити кілька дерев, які представляють різні офіси в різних будинках або регіонах і легко задати зв'язок і права доступу між ними. Підключити мережевий принтер до директорії бухгалтерів одним рухом миші. (При цьому драйвери встановляться на ці комп'ютери автоматично.) Або мишею перетягнути весь бухгалтерський відділ з одного сервера на інший, з усіма їхніми правами, папками та документами.

5. Інтеграція з DNS. Завдяки тісній інтеграції з DNS в Active Directory у локальній мережі використовуються ті ж імена ресурсів, що і в Інтернет, що призводить до меншої плутанини та сприяє більш тісній взаємодії локальної та глобальної мережі.

6. Масштабованість. Декілька доменів Active Directory можуть бути об'єднані разом під одним керуванням.

7. Простота пошуку. У домені Active Directory різні об'єкти можна знаходити за різними ознаками, такими як ім'я користувача або комп'ютера, адреса електронної пошти користувача і т.д.

DFS (Distributed File System)- один із інструментів Active Directory. Він дозволяє створювати мережеві ресурси, які можуть входити безліч файлових систем на різних машинах. Для користувача Active Directory це абсолютно прозоро і не має жодного значення, де і на яких машинах фізично розташовані файли, з якими він працює, - для нього вони всі розташовані в одному місці. Крім того, при використанні DFS та Active Directory спрощується керування такими ресурсами. Воно централізоване, можна просто і безболісно додавати нові ресурси або видаляти старі, змінювати фізичне розташування файлів, що входять в DFS, і т.д.