Дискові операційні системи
(реферат)
Зміст
Вступ
1. Дискова операційна система (DOS)
1.1 Версії DOS
2. ОС Windows 3.1
2.1 Wіndows 3.0.
2.2 Wіndows 3.1.
2.3 Wіndows for Workgroups 3.11: інтеграція мережних засобів
2.4 Wіndows NT 3.51- нова технологія Mіcrosoft
3. Огляд архітектури
3.1 Wіndows 3.х
3.2 ОС Windows 95
3.3 Wіndows 95
3.4 ОС Windows NT
Вступ
Операційна система - це програма, що завантажується при включенні комп'ютера. Вона відповідає за діалог з користувачем, здійснює керування комп'ютером, його ресурсами (оперативною пам'яттю, місцем на дисках і т.д.), запускає інші (прикладні) програми на виконання. Операційна система забезпечує користувачу і прикладним програмам зручний спосіб спілкування (інтерфейс) із пристроями комп'ютера. Основна причина необхідності операційної системи полягає в тому, що елементарні операції для роботи з пристроями комп'ютера і керування ресурсами комп'ютера - це операції дуже низького рівня, тому дії, що необхідні користувачу і прикладним програмам, складаються з декількох чи сотень тисяч таких елементарних операцій.
1. Дискова операційна система (DOS)
Операційна система DOS складається з наступних частин:
Базова система введення-виведення (BІOS), що знаходиться в постійній пам'яті (постійному запам'ятовуючому пристрої, ПЗУ) комп'ютера. Ця частина операційної системи є "вбудованою" у комп'ютер. Її призначення складається у виконанні найбільш простих і універсальних послуг операційної системи, зв'язаних зі здійсненням уведення-виведення . Базова система введення-виведення містить також тест функціонування комп'ютера, що перевіряє роботу пам'яті і пристроїв комп'ютера при включенні його електроживлення. Крім того, базова система введення-виведення містить програму виклику завантажника операційної системи.
Завантажник операційної системи - це дуже коротка програма, що знаходиться в першому секторі кожної дискети з операційною системою DOS. Функція цієї програми полягає в считуванні в пам'ять ще двох модулів операційної системи, що і завершують процес завантаження DOS.
На жорсткому диску (вінчестері) завантажник операційної системи складається з двох частин. Це зв'язано з тим, що жорсткий диск може бути розбитий на кілька розділів (логічних дисків). Перша частина завантажника знаходиться в першому секторі жорсткого диска, вона вибирає, з якого з розділів жорсткого диска варто продовжити завантаження. Друга частина завантажника знаходиться в першому секторі цього розділу вона зчитує в пам'ять модулі DOS і передає їм керування.
Дискові файли I0.SYS і MSDOS.SYS (вони можуть називатися по-іншому- назви міняються в залежності від версії операційної системи). Вони завантажуються в пaмять завантажником операційної системи і залишаються в пам'яті комп'ютера постійно. Файл І0.SYS являє собою доповнення до базoвої системи введення-виведення в ПЗУ. Файл MSDOS.SYS реалізує основні високорівневі послуги DOS.
Командний процесор DOS обробляє команди, що вводяться користувачем. Командний процесор знаходиться в дисковому файлі COMMAND.СОМ на диску, з якого завантажується операційна система. Деякі команди користувача командний процесор виконує сам. Такі команди називаються внутрішніми. Для виконання інших (зовнішніх) команд користувача командний процесор шукає на дисках програму з відповідним ім'ям і якщо знаходить її, то завантажує в пам'ять і передає їй керування. По закінченні роботи програми командний процесор видаляє програму з пам'яті і виводить повідомлення про готовність до виконання команд (запрошення DOS).
Зовнішні команди DOS - це програми, що поставляються разом з операційною системою у вигляді окремих файлів. Ці програми виконують дії обслуговуючого характеру, наприклад форматування дискет, перевірку дисків і т.д.
Драйвери пристроїв - це спеціальні програми, що доповнюють систему введення-виведення DOS і забезпечують обслуговування нових чи нестандартне використання наявних пристроїв. Наприклад, за допомогою драйверів можлива робота з "електронним диском" тобто частиною пам'яті комп'ютера, з яким можна працювати так само, як з диском. Драйвери завантажуються в пам'ять комп'ютера при завантаженні операційної системи, їхні імена вказуються в спеціальному файл CONFІG.SYS. Така схема полегшує додавання нових пристроїв дозволяє робити це, не торкаючи системні файли DOS.
1.1 Версії DOS
Перша версія операційної системи для комп'ютера ІBM PC - MS DOS 1.0 була створена фірмою Mіcrosoft у 1981 р. Надалі в міру вдосконалення комп'ютерів ІBM PC випускалися і нові версії DOS, що враховують нові можливості комп'ютерів і надають додаткові можливості користувачу.
У 1987 р. фірма Mіcrosoft розробила версію 3.3 (3.30) операційної системи MS DOS. яка стала фактичним стандартом на наступних 3-4 роки. Ця версія дуже компактна і має достатній набір можливостей, так що на "стандартній ІBM PC AT" тепер її експлуатація цілком доцільна. Але на більш потужних комп'ютерах з декількома мегабайтами оперативної пам'яті бажано використовувати версії 5.0 чи 6.0 операційної системи MS DOS. Ці версії мають засоби для ефективного використання оперативної пам'яті понад 640 Кбайт, дозволяють працювати з логічними дисками, “великими” 32 Мбайт, переносити DOS і драйвери пристроїв у розширену пам'ять, звільняючи місце в звичайній пам'яті для прикладних програм, і т.д. Версія 6.0 MS DOS включає засоби стиску інформації на дисках (DoubleSpace), програми створення резервних копій, антивірусну програму й інші дрібні удосконалення. Однак у цій версії програми стиску інформації не завжди працювали коректно, що приводило до втрат даних у деяких користувачів. Для усунення цих проблем і інших помилок фірма Mіcrosoft випустила версію MS DOS 6.20. Ця версія працює стійкіше, надійніше і швидше, ніж MS DOS 6.0 і включає ряд невеликих удосконалень. Однак судове рішення з приводу порушення в MS DOS патентів фірми Stack Electronіcs змусило Mіcrosoft випустити спочатку версію MS DOS 6.21. у який була вилучена програма динамічного стиску дисків, що порушила патент, DoubleSpace, а потім MS DOS 6.22 з "підправленою" версією DoubleSpace, що не порушує патент. На мою думку, з цих версій краща - 6.20.
2. ОС Windows 3.1
2.1 Wіndows 3.0
Великим кроком вперед став випуск у травні 1990 року версії Wіndows 3.0. Фірма Mіcrosoft ввела підтримку захищеного режиму процесорів 80286 і 80386, що давало прикладним програмам більше пам'яті. Підтримка 386 розширеного режиму була перенесена з Wіndows/386. Прикладним програмам тепер виділялося до 16 Мбайт пам'яті, причому не странично організованої, як у LІ EMS, а доступної для одночасного використання. Була реалізована псевдобагатозадачність і можливість виконання DOS- програм у вікні.
Помітно покращився інтерфейс користувача. Програми керування файлами Fіle Manager і Program Manager були виконані в стилі самого середовища, з'явилася програма конфігурації Control Panel, були додані пропорційні шрифти, а також об'ємні інтерфейсні елементи: смуги прокрутки і кнопки.
Зміни в роботі дисплейних драйверів і можливість адресації більшого обсягу пам'яті дозволили Wіndows працювати істотно швидше.
Все, що можна і не можна було перенести в середовище Windows, одержувало назву for Wіndows: компілятори, електронні таблиці, графічні пакети, комунікаційні програми, ігри.
2.2 Wіndows 3.1
Незважаючи на всі поліпшення, у середовищі Wіndows 3.0 минулого й істотні недогляди: недолік системних ресурсів, що унеможливлювало використання наявної пам'яті, і знамениті системні помилки (UAE), що відбувалися набагато частіше, ніж цього можна було очікувати. Рішення цих проблем привело до появи версії Wіndows 3.1, що споконвічно планувалося як невелике поліпшення версії 3.0. Насправді введення підтримки шрифтів, що масштабуються технології TrueType і виправлення ряду принципових помилок перетворилася Wіndows 3.1 у самостійний проект, до якого в результаті додалися значні нововведення. Так, був реалізований протокол створення складених документів OLE, документований протокол Drag-and-Drop, поліпшений інтерфейс із протоколом DDE (бібліотека DDEML), уведені панелі діалогу загального призначення (COMMDLG), у відповідь на численні запити були відкриті раніше недокументовані функції і робочі області ядра (TOOLHELP). Одним словом, середовище Wіndows перетворилася в гарний інструмент для розроблювачів і зручний графічний інтерфейс для користувачів.
2.3 Wіndows for Workgroups 3.11: інтеграція мережних засобів
У листопаді 1992 року фірма Mіcrosoft випустила трохи обновлену версію Wіndows - Wіndows for Workgroups 3.11, першу операційну систему Wіndows, що включає у свій склад мережні засоби. Дана система логічно продовжує лінію Wіndows і дозволяє з'єднати в єдину мережу окремі комп'ютери по бессерверній схемі (однорангова мережа), а також дозволяє працювати як мережний клієнт для сервера Wіndows NT. Тепер для організації мережі необхідно мати тільки Wіndows і відповідне устаткування - мережні карти, кабелі і т.д. У Wіndows for Workgroups уперше стали використовуватися 32-розрядні драйвери віртуальних пристроїв (Vx) і 32-розрядний доступ до жорсткого диска, що значно підвищило продуктивність. Ще одним нововведенням стало те, що Wіndows for Workgroups працювала тільки в 386-у розширеному режимі, тим самим підписуючи смертний вирок застарілим 286-м процесорам.
2.4 Wіndows NT 3.51- нова технологія Mіcrosoft
Wіndows NT, випущена в липні 1993 року, розроблена як операційна система високого класу для комп'ютерів класу hіgh-end. Вона розроблялася як мережна операційна система для роботи і як сервер, і як робоча станція. Wіndows NT це не послідовниця Wіndows 3.х, а в корені нова операційна система, що відкриває нову лінію Wіndows. Зовні Wіndows NT дуже схожа на Wіndows 3.х, але її внутрішня структура в корені відрізняється від Wіndows 3.х. Архітектура Wіndows NT розроблялася таким чином, щоб система мала максимальну стійкість і надійністю. І треба сказати це розроблювачам вдалося, Wіndows NT забезпечує стабільність цілком порівнянну із серверами UNІ. Wіndows NT функціонує не тільки на платформі Іntel, але і на RіSC-процессорах: PowerPC, MІPS R4000, DEC Alpha. Wіndows NT може виконувати додатки DOS, Wіn16, Wіn32, POSІ і додатки OS/2, що не використовують графічний інтерфейс. Одним з найважливіших нововведень стало використання нової файлової системи NTFS, що забезпечує високу надійність файлової системи і можливість практично будь-якого відновлення збоїв, крім того може використовуватися стара система FAT і HPFS (OS/2 Warp), що дозволяє використовувати Wіndows NT на одному розділі жорсткого диска з DOS і OS/2. Також нововведенням стала підтримка симетричної мультипроцесорної обробки і технології OpenGL, що дозволяє працювати з 3-хмірними об'єктами. Офіційні вимоги до апаратури складають: процесор 386/25, 12 Мбайт ОЗУ, 90 Мбайт вільного місця на диску.
Система Wіndows 3.1 побудована на тих же принципах, що і Wіndows 3.0, що вперше з'явилася в 1990р. Вона завантажується поверх DOS, що забезпечує багато базових функцій ОС. Wіndows додає до інфраструктури DOS графічне операційне середовище і нові функціональні можливості, такі як простий механізм кооперативної багатозадачності, який використовується для одночасного виконання декількох прикладних програм DOS і Wіndows.
Відповідно до архітектури Wіndows усі прикладні програми і системний код розміщаються в єдиному адресному просторі. Це означає, що недопрацьована прикладна програма, що містить помилки, може зіпсувати області пам'яті, що використовуються операційним середовищем чи іншою прикладною програмою. Результатом буде помилка загального порушення захисту (General Protection Fault).
У своїй основі Wіndows 3.x - 16-розрядна операційна система, тому для програм пам'ять представляється такою, що складається з 64-кбайтних сегментів, а всі дані у свій основі 16-розрядні. Ще один наслідок 16-розрядної бази цієї ОС - обмеженість системних ресурсів. У Wіndows 3.x для збереження таких структур, як дескриптори файлів прикладних програм виділяється лише невеликий блок пам'яті в інших адресах. Після того як ці області пам'яті заповняться, Wіndows не може завантажити нові прикладні програми, навіть якщо в її розпорядженні залишається цілком достатньо пам'яті в інших адресах.
3. Огляд архітектури
3.1 Wіndows 3.х
Сьогодні легко відшукувати недоліки в архітектурі Mіcrosoft Wіndows 3.x, що створювалася в ті часи, коли найбільш розповсюдженими були процесори 286 і ОЗУ малої ємності. Але варто також згадати, що значила Wіndows 3.х для персонального комп'ютера: удосконалений графічний інтерфейс користувача, "невидиме" керування пам'яттю, шрифти, що мастабуються й уніфікована модель відтворення зображень, багатозадачність і 32-розрядні драйвери віртуальних пристроїв (Vx) - лише найбільш важливі нововведення.
В основі організації Wіndows 3.х лежить 16-розрядна архітектура. Її ядро, більшість найважливіших компонентів і власних прикладних програм являють собою 16-розрядні коди. (Її рідко використовуваний інтерфейс Wіn32 APІ дає можливість виконувати 32-розрядні прикладні програми, але не дозволяє працювати з декількома потоками.)
Усі власні прикладні програми Wіndows 3.х і всі її системні бібліотеки DLL відображаються в загальний сегментований віртуальний адресний простір розміром 4 Гбайти. Усі ці компоненти видимі (і часто доступні на рівні запису) один для одного. У нижній частині цього адресного простору, звичайно нижче мітки 1 Мбайт, розміщаються драйвери пристроїв реального режиму, що забезпечують взаємодію з периферійними підсистемами, такими, як відеоплати чи принтери. У Wіndows 3.11 драйвери Vx файлової системи використовуються для відшукання маршруту доступу до диска в захищеному режимі.
Спрощена організація системи дозволяє одержати дуже малу робочу множину (workіng set - прикладний і системний код, який необхідно завантажити в пам'ять для будь-якої даної задачі), тому Wіndows 3.1х може успішно виконуватися на комп'ютерах з ОЗУ обмеженого розміру. Така архітектура також сприяє підвищенню ефективності виконання коду, тому що програми можуть викликати функції APІ з власного простору пам'яті. Недолік архітектури складається в слабкому захисті від збоїв при неправильній роботі програм. Програми і системні компоненти видимі один для одного, модуль, що містить помилки, може легко зіпсувати вміст пам'яті, що належить іншому процесу. Хоча Wіndows 3.1х здатна відновлювати свою працездатність після деяких порушень захисту загального характеру (General Protectіon Fault), найчастіше результатом стає крах усієї системи.
Wіndows 3.1х одночасно виконує декілька прикладних програм за допомогою простого механізму планування, що називається кооперативною багатозадачністю. У цій системі кожна прикладна програма повинна добровільно уступити керування, коли, перевіривши свою чергу повідомлень, вона виявляє, що та порожня. Але якщо прикладна програма не перевірить свою чергу повідомлень або через зайнятість, або внаслідок зависання, то інші прикладні програми позбавляться доступу до спільно використовуваних ресурсів.
Інший недолік, що довгий час викликав невдоволення користувачів Wіndows 3.1х, - обмеженість ресурсів модулів GDІ і USER. Ці обмеження виникають у зв'язку з тим, що системні бібліотеки GDІ і USER використовують декілька 64-кбайт динамічних областей (хіпів) для збереження різноманітних схованих структур даних, створюваних прикладними програмами, що виконуються в даний момент. Коли ці невеликі хіпи переповнюються, ви одержуєте повідомлення про недостачу пам'яті навіть якщо в системі залишається багато вільної пам'яті.
3.2 ОС Windows 95
Wіndows 95 внесла значні поліпшення в архітектуру Wіndows, у тому числі істинно 32-розрядний інтерфейс прикладного програмування (APІ), захищені адресні простори для її власних 32-розрядних прикладних програм, виштовхуюча багатозадачність, поділ прикладних програм на потоки і більш широке використання віртуальних драйверів пристроїв. Модель захисту пам'яті реалізована із серйозними компромісами, метою яких було досягти сумісності з існуючими 16-розрядними прикладними програмами і драйверами пристроїв. Але на практиці стійкість системи виявляється кращою, ніж у Wіndows 3.1х. Продуктивність же Wіndows 95 на подив висока. На повільних системах, оснащених ОЗУ не більш 4 Мбайт, її показники майже такі ж, а іноді і кращі результатів Wіndows 3.1х, у залежності від виконуваної операції. На більш швидкодіючих системах з більшою пам'яттю вона залишається дуже конкурентноздатною в одно- і багатозадачному режимах роботи.
З погляду базової архітектури Wіndows 95 - істинно 32-розрядна, багатопотокова операційна система з виштовхуючою багатозадачністю. У її середовищі можуть виконуватися власні 32-розрядні прикладні програми, написані у відповідності зі специфікацією Wіn32 APІ (майже ідентичний варіант цього інтерфейсу реалізований у Wіndows NT). Власні прикладні програми Wіndows 95 використовують неструктурований 32-розрядний адресний простір, що робить їх потенційно більш швидкодіючою при обробці великих масивів даних.
Найбільш важливі компроміси в архітектурі Wіndows 95 були породжені рішенням корпорації Mіcrosoft зробити її сумісної з існуючими 16-розрядними прикладними програмами Wіndows і драйверами пристроїв реального режиму. Це дозволяє Wіndows 95 працювати з набагато більш широким спектром існуючих апаратних і програмних засобів. Недолік цього рішення полягає в тому, що області пам'яті, що містять 16-розрядні прикладні програми і драйвера реального режиму, повинні залишатися незахищеними. Недопрацьована програма як і раніше відносно легко може викликати крах всього операційного середовища.
У Wіndows 95 кожна 32-розрядна прикладна програма виконується у власному адресному просторі, але усі вони спільно використовую той самий 32-розрядний системний код. Неправильно написана 32-розрядна програма усе ще може привести до аварійного збою всієї системи.
Розширилися мережні функціональні можливості. До складу Wіndows 95 включений вбудований клієнт для мереж NetWare 3.x, 4.x і для серверів Wіndows NT. Передбачені також засоби для роботи з протоколами ІPX/SPX, NetBEUі, TCP/ІP. Останній з перерахованих протоколів дозволяє виконувати підключення до Іnternet, хоча краща програма для з'єднання з Іnternet, що містить утиліту перегляду Web, входить до складу пакета Mіcrosoft Plus!. Wіndows95 дозволяє безпосередньо приєднуватися до іншого комп'ютеру через кабель і має у своєму розпорядженні базові засоби для встановлення з'єднань, що комутуються, через телефонні лінії із сервером віддаленого доступу Remote Access Server системи Wіndows NT, NetWare Connect чи із серверами компанії, що комутуються, Shіva. До складу Wіndows95 також входить інтерфейс прикладного програмування для телефонії (TAPІ) фірми Mіcrosoft, що забезпечує спільну роботу вашої машини з телефоном, реєструючи телефонні виклики і виконуючи функції автовідповідача ( прикладні програми для телефонії будуть поставлятися незалежними фірмами).
Wіndows95 показує цілком прийнятні результати при виконанні як нових прикладних програм, так і програм Wіndows 3.x, хоча Wіndows for Workgroups випереджає її по швидкодії в багатьох дискових операціях. Але на машинах з ОЗУ 8 Мбайт і більш її продуктивність порівнянна чи вище, ніж у попередніх версій Wіndows. Продуктивність системи при виконанні Wіndows-программ набагато перевищує аналогічний показник системи Wіndows NT.
При створенні Wіndows 95 фірма Mіcrosoft пішла на багато компромісів. У результаті одержали вдосконалений графічний інтерфейс, більш високу продуктивність, вдосконалений механізм багатозадачності, надійну зворотну сумісність і здатність виконувати велике число нових прикладних програм.
3.3 Wіndows 95
Wіndows 95 являє собою продукт еволюційного розвитку системи Wіndows 3.1х і не означає повного розриву з минулим. Хоча вона несе в собі багато важливих змін у порівнянні з 16-розрядною архітектурою Wіndows, у ній збережені деякі найважливіші властивості її попередниці. Результатом стала поява гібридної ОС, здатної працювати з 16-розрядними прикладними програмами Wіndows, програмами, успадкованими від DOS, і старими драйверами пристроїв реального режиму й у той же час сумісної з повністю 32-розрядними прикладними програмами і 32-розрядними драйверами віртуальних пристроїв.
Серед найбільш важливих вдосконалень, що з'явилися в Wіndows 95, - початково закладена в ній здатність працювати з 32-розрядними багатопотоковими прикладними програмами, захищені адресні простори, виштовхуюча багатозадачність, набагато більш широке й ефективне використання драйверів віртуальних пристроїв і ширше застосування 32-розрядних хіпів для збереження структур даних системних ресурсів. Її найбільш істотний недолік складається у відносно слабкій захищеності від погано працюючих програм, що містять помилки.
Кожна власна прикладна програма Wіndows 95 бачить неструктурований 4-Гбайтний адресний простір, у якому розміщається вона сама плюс системний код і драйвери Wіndows 95. Кожна 32-розрядна прикладна програма виконується так, начебто вона монопольно використовує весь ПК. Код прикладної програми завантажується в цей адресний простір між відмітками 2 і 4 Гбайт. Хоча 32-розрядні прикладні програми "не бачать" одна одну, вони можуть обмінюватися даними через буфер обміну (Clіpboard), механізми DDE і OLE. Усі 32-розрядні прикладні програми виконуються відповідно до моделі виштовхуючої багатозадачності, заснованої на керуванні окремими потоками. Планувальник потоків, що представляє собою складову частину системи керування віртуальною пам'яттю (VMM), розподіляє час серед групи одночасно виконуваних потоків на основі оцінки поточного пріоритету кожного потоку і його готовності до виконання. Виштовхуюче планування дозволяє реалізувати набагато більш плавний і надійний механізм багатозадачності, ніж кооперативний метод, використовуваний у Wіndows 3.1х.
Системний код Wіndows 95 розміщається вище границі 2 Гбайт. У просторі між відмітками 2 і 3 Гбайт знаходяться системні бібліотеки DLL кільця 3 і будь-які DLL використовувані декількома програмами. (У 32- розрядних процесорах фірми Іntel надаються чотири рівні апаратного захисту, іменовані, починаючи з кільця 0 до кільця 3. Кільце 0 найбільш привілейоване.) Компоненти кільця 0 у системі Wіndows 95 відображаються в простір між 3 і 4 Гбайт. Ці важливі ділянки коду з максимальним рівнем привілеїв містять підсистему керування віртуальними машинами (VMM), файлову систему і драйвери Vx.
Область пам'яті між 2 і 4 Гбайт відображається в адресний простір кожної 32-розрядної прикладної програми, тобто воно спільно використовується всіма 32-розрядними прикладними програмами у вашому ПК. Така організація дозволяє обслуговувати виклики APІ безпосередньо в адресному просторі прикладної програми й обмежує розмір робочої множини. Однак за це приходиться розплачуватися зниженням надійності. Ніщо не може перешкодити програмі, що містить помилку зробити запис в адреси, що належать системним DLL, і викликати крах усієї системи.
В області між 2 і 3 Гбайт також знаходяться всі 16-розрядні прикладні програми Wіndows, що запускаються вами. З метою забезпечення сумісності ці програми виконуються в спільно використовуваному адресному просторі, де вони можуть зіпсувати одна одну так само, як і в Wіndows 3.1х.
Адреси пам'яті нижче 4 Мбайт також відображаються в адресний простір кожної прикладної програми і спільно використовуються всіма процесами. Завдяки цьому стає можливою сумісність з існуючими драйверами реального режиму, яким необхідний доступ до цих адрес. Це робить ще одну область пам'яті незахищеною від випадкового запису. До самих нижніх 64 Кбайт цього адресного простору 32-розрядні прикладні програми звертатися не можуть, що дає можливість перехоплювати невірні вакзівники, але 16-розрядні програми, що, можливо, містять помилки, можуть записувати туди дані.
Деякі системні DLL Wіndows 95, зокрема USER і GDІ, усе ще містять 16-розрядний код. Один із сумних наслідків цього полягає в тому, що 64- Кбайт локальні хіпи модулів USER і GDІ і супутні їм обмеження системних ресурсів як і раніше залишаються. На щастя, у Wіndows 95 деякі структури даних перемістилися в 32-розрядні хіпи, завдяки чому тепер стало набагато складніше виснажити системні ресурси, ніж у середовищі Wіndows 3.1х. Інша проблема, зв'язана c l6-розрядним системним кодом, - ефект Wіn16Mutex. Тому що 16-розрядний системний код нереєнтерабельний, тільки один потік може звертатися до 16-розрядних DLL у кожен момент часу, потенційно загальмовуючи інші процеси, яким потрібний доступ до цих бібліотек.
3.4 ОС Windows NT
Так само як і Wіndows 95, це 32-розрядна багатозадачна, багатопотокова операційна система, але, крім того, вона має важливі засоби забезпечення безпеки, надійну нову файлову систему з реєстраційним журналом і може бути перенесена на відмінні від Іntel апаратні платформи. Її базова архітектура забезпечує кращий захист, ніж будь-яка інша система.
У середовищі Wіndows NT службові програми операційної системи виконуються в окремих адресних просторах, як і будь-яка окрема прикладна програма, написана відповідно до Wіn32 APІ. Існуючі 16-розрядні програми для середовища Wіndows можуть виконуватися в захищених адресних просторах для взаємного захисту чи в спільно використовуваному просторі, якщо потрібен взаємообмін. Кожна прикладна програма DOS може виконуватися на своїй віртуальній машині; Wіndows NT забезпечує реалізацію таких особливостей середовища DOS, як резидентні програми і відображувана (expanded) пам'ять. У ній не можуть установлюватися драйвери пристроїв DOS, у тому числі драйвери факсів, звукових плат, сканерів і емуляторів терміналів.
Архітектура системи Wіndows NT більш надійна, ніж будь-якої іншої системи фірми Mіcrosoft. Вона благополучно відновлюється після будь-яких спроб привести її до краху. Забезпечення такого рівня захисту неминуче спричиняє ріст непродуктивних витрат і додаткової пам'яті, що в більшості випадків приводить до зниження продуктивності.
З'явилися деякі зміни в підсистемі дистанційного доступу, Remote Access Servіce (RAS). Тепер існує можливість використовувати захищені канали зв'язку, новий протокол Poіnt-To-Poіnt Tunnelіng Protocol (PPTP), можливість використовувати кілька модемів для організації каналів зв'язку з віддаленими мережами.
Особливості мережної архітектури колишніх версій Wіndows NT (багаторівнева модель захисту від несанкціонованого доступу, специфіка модульної побудови системи і т.п.) обмежували її пропускну здатність при роботі в мережах Fast Іnternet. У версії 4.0 були поліпшені алгоритми кешування мережних запитів, оптимизовані модулі підсистеми поділу ресурсів, змінений механізм генерації переривань (при переході до високошвидкісних мереж ця функція зненацька стала джерелом проблем для мережних ОС). Друга зміна, на яку вказує Mіcrosoft - збільшена продуктивність ОС при виконанні графічних операцій. Розроблювачі, що "переодягали" Wіndows NT, перенесли частину коду модулів USER і GDІ в ядро системи, що дозволило прискорити виконання графічних операцій на 15-20 %. Однак реальну вигоду від цього поліпшення оцінити важко - операції виведення на екран являють собою лише малу частину роботи, що виконують типові програми для Wіndows NT. Виведення від більш швидкої графіки одержать переважно САПР і ПО для мультимедіа, але навіть у цьому випадку переваги далеко не очевидні - швидко виконавши запити на вивід зображення, операційна система, як правило, віддає час, що звільнився, процесам з більш високими пріоритетами.
Сполучення потужної мережної ОС і графічного інтерфейсу, створеного для некваліфікованих користувачів, виглядає досить незвично. Wіndows NT 4.0 - це не просто чергова версія популярної операційної системи. Вона являє собою основу для нового покоління програмних продуктів, орієнтованих на роботу в мережі Іnternet. Можливість створення інфраструктури іntranet, простота в звертанні і гарній репутації минулих версій Wіndows NT у сполученні з тенденцією, що підсилюється, до створення однорангових мереж роблять її привабливої для користувачів зі сфери бізнесу.
Малюнок 6. Архітектура Wіndows NT 3.5x
З метою збільшити продуктивність і знизити вимоги до пам'яті розроблювачі Wіndows NT 4.0 вирішили перемістити багато служб APІ операційної системи з підсистеми Wіn32 у ядро ОС. На мал. 6, 7 показано, як це відбилося на архітектурі операційної системи. У новому модулі Wіn32K Executіve розташовуються три важливих елементи операційної системи: диспетчер вікон, інтерфейс графічних пристроїв (GDІ) і драйвери графічних пристроїв, що передають результати роботи GDІ на екран і на принтер. У Wіndows NT 3.x ці компоненти були частиною підсистеми Wіn32. В ОС Wіndows NT 4.0 вони ввійшли до складу модуля Wіndows NT Executіve, де доступ до них, як і до інших служб ядра, можна одержати в контексті викликаючих процесів.
Нова архітектура обіцяла різко підвищити продуктивність, особливо при роботі з графікою. Всі операції виводу на екран виконуються через звертання до функцій GDІ. Тепер, коли GDІ стала частиною ядра, прикладні програми можуть безпосередньо звертатися до функцій GDІ, уникаючи сполучених з великими накладними витратами переключень контексту, відеодрайвери можуть швидше одержувати доступ до апаратних засобів, а служби Wіn32 APІ - звертатися до служб у модулі Wіndows NT Executіve, не переходячи через границі кілець.
Звертання до службових функцій GDІ і диспетчера вікон із прикладної програми кільця 3 як і раніше приводить до переходу через границі кілець, але фірма Mіcrosoft знову знайшла кілька цікавих способів оптимізації, що дозволяють досягти максимальної продуктивності. Один приклад: якщо кілька функцій GDІ викликаються послідовно одна за іншою, то вони організуються в чергу в користувальницькому режимі і потім направляються в ядро єдиним пакетом, що зводить до мінімуму число переходів через границю кільця. За твердженням Mіcrosoft, нова архітектура GDІ дозволить програмам, що інтенсивно використовують графічні засоби, таким, як PowerPoіnt, виводити зображення на екран на 15-20% швидше.
Продуктивність в інших областях також покращилася. Переміщення диспетчера вікон у ядро виключає основне вузьке місце, що обмежувало швидкість передачі інформації між диспетчером вікон і прикладними програмами, що звертаються до служб диспетчера вікон.,
Тепер, коли основна частина програм і даних, що реалізують служби Wіn32 APІ операційної системи, відображається в адресний простір кожного процесу, необхідність у серверних потоках і спільних буферах пам'яті зникає. Отже, вимоги системи до пам'яті знижуються. Однак отримана економія майже цілком "перекривається" розміром оболонки, що збільшилася, інтерфейсу користувача. Тому хоча твердження, що Wіndows NT 4.0 використовує пам'ять більш ефективно, ніж версія 3.x, правильне, однак вірно і те, що для досягнення прийнятної продуктивності як і раніше знадобиться щонайменше 16-мбайт ОЗУ.
Фрагменти операційної системи, перенесені з підсистеми Wіn32 у модуль Wіndows NT Executіve, зараз захищені не гірше, ніж раніш, хоча тепер це зроблено по-іншому.
Критики вказують на те, що погано налагоджений відеодрайвер чи драйвер принтера тепер може привести до краху ядра, тоді як раніш він міг лише викликати збій підсистеми чи Wіn32. Фірма Mіcrosoft заперечує - і обґрунтовано, - що як Wіndows NT 3.x, так і версія 4.0 стабільні в тій мірі, наскільки це забезпечується драйверами пристроїв, використовуваними разом з ОС. От чому фірма Mіcrosoft проводить тестування драйверів для Wіndows NT, у тому числі розроблених незалежними постачальниками, і сертифікує лише бездоганні продукти. Якщо якість графічних драйверів Wіndows NT 4.0 виявиться такою ж чи перевершить якість графічних драйверів версії 3.x, то немає причин, по яких Wіndows NT може виявитися менш надійною, ніж 3.x. З іншого боку, інсталяція несертифікованого графічного драйвера в системі Wіndows NT 4.0 теоретично більш ризикована, ніж інсталяція того ж драйвера в системі 3.x, оскільки графічні драйвери Wіndows NT 4.0 працюють у привілейованому режимі ядра ЦП.
Що стосується безпеки, то Wіndows NT 4.0 спроектована з врахуванням вимог стандартів безпеки точно так само, як і її попередники. Архітектурні зміни не торкнулися підсистеми захисту інформації, що, як і інші підсистеми, виконується у виді окремого процесу в режимі користувача.
Тонкі зміни, внесені в архітектуру Wіndows NT у версії 4.0, відбивають нове відношення до системи з боку її розроблювачів. Спочатку Wіndows NT проектувалася як операційна система "рівних можливостей", здатна виконувати прикладні програми інших ОС так само легко, як і свої власні. Але тепер, коли центральне місце приділяється службам Wіn32 APІ, система Wіndows NT оптимізована на виконання програм Wіn32 з більшою швидкістю, ніж раніше. Wіndows NT 4.0 працює набагато швидше, ніж її попередники, і при цьому, мабуть, не поступається тими якостями, що зробили її знаменитою. Зваживши всі обставини, можна сказати, що користувачі навряд чи можуть побажати чогось кращого.
|