Реферат: Дискові операційні системи
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), можливість використовувати кілька модемів для організації каналів зв'язку з віддаленими мережами.