WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

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

ГоловнаІнформатика, Компютерні науки → Архітектура Windows NT/2000/XP. DLL - Реферат

Архітектура Windows NT/2000/XP. DLL - Реферат

чужих ресурсів (типу пам'яті) інакше, ніж через застосування спеціальних механізмів спільного використання.
NT також пропонує засоби контролю, які дозволяють адміністраторові фіксувати дії користувачів.
Програмне середовище Wіndows
Розглянемо найважливіші моменти роботи Windows і принципи взаємодії програм із нею.
Інтерфейс викликів функцій у Windows
Завдяки цьому інтерфейсу доступ до системних ресурсів здійснюється через цілий ряд системних функцій. Сукупність таких функцій називається прикладним програмним інтерфейсом, або API (Application Programming Interface). Для взаємодії з Windows програма запитує функції АРІ, за допомогою яких реалізуються всі необхідні системні дії, такі як виділення пам'яті, виведення на екран, створення вікон і т. ін.
Бібліотека MFC інкапсулює багато функцій АРІ.Хоча програмам і дозволено звертатися до них прямо, усе-таки частіше це здійснюється через відповідні функції-члени. Як правило, функції-члени або аналогічні до функцій АРІ, або безпосередньо звертаються до потрібної частини інтерфейсу.
Бібліотеки динамічного завантаження (DLL)
Оскільки АРІ складається з великого числа функцій, може скластися враження, що при компіляції кожної програми, написаної для Windows, до неї підключається код досить значного обсягу. Насправді це не так. Функції АРІ знаходяться в бібліотеках динамічного завантаження (Dynamic Link Libraries, або DLL), які завантажуються в пам'ять тільки в той момент, коли до них надходить запит, тобто при виконанні програми. Розглянемо, як здійснюється механізм динамічного завантаження.
Динамічне завантаження забезпечує ряд істотних переваг. По-перше, оскільки практично всі програми використовують API-функції, то завдяки DLL-бібліотекам істотно заощаджується дисковий простір, який у протилежному випадку займався б великою кількістю повторюваного коду, що міститься в кожному з виконуваних файлів. По-друге, зміни і удосконалення в Windows-додатках зводяться до відновлення тільки вмісту DLL-бібліотек. Уже існуючі тексти програм не вимагають перекомпіляції.
Win16 і Win32
Сьогодні широко розповсюджені дві версії АРІ. Перша називається Winl6 і являє собою 16-розрядну версію, що використовується у Windows "3.1. Друга, 32-розрядна версія, називається Win32 і використовується в Windows 9x і Windows NT/2000/XP. Win32 є надмножиною для Winl6 (тобто фактично містить у собі Цей інтерфейс), тому що більшість функцій має ту ж назву і застосовується аналогічним чином. Однак, будучи в принципі схожими, обидва інтерфейси все-таки відрізняються один від одного. Win32 підтримує 32-розрядну лінійну адресацію, тоді як Winl6 працює тільки з 16-розрядною сегментованою моделлю.
пам'яті. Це призвело до того, що деякі функції були модифіковані у такий спосіб, щоб приймати 32-розрядні аргументи і повертати 32-розрядні значення. Частину з них довелося змінити з урахуванням 32-розрядної архітектури. Була реалізована підтримка потокової багатозадачності, нових елементів інтерфейсу й інших нововведень Windows.
Інтерфейс GDI
Одним із підмножин АРІ є GDI (Graphics Device Interfase - інтерфейс графічного пристрою). GDI - це та частина Windows, що забезпечує підтримку апаратно-незалежної графіки. Завдяки функціям GDI Windows-додаток може виконуватися на будь-яких комп'ютерах.
Багатозадачність у Windows
Як відомо, усі версії Windows підтримують багатозадачність. У Windows 3.1 Я тільки один тип багатозадачності - -заснований на процесах. У нових системах Windows підтримується два типи багатозадачності: заснований на процесах і заснований на потоках. Розглянемо їх трохи докладніше.
Процес - це програма, що виконується. При багатозадачності такого типу дві або більше програми можуть виконуватися паралельно. Звичайно, вони по черзі використовують ресурси центрального процесора і з технічного погляду виконуються неодночасно, але завдяки високій швидкості роботи комп'ютера це практично непомітно.
Потік - це окрема частина коду, що виконується. Назва утворилася від поняття "напрямок протікання процесу". У багатозадачності цього типу окремі потоки усередині одного процесу також можуть виконуватися одночасно. Усі процеси мають, принаймні, один потік, але в Windows 95 і Windows NT їх може бути кілька.
Звідси можна зробити висновок, що в Windows 95 і Windows NT допускається існування процесів, кілька частин яких виконуються одночасно. Виявляється, таке припущення правильне. Отже, при роботі в цих операційних системах можливим є паралельне виконання як програм, так і окремих частин самих программ Це дозволяє писати дуже ефективні програми.
Є й інше істотне розходження між багатозадачностями Windows 3.1 і Windows 95/NT. У Windows 3.1 використовується непріоритетна багатозадачність. Це означає, що процес, який виконується в цей момент, одержує доступ до ресурсів центрального процесора й утримує їх протягом необхідного йому часу. Таким чином, програма, що виконується неправильно, може захопити всі ресурси процесора і не дає виконувати інші процеси. На відміну від цього в Windows 95 і Windows NT використовується пріоритетна багатозадачність. У цьому випадку кожному активному потокові надається певний проміжок часу роботи процесора. Після закінчення цього терміну управління автоматично передається наступному потоку. Це не дозволяє програмам повністю захоплювати ресурси процесора. Інтуїтивно ви розумієте, що такий спосіб кращий.
Взаємодія програм і Windows
У багатьох операційних системах взаємодію між системою й програмою ініціалізує програма. Наприклад, у DOS програма запитує дозвіл на введення й виведення даних. Інакше кажучи, не Windows-програми самі викликають операційну систему. Зворотного процесу не відбувається. У Windows усе абсолютно навпаки: саме система викликає програму. Це здійснюється в такий спосіб: програма очікує одержання повідомлення від Windows. Коли це відбувається, то виконується певна дія. Після її завершення програма чекає наступного повідомлення. Windows може посилати програмі повідомлення різних типів. Наприклад, щоразу при клацанні мишею у вікні активної програми посилається відповідне повідомлення. Інший тип повідомлень посилається, коли необхідно обновити вміст активного вікна. Повідомлення посилаються також при натисканні клавіші, якщо програма очікує введення з клавіатури. Необхідно запам'ятати одне: для програми повідомлення з'являються випадково. От чому Windows-програми схожі" на програми обробки переривань: неможливо передбачити, яке повідомлення з'явиться в наступний момент.
Loading...

 
 

Цікаве