Сутність та принципи роботи ЕОМ

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

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

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йно загальм