Смекни!
smekni.com

Сутність та принципи роботи ЕОМ (стр. 6 из 12)

Windows95 показує цiлком прийнятнi результати при виконаннi як нових прикладних програм, так i програм Windows 3.x, хоча Windows for Workgroups випереджає її по швидкодiї в багатьох дискових операцiях. Але на машинах з ОЗУ 8 Мбайт i бiльш її продуктивнiсть порiвнянна чи вище, нiж у попереднiх версiй Windows. Продуктивнiсть системи при виконаннi Windows-программ набагато перевищує аналогiчний показник системи Windows NT.

При створеннi Windows 95 фiрма Microsoft пiшла на багато компромiсiв. У результатi одержали вдосконалений графiчний iнтерфейс, бiльш високу продуктивнiсть, вдосконалений механiзм багатозадачностi, надiйну зворотну сумiснiсть i здатнiсть виконувати велике число нових прикладних програм.

WINDOWS 95

Windows 95 являє собою продукт еволюцiйного розвитку системи Windows 3.1х i не означає повного розриву з минулим. Хоча вона несе в собi багато важливих змiн у порiвняннi з 16-розрядною архiтектурою Windows, у нiй збереженi деякi найважливiшi властивостi її попередницi. Результатом стала поява гiбридної ОС, здатної працювати з 16-розрядними прикладними програмами Windows, програмами, успадкованими вiд DOS, i старими драйверами пристроїв реального режиму й у той же час сумiсної з повнiстю 32-розрядними прикладними програмами i 32-розрядними драйверами вiртуальних пристроїв.

Серед найбiльш важливих вдосконалень, що з'явилися в Windows 95, - початково закладена в нiй здатнiсть працювати з 32-розрядними багатопотоковими прикладними програмами, захищенi адреснi простори, виштовхуюча багатозадачнiсть, набагато бiльш широке й ефективне використання драйверiв вiртуальних пристроїв i ширше застосування 32-розрядних хiпiв для збереження структур даних системних ресурсiв. Її найбiльш iстотний недолiк складається у вiдносно слабкiй захищеностi вiд погано працюючих програм, що мiстять помилки.

Кожна власна прикладна програма Windows 95 бачить неструктурований 4-Гбайтний адресний простiр, у якому розмiщається вона сама плюс системний код i драйвери Windows 95. Кожна 32-розрядна прикладна програма виконується так, начебто вона монопольно використовує весь ПК. Код прикладної програми завантажується в цей адресний простiр мiж вiдмiтками 2 i 4 Гбайт. Хоча 32-розряднi прикладнi програми "не бачать" одна одну, вони можуть обмiнюватися даними через буфер обмiну (Clipboard), механiзми DDE i OLE. Усi 32-розряднi прикладнi програми виконуються вiдповiдно до моделi виштовхуючої багатозадачностi, заснованої на керуваннi окремими потоками. Планувальник потокiв, що представляє собою складову частину системи керування вiртуальною пам'яттю (VMM), розподiляє час серед групи одночасно виконуваних потокiв на основi оцiнки поточного прiоритету кожного потоку i його готовностi до виконання. Виштовхуюче планування дозволяє реалiзувати набагато бiльш плавний i надiйний механiзм багатозадачностi, нiж кооперативний метод, використовуваний у Windows 3.1х.

Системний код Windows 95 розмiщається вище границi 2 Гбайт. У просторi мiж вiдмiтками 2 i 3 Гбайт знаходяться системнi бiблiотеки DLL кiльця 3 i будь-якi DLL використовуванi декiлькома програмами. (У 32- розрядних процесорах фiрми Intel надаються чотири рiвнi апаратного захисту, iменованi, починаючи з кiльця 0 до кiльця 3. Кiльце 0 найбiльш привiлейоване.) Компоненти кiльця 0 у системi Windows 95 вiдображаються в простiр мiж 3 i 4 Гбайт. Цi важливi дiлянки коду з максимальним рiвнем привiлеїв мiстять пiдсистему керування вiртуальними машинами (VMM), файлову систему i драйвери Vx.

Область пам'ятi мiж 2 i 4 Гбайт вiдображається в адресний простiр кожної 32-розрядної прикладної програми, тобто воно спiльно використовується всiма 32-розрядними прикладними програмами у вашому ПК. Така органiзацiя дозволяє обслуговувати виклики API безпосередньо в адресному просторi прикладної програми й обмежує розмiр робочої множини. Однак за це приходиться розплачуватися зниженням надiйностi. Нiщо не може перешкодити програмi, що мiстить помилку зробити запис в адреси, що належать системним DLL, i викликати крах усiєї системи.

В областi мiж 2 i 3 Гбайт також знаходяться всi 16-розряднi прикладнi програми Windows, що запускаються вами. З метою забезпечення сумiсностi цi програми виконуються в спiльно використовуваному адресному просторi, де вони можуть зiпсувати одна одну так само, як i в Windows 3.1х.

Адреси пам'ятi нижче 4 Мбайт також вiдображаються в адресний простiр кожної прикладної програми i спiльно використовуються всiма процесами. Завдяки цьому стає можливою сумiснiсть з iснуючими драйверами реального режиму, яким необхiдний доступ до цих адрес. Це робить ще одну область пам'ятi незахищеною вiд випадкового запису. До самих нижнiх 64 Кбайт цього адресного простору 32-розряднi прикладнi програми звертатися не можуть, що дає можливiсть перехоплювати невiрнi вакзiвники, але 16-розряднi програми, що, можливо, мiстять помилки, можуть записувати туди данi.

Деякi системнi DLL Windows 95, зокрема USER i GDI, усе ще мiстять 16-розрядний код. Один iз сумних наслiдкiв цього полягає в тому, що 64- Кбайт локальнi хiпи модулiв USER i GDI i супутнi їм обмеження системних ресурсiв як i ранiше залишаються. На щастя, у Windows 95 деякi структури даних перемiстилися в 32-розряднi хiпи, завдяки чому тепер стало набагато складнiше виснажити системнi ресурси, нiж у середовищi Windows 3.1х. Iнша проблема, зв'язана c l6-розрядним системним кодом, - ефект Win16Mutex. Тому що 16-розрядний системний код нереєнтерабельний, тiльки один потiк може звертатися до 16-розрядних DLL у кожен момент часу, потенцiйно загальмовуючи iншi процеси, яким потрiбний доступ до цих бiблiотек.

ОС Windows NT

Так само як i Windows 95, це 32-розрядна багатозадачна, багатопотокова операцiйна система, але, крiм того, вона має важливi засоби забезпечення безпеки, надiйну нову файлову систему з реєстрацiйним журналом i може бути перенесена на вiдмiннi вiд Intel апаратнi платформи. Її базова архiтектура забезпечує кращий захист, нiж будь-яка iнша система.

У середовищi Windows NT службовi програми операцiйної системи виконуються в окремих адресних просторах, як i будь-яка окрема прикладна програма, написана вiдповiдно до Win32 API. Iснуючi 16-розряднi програми для середовища Windows можуть виконуватися в захищених адресних просторах для взаємного захисту чи в спiльно використовуваному просторi, якщо потрiбен взаємообмiн. Кожна прикладна програма DOS може виконуватися на своїй вiртуальнiй машинi; Windows NT забезпечує реалiзацiю таких особливостей середовища DOS, як резидентнi програми i вiдображувана (expanded) пам'ять. У нiй не можуть установлюватися драйвери пристроїв DOS, у тому числi драйвери факсiв, звукових плат, сканерiв i емуляторiв термiналiв.

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

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

Особливостi мережної архiтектури колишнiх версiй Windows NT (багаторiвнева модель захисту вiд несанкцiонованого доступу, специфiка модульної побудови системи i т.п.) обмежували її пропускну здатнiсть при роботi в мережах Fast Internet. У версiї 4.0 були полiпшенi алгоритми кешування мережних запитiв, оптимизованi модулi пiдсистеми подiлу ресурсiв, змiнений механiзм генерацiї переривань (при переходi до високошвидкiсних мереж ця функцiя зненацька стала джерелом проблем для мережних ОС). Друга змiна, на яку вказує Microsoft - збiльшена продуктивнiсть ОС при виконаннi графiчних операцiй. Розроблювачi, що "переодягали" Windows NT, перенесли частину коду модулiв USER i GDI в ядро системи, що дозволило прискорити виконання графiчних операцiй на 15-20 %. Однак реальну вигоду вiд цього полiпшення оцiнити важко - операцiї виведення на екран являють собою лише малу частину роботи, що виконують типовi програми для Windows NT. Виведення вiд бiльш швидкої графiки одержать переважно САПР i ПО для мультимедiа, але навiть у цьому випадку переваги далеко не очевиднi - швидко виконавши запити на вивiд зображення, операцiйна система, як правило, вiддає час, що звiльнився, процесам з бiльш високими прiоритетами.

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

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

З метою збiльшити продуктивнiсть i знизити вимоги до пам'ятi розроблювачi Windows NT 4.0 вирiшили перемiстити багато служб API операцiйної системи з пiдсистеми Win32 у ядро ОС. У новому модулi Win32K Executive розташовуються три важливих елементи операцiйної системи: диспетчер вiкон, iнтерфейс графiчних пристроїв (GDI) i драйвери графiчних пристроїв, що передають результати роботи GDI на екран i на принтер. У Windows NT 3.x цi компоненти були частиною пiдсистеми Win32. В ОС Windows NT 4.0 вони ввiйшли до складу модуля Windows NT Executive, де доступ до них, як i до iнших служб ядра, можна одержати в контекстi викликаючих процесiв.

Нова архiтектура обiцяла рiзко пiдвищити продуктивнiсть, особливо при роботi з графiкою. Всi операцiї виводу на екран виконуються через звертання до функцiй GDI. Тепер, коли GDI стала частиною ядра, прикладнi програми можуть безпосередньо звертатися до функцiй GDI, уникаючи сполучених з великими накладними витратами переключень контексту, вiдеодрайвери можуть швидше одержувати доступ до апаратних засобiв, а служби Win32 API - звертатися до служб у модулi Windows NT Executive, не переходячи через границi кiлець.