Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



КОНСПЕКТ ЛЕКЦІЙ 7 страница

 

Для роботи за технологією OLE необхідна така сама послідовність операцій, як і раніше, при цьому, якщо продукт підтримує OLE, то він сам виконує обмін даними вже за цією технологією. Документ з вбудованими OLE-об’єктами виглядає так само, як і з фрагментами, що встановлені через Clipboard. Але тепер при подвійному натисканні на мишу в полі об’єкту він активується:

- запускається продукт, який породив цей об’єкт;

- об’єкт передається у вікно продукту для редагування, запису і інших операцій, які доступні батьківській програмі.

 

 

Після завершення роботи з об’єктом батьківська програма закривається, а змінений об’єкт автоматично передається назад в документ, звідки він був викликаний. Таким чином, відпадає необхідність запам’ятовувати імена батьківського продукту та файла, в якому міститься встановлений об’єкт, Windows все пам’ятає.

В OLE ”об’єкт” це нове поняття. Раніше об’єкт – це довільний фрагмент, який переноситься з одного продукту в інший. Насправді переносився не сам фрагмент, а тільки його ”екранний образ”, продукт-джерело перетворювало дані із свого внутрішнього формату в один із стандартів Windows і в такому вигляді фрагмент вставлявся в продукт-приймач.

В OLE – ”об’єкт” це комплекс, який складається із даних у внутрішньому форматі батьківського продукту, представленому в одному із стандартних форматів Windows, і інформації про програму яка його створила, розмір, час створення та інше.

В такому вигляді – об’єкт це деяка закінчена структура. При його перенесенні із одного документа в інший він зберігає всі свої особливості незалежно від типу документа, в якому в біжучий момент знаходиться.

Якщо DDE дозволяє вставляти зв’язування тільки об’єкти, які є файловими, то в OLE цього обмеження немає.

 

Зв’язування чи вбудовування

Зв’язування. Оскільки при зв’язуванні друга копія об’єкту не створюється, воно більш економно з точки зору дискового простору. При внесенні змін у зв’язаний об’єкт ці зміни відбуваються у всіх документах, з якими об’єкт був зв’язаний.

Вбудовування. Забезпечується можливість коректувати встановлений об’єкт, не вносячи змін в оригінал. Також краще, коли існує необхідність переносити файли із машини на машину.

Оскільки при зв’язуванні запам’ятовується шлях до оригіналу і при переході на інший комп’ютер необхідно переписати всі файли об’єктів, включених в даний документ із збереженням всіх структури всіх каталогів. При вбудовуванні вся інформація зберігається в одному файлі.

В OLE замість операції копіювання через Clipboard застосовується метод Drag-and-Drop (перетягнути та відпустити), і робить процес обміну даними більш наочним не тільки для об’єктів.

Але є три недоліки:

1. Деякі процедури надто складні.

2. Низька ефективність зберігання та обробки даних.

3. Складна внутрішня логіка перетворення даних створює великі проблеми для розробників програмного забезпечення, що підтримує OLE-1.

 

OLE-2

Нове – можливість місцевої активації об’єкту. В OLE-1 при активації об’єкту завантажувалась батьківська програма і об’єкт передавався для редагування в її вікно. В OLE-2 об’єкт обводиться штриховою рамкою що позначає активність, і залишається на місці. А заголовок вікна міняється на заголовок обслуговуючого продукту, що викликається (меню буде деякою комбінацією із меню ”старого” та ”нового” продуктів). Після виконання відповідних дій з об’єктом для повернення в перший продукт досить клацнути мишею поза об’єктом.

Drag-and-drop дозволяє міжвіконне переміщення об’єктів та їх частин.

Якщо в OLE-1 при переміщенні файлe зв’язок з об’єктами автоматично втрачався, то в OLE-2 він відслідковується.

Можливий доступ безпосередньо до об’єкта – тобто до частини дискового файлу без читання файла повністю.

Технології DDE, OLE-1, OLE-2 – сумісні зверху донизу. Це означає що продукт-джерело і продукт-приймач обмінюються даними по найбільш новій технології, яка доступна їм обом.

Наприклад: продукт-джерело підтримує DDЕ. При роботі в OLE об’єкт буде встановлено, Але можливість його активації із документа приймача втрачається.

При роботі з продуктами, які підтримують OLE-2, відпадає необхідність у великих пакетах типу Microsoft Excel (Office). Документ буде збиратись як із цеглин з об’єктів, створених в невеликих спеціалізованих продуктах. Тобто з усіх створених продуктів Windows сама створює деякий ”інтегрований пакет”.

Але чим простіший зовнішній інтерфейс, тим складніше логічні закони програмування, які його реалізують. Тобто необхідні нові автоматизовані системи розробки OLE-продуктів (Microsoft Visual Basic, Word Perfect).

 

Первинність повідомлень: механізм повідомлень

В об’єктно-орієнтованому програмуванні, як і в Windows, керуючі дані називаються ”повідомленнями”. Модель даних, що керують об’єктами, реалізується за допомогою спеціального механізму повідомлень. Більшість повідомлень, які отримує об’єкт ”вікно”, виникають в результаті дій користувача.

Але ідея повідомлень значно глибша. Повідомлення – це потужний (і єдиний) засіб зв’язку вікна (і всього продукту) з самою операційною оболонкою Windows. Через повідомлення „вікно” отримує інформацію про всі події в системі Windows, які мають відношення до самого вікна. Всі зовнішні у відношенні до програмного продукту події кодуються та у вигляді повідомлень направляються у чергу повідомлень.

Повідомлення мають єдиний формат, який за кількістю інформації, що надається набагато перевершує інші операційні оболонки. За допомогою повідомлень продукт отримує інформацію від таймера, про натискання клавіші, про пристрій, з якого отримано повідомлення і інше.

Наприклад: прихід сигналу від таймера керується повідомленням WM-TIMER; при збільшенні користувачем області „вікна” на екрані Windows надсилає продукту повідомлення WM-PAINT, яке повідомляє про те, що треба перемалювати область вікна і інше.

Саме цей механізм дозволяє в рамках однозадачної ОС емулювати багатозадачне, багатовіконне операційне середовище.

Розглянемо, як взаємодіють Windows та програмний продукт при обробці, наприклад, натискання клавіші.

 

 

При надходженні сигналу апаратура комп’ютера формує асинхронні переривання, які обробляються драйвером keyboard.drv. Драйвер викликає процедуру в модулі user.exe, який формує відповідне повідомлення. Це повідомлення, яке вміщує повну інформацію про подію, розміщається в системну чергу.

Системна черга в Windows одна. Повідомлення, які розміщаються в системній черзі, розподіляються потім між продуктами. Для кожного продукту Windows створює і підтримує окрему чергу повідомлень продукту. Розподіл полягає в тому, що повідомлення беруться з системної черги, визначається, якому „вікну” належить дане повідомлення і це повідомлення розміщується в чергу повідомлень продукту, якому належить вікно. Цю роботу виконує модуль user.exe.

Обробку черги повідомлень продукту виконує вже сам продукт. Для цього існує так званий цикл обробки повідомлень продукту, який бере повідомлення з черги, переводить їх в повідомлення ANSI (WM_CHAR) і направляє їх у відповідну функцію вікна продукту. Конкретні дії за даним повідомленням робляться вже функцією вікна.

Наприклад: якщо необхідно відобразити символ в області користувача вікна продукту, то це робить функція вікна продукту за допомогою бібліотечної процедури TextOut.

Клавіатура це ресурс, що розділяється Windows – її повідомлення можуть перенаправлятися довільному продукту.

Як Windows визначає, якому продукту направити повідомлення? Не дивлячись на те, що це багатозадачна оболонка, в якій може працювати декілька програм одночасно, ясно, що один користувач в кожний момент часу може працювати тільки з однією програмою. Кажуть, що продукт, в який попадають повідомлення від клавіатури в момент вводу, має фокус вводу. Фокус вводу може бути змінений користувачем за допомогою списку задач (task list), або за допомогою миші. Повідомлення від миші обробляється по іншому: вони передаються новому продукту, на полі вікна якого знаходиться курсор миші. Зрозуміло, чому повідомлення миші і клавіатури розміщуються спочатку в системну чергу і тільки потім надходять в чергу продукту – тому що багато повідомлень керують фокусом вводу, тому система повинна визначити якому продукту вони належать. Системна черга повідомлень, таким чином є засобом розподілення повідомлень між продуктами. Якщо наперед відомо, якому продукту належить те або інше повідомлення, то воно зразу розміщується в чергу продукту, повз системну чергу.

Так при роботі з таймером ми явно вказуємо, якому продуктові направляти повідомлення після закінченню певного часового інтервалу. Тому повідомлення таймера не треба розміщати в системну чергу, вони передаються безпосередньо в чергу продукту.

Механізм повідомлень – це засіб сумісного керування вікном продукту з боку Windows і з боку самого продукту. Продукт може створити декілька вікон, але ні одне із них не може підтримуватись тільки продуктом без Windows.

Наявність механізму повідомлень у багатозадачному середовищі дає цікавий наслідок:

- з одної сторони асинхронність подій знімається з операційної оболонки, оскільки послідовність подій прозора, всі повідомлення надходять в чергу продукту де є чітка черговість;

- з другої сторони, ця асинхронність переноситься на рівень задач, оскільки в кожний конкретний момент часу продукт не може знати про те, яке повідомлення він буде обробляти, далі в результаті дій користувача повідомлення може надійти в інший продукт.

Якщо звичайна DOS – програма отримує керування при завантаженні (або при виникненні певної події – обробка переривання) і передає його ОС тільки по закінченні роботи, то Windows – програма – де певна сукупність реакцій на зовнішні події, це об’єкт, який обробляє інформацію. Цей об’єкт значно масивніший ніж DOS – програма.

Модель програмування Windows в реалізовує одну з основний ідей об’єктно-орієнтованого програмування: дані (повідомлення) керують об’єктами (вікнами Windows).

Windows – програма, створивши вікно і підготувавши середовище програми, передає керування Windows і надалі, до завершення роботи, програма отримує керування від Windows тільки після надходження повідомлень, які належать даній програмі.

Створивши вікно продукту, WinMain() організує цикл повідомлень. Основне призначення цього циклу – обробка черги повідомлень даного продукту, яка створюється і підтримується Windows. Повідомлення, які Windows розміщує в чергу повідомлень продукту, беруться з неї циклом обробки повідомлень і направляються (не напряму а через Windows) в функцію керування відповідним вікном продукту.

З технічної точки зору отримання вікном повідомлення реалізовано як виклик функції вікна з операційної оболонки Windows. При цьому саме повідомлення виступає як набір параметрів спеціального формату, що передається функції вікна. Функція вікна не викликається напряму, тому що це суперечить прийнятій ідеології Windows – об’єкти спілкуються між собою тільки шляхом повідомлень.

Повідомлення можуть посилатися як Windows, так і іншим продуктами. Сам продукт може надсилати повідомлення сам собі через Windows. Це вимагається (і це єдиний спосіб) в тому випадку, коли треба передавати інформацію від одного вікна продукту до іншого. У Windows визначено велику кількість стандартних повідомлень. Створити і відправити своє власне повідомлення користуватись механізмом повідомлень, досить легко і зручно. Таким чином, після виконання WinMain() так званих “організаційних” дій, виклик функцій вікон можливий тільки передачею повідомлень (Див. рис __).

Цикл повідомлень (message loop) тільки вибирає повідомлення з черги повідомлень і направляє в функцію вікна, яку прийнято називати WndProc(). Саме вона формує команди, які виконують реальні дії:

– виконання команд меню;

– виконання виводу у вікно графіки, тексту;

– інші дії, які відносяться власне до продукту.

Не всі повідомлення попадають у функцію вікна продукту через цикл обробки повідомлень. Повідомлення підтримки вікна передаються Windows безпосередньо у функцію вікна продукту.

Наприклад: Якщо користувач закриває вікно, то після виконання відповідних операцій формується повідомлення WM_DESTROY, яке одразу направляється в функцію вікна продукту. Після виконання необхідних операцій (звільнення пам’яті, вилучення об’єктів і ін.) функція вікна продукту WndProc() повинна повідомити головній функції WinMain() про те, що вікно закрито і продукт повинен завершити свою роботу. Для цього WndProc() формує повідомлення WM_QUIT, яке розміщується в чергу повідомлень продукту.

 

 

Коли цикл обробки повідомлень бере з черги продукту повідомлення WM_QUIT, відбувається вихід з циклу повідомлень і продукт завершує роботу.

Windows – продукт не звертається до буферу клавіатури. Всі символи, що вводяться з клавіатури, Windows розміщує в системну чергу.

Перенаправлення вводу продукту відбувається шляхом копіюванням введених символів із системної черги в чергу продукту. Продукт, таким чином, бере весь ввід із своєї черги, яка також автоматично підтримується Windows. При цьому клавіші кодуються універсальними “віртуальними” кодами, які не залежать від типу клавіатури. Через системну чергу проходять не тільки натискання клавіш, але також всі натискання і переміщення миші. Крім того спілкування із самою системою Windows також відбувається через системну чергу і чергу продукту. Таким чином у Windows не треба створювати цикл опитування клавіатури, або створювати свій обробник переривання миші. При запуску продукту Windows автоматично створить ще одну чергу повідомлень через яку направлятимуться всі повідомлення призначені для цього продукту – як ввід користувача так і системні виклики.

Повідомлення Windows дуже різноманітні. Вони можуть бути (правда дуже умовно) розділені на класи за функціональними ознакам:

- системні повідомлення (WM_SYSCOMMAND, WM_SYSCHAR, …);

- повідомлення керування вікнами(WM_CREATE, WM_DESTROY, …);

- повідомлення багато віконного інтерфейсу MDI (WM_MDIGETACTIVE, WM_MDIDESTROY, …);

- повідомлення миші і клавіатури, біля 15 різновидів.

Завдяки багатозадачності Windows, можна одним продуктом стежити за повідомленнями, які Windows розміщує в черзі іншого продукту. (Це корисно при відлагодженні програми).

Повідомлення Windows не рівноправні і утворюють складну ієрархію. Старші повідомлення можуть породжувати одне або декілька молодих. І на кожному етапі вони, з одного боку, повністю доступні продукту, а з другого – утворюють, в принципі, ієрархію подій з безмежним числом рівнів.

В залежності від конкретної ситуації одне повідомлення може викликати цілий інформаційний вибух з двадцяти і більше повідомлень, які породжуються продуктами при їх взаємодії.

Таким чином механізм повідомлень виводить інформацію з–під підпорядкуванням програмам. Інформаційні повідомлення в Windows первинні, вони живуть своїм складним життям і не тільки не залежать від сегментів коду, але і керують ними.

 

Windows 98

Це інтегрована ОС, що ґрунтується на сучасній 32–розрядній технології та допускає вбудовану підтримку мережі.

На відміну від Windows 3.x, Windows 98 більше не потребує MS–DOS і бере всі функції на себе. Оскільки обмежень DOS більше нема, Windows 98 забезпечує незалежну (preemptive) багатозадачність для 32–розрядних продуктів, що підвищує надійність ОС. Але збережена сумісність з існуючими DOS– та Windows – продуктами.

 

Основні переваги Windows 98 у порівнянні з Windows 3.x, такі:

1. Повністю інтегрована 32–розрядна ОС захищеного режиму, що не потребує MS‑DOS.

2. Незалежна (preemptive) багатозадачність та підтримка множинних потоків кодів (multithreading) підвищують ефективність операцій вводу–виводу та виконання задач у фоновому режимі.

3. Абсолютно нова 32–розрядна файлова система підтримує довгі імена файлів та перепризначення мережених ресурсів, окрім того, архітектура файлової системи відкрита для подальшого розвитку.

4. 32–розрядні драйвери пристроїв, включенні в систему, підвищують швидкодію, а механізм динамічного завантаження цих драйверів, забезпечує ефективне використання пам’яті.

5. Повністю 32–розрядне ядро системи забезпечує більш швидке та ефективне керування пам’яттю та процесами.

6. Покращене “звільнення” пам’яті після нормального завершення роботи продуктів або їх аварійного завершення.

7. Вдосконалений розподіл системних ресурсів та керування ними.

 

Незалежна (preemptive) багатозадачність

У Windows 3.1 – спільна (cooperative) багатозадачність. довільний Windows– продукт повинен був час від часу відмічати в черзі повідомлень (message queue) для того щоб ОС могла передати керування іншому продукту. Продукти, які не відмічаються в черзі повідомлень досить часто, монополізували весь процесорний час і фактично припиняли виконання інших задач.

У Windows 98 при роботі 32–розрядних продуктів використовується механізм незалежної багатозадачності. ОС сама визначає час, який відводиться кожному з працюючих продуктів та після його закінчення передає керування іншій задачі. Таким чином, 32–розрядні продукти більше не повинні віддавати керування – тепер сама ОС відбирає його в потрібний час.

Але 16–розрядні продукти для сумісності продовжують працювати в режимі cooperative.

Preemptive окрім всього пропонує також multithreading – багатопотоковий механізм, який полегшує розробку складних продуктів з паралельною функціональністю.

Запущений 32–розрядний продукт – це процес. Довільний процес складається, як мінімум, з одного ланцюжка виконання, тобто послідовності кодів, які виконуються один за одним. Саме такі ланцюжки і складають елементарну задачу з точки зору ОС і отримують від неї певні кванти часу.

Але 32–розрядний продукт може складатись і з декількох ланцюжків коду, що виконують різні задачі в рамках одного процесу.

Наприклад: текстовий редактор може використовувати один ланцюжок коду для вводу символів з клавіатури, другий – для перевірки орфографії і третій – для одночасного друку документа.

Такий розподіл дозволяє покращити ввід команд, забезпечити обробку даних у фоновому режимі.

Windows 98 підтримує багатотоковість рівні ОС.

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

 

Взаємодія 32– та 16–розрядних кодів

Використання 32–розрядного, або 16–розрядного коду в тому або іншому місці Windows 98 визначається міркуваннями сумісності з існуючими продуктами, зменшенням робочої частини ОС і загальним підвищенням продуктивності.

Windows 98 застосовує 32–розрядний код скрізь, де це дозволяє суттєво покращити продуктивність без втрати сумісності. 16–розрядний код Windows 3.Х зберігається там, де потрібна сумісність з існуючими продуктами і там, де впровадження 32–розрядного коду суттєво збільшувало б вимоги до пам’яті без значного підвищення продуктивності.

Всі функції нижнього рівня – ядро ОС, менеджер пам’яті і всі підсистеми вводу/виводу та драйвери пристроїв (в тому числі, драйвери мережі та файлова система) – реалізовані у вигляді 32–розрядного коду.

Більшість 16–розрядного коду Windows 98 написано на асемблері, на самому низькому рівні і тому забезпечує продуктивність, що може бути порівняна з 32–розрядними програмами.

Багато функцій із модуля GDI (Graphics Device Interface) Windows 3.1 (система друку, система роботи із шрифтами) були переписані у 32–розрядний формат.

В той же час, більшість функцій керування вікнами із модуля User.exe залишені 16‑розрядними для збереження сумісності.

 

 

Компоненти системи розподілені між чотирма рівнями (Ring 0 .. Ring 3), які пропонують різний ступінь системного захисту. Захист рівня Ring 3 виконується внутрішніми засобами архітектури процесора Intel. Найменш захищений рівень Ring 0 вміщує код найвищого рівня (файлова система і менеджер віртуальних машин).

 

Робота з 16–розрядними продуктами

У Windows 98 16–розрядні продукти працюють в загальному адресному просторі в режимі cooperative, як і в Windows 3.1. Але вони можуть використовувати переваги 32–розрядності та незалежної багатозадачності інших системних елементів Windows 98 при друці та мереженому обміні, і тому виграють від деяких покращень в надійності ядра системи.

У Windows 98 некоректний 16–розрядний продукт не може заподіяти ніякої шкоди 32–розрядним продуктам, або DOS– продуктам, які працюють паралельно. В найгіршому випадку може вплинути на інші 16–розрядні продукти.

Більше того тепер ОС слідкує за ресурсами, які виділяються кожному продукту, і автоматично звільнює їх у випадку, якщо продукт завершує свою роботу (нормально або аномально). Тому при “зависанні” довільного продукту система може коректно очистити і повернути собі всі ресурси виділені програмі, що “зависла”. Окрім того Windows 98 зможе відновитися і в тому випадку, якщо через помилку розробника довільні ресурси не повертаються системі при нормальному завершені роботи продукту.

 

Робота з DOS–продуктами

У Windows 98 було зроблено багато вдосконалень, що покращують взаємодію системи з DOS–продуктами, драйверами пристроїв реального режиму та резидентними програмами. Ці покращення особливо важливі для роботи продуктів, які інтенсивно використовують периферію (наприклад ігри).

Кожний DOS–продукт працює в окремій віртуальній машині (VM). VM повністю ізольовані одна від одної а також від інших 32–розрядних та 16–розрядних Windows-продуктів. При спробі DOS–продукту звернутися до області пам’яті поза виділеними йому ресурсами, система видає відповідне повідомлення і завершує некоректний продукт.

При роботі з DOS–продуктами переваги Windows 98 перед Windows 3.1, такі:

1) реалізація багатьох елементів системи в захищеному режимі звільнює для DOS–продуктів додатковий об’єм звичайної пам’яті.

Оскільки більшість 16–розрядних системних елементів реального режиму замінено на відповідні 32–розрядні елементи захищеного режиму, ті самі функції реалізуються в системі з більшою продуктивністю та з мінімальними вимогами до основної (фізичної) пам’яті

2) Покращено підтримку ігор, в тому числі і у віконному режимі.

Для DOS–продуктів, які взагалі не працювали під Windows 3.1 існує спеціальний режим зовнішнього запуску DOS, який не вимагає виходу з Windows 98. Для роботи з продуктами, які вимагають 100%–го доступу до системних компонентів і ресурсів, в Windows 98 існує режим „Single MS–DOS application mode”, що еквівалентний запуску програми з DOS при відсутності Windows.

Для DOS–продуктів, які повинні працювати в Windows 98, необхідно встановити відповідну опцію у вікні якостей (property sheet). При запуску такого продукту, Windows 98 попередньо спитавши у користувача дозволу завершити всі працюючі продукти, вивантажується з пам’яті, залишаючи резидентною тільки невелику частину свого коду. Після завершення роботи DOS–продукту, цей код забезпечує завантаження Windows 98 та відновлення параметрів системи. Таким чином, процес майже повністю еквівалентний виходу з Windows3.1, запуску продукту та поверненню в Windows3.1 після його завершенню, за винятком того, що все це робиться автоматично.

3) Покращено установки за замовчуванням для DOS–продуктів.

У Windows3.1 за замовчуванням DOS–продукти запускаються у повноекранному режимі і забороняється виконувати їх як фонову задачу. Для зміни цих установок треба було створювати свій службовий файл (PIF–файл) для кожного конкретного продукту.

У Windows 98 за замовчуванням DOS–програми запускається у вікні і їм дозволяється виконуватись у фоновому режимі. Користувач звільнюється тим самим від необхідності перелагоджувати систему вручну.

4) Введена спеціальна лінійка інструментів, доступна при запуску DOS–продуктів у вікні.

При бажанні ця лінійка демонструється для DOS–продукту, працюючого у вікні. Вона надає доступ до таких операцій:

а) Cut, Copy та Paste; ці функції дозволяють тісніше інтегрувати в Windows DOS–продукти, як текстового, так і графічного режимів.

б) переключення між повноекранним та віконним режимами.

в) доступ до вікна властивостей (property sheet) для даного DOS–продукту.

г) доступ до опцій вибору шрифту для текстового режиму DOS.

5) Масштабованісь вікон DOS завдяки використанню в DOS–продуктах шрифтів TrueType.

При роботі у вікні DOS–продукти можуть користуватися шрифтами TrueType для виводу тексту, що дозволяє змінювати розмір вікна DOS довільним чином. Якщо встановлено розмір шрифту Auto, то величина шрифту автоматично міняється так, щоб розмістити вікно DOS у вказану користувачем область.

 

Робота 32–розрядних Windows–продуктів

Оновне завдання Windows 98 – робота з 32–розрядними продуктами. Кожний такий продукт працює у своєму власному, повністю захищеному адресному просторі. Ніякий інший продукт (32, 16, DOS) не зможе вплинути на нього у випадку аномальної роботи або зависання. У випадку некоректної поведінки 32–розрядного продукту система (Windows 98) може повністю відновитись, завершивши виконання цього продукту, повернути собі всі ресурси і продовжувати виконання всіх решти задач.

32–розрядне ядро Windows 98 забезпечує такі переваги:

- preemptive - багатозадачність;

- 32–розрядний API (Application Programming Interface);

- підтримку довгих імен файлів;

- окремі черги повідомлень;

- уніфікований адресний простір;

- вдосконалений механізм захисту пам’яті.

Кожний з 32–розрядних продуктів в Windows 98 має свою власну чергу повідомлень, в якій ОС розміщує всю інформацію про події, які відбуваються в системі. Тому, якщо навіть довільна інша програма працює ненормально, 32–розрядний продукт продовжує виконуватись зовсім незалежно і отримувати вхідні повідомлення і системну інформацію.

MS–DOS та Windows 3.1 завдяки 16–розрядній природі використовують механізм сегментів для доступу до пам’яті. Архітектура Intel забезпечує механізм, який розбиває всю доступну пам’ять на сегменти, розміром 64 Кбайти (216). Для звернення до комірки пам’яті треба вказати два 16–розрядних числа:

xxxx : yyyy,

де xxxx - адреса сегменту, yyyy - зміщення в сегменті.

А це знижує ефективність системи через необхідність проведення додаткових операцій для відображення логічної структури сегмент/зміщення на фізичну пам’ять.

Windows 98 дозволяє відмовитись від цього механізму шляхом вводу уніфікованої логічної структури пам’яті, в якій фізична комірка визначається одним 32–розрядним двійковим числом. Тоді забезпечується доступ до 4 Гбайтів (232) пам’яті одночасно.

Драйвери віртуальних пристроїв

Використання VxD дозволяє продуктам, які не розраховані для роботи в багатозадачному середовищі, сумісно використовувати встановлене обладнання. При цьому кожний, з продуктів вважає, що віртуальний пристрій знаходиться в його повному розпорядженні.

VxD у Windows 98 (VDD–драйвери дисплея; VPD–принтера) – це 32–розрядний драйвер захищеного режиму, який керує системним ресурсом, таким чином, що декілька продуктів можуть отримати до нього одночасний доступ. VxD застосовується в Windows з метою забезпечення підтримки багатозадачності для DOS–продуктів.

VxD підтримують всі стандартні пристрої комп’ютеру. Такий драйвер потрібний для довільного пристрою, який має режим роботи, що встановлюється програмно, або може зберігати дані. Кожний продукт може міняти стан такого пристрою і тому потрібен спеціальний механізм, який при передачі керування новому продукту відновлював би стан пристрою таким яким він був під час попередньої сесії.

Більшість VxD керують обладнанням, але деякі з них керують і програмним забезпеченням, наприклад драйвером пристрою або резидентною програмою.

Використання в Windows 98 VxD дозволяє збільшити продуктивність ОС. Сучасні процесори можуть виконувати 32–розрядний код в захищеному режимі більш ефективно, ніж 16–розрядний код драйвера DOS або резидентної програми в реальному режимі. Окрім того, продуктивність підвищується за рахунок виключення переключень між захищеним і реальним режимами, що необхідно при обслуговуванні 16–розрядними драйверами реального режиму а 32–розрядного продукту захищеного режиму. При використанні VxD система може постійно знаходитись в захищеному режимі.

Нові функції ОС, що реалізовані в Windows 98 у вигляді VxD включають:

- файлову систему FAT;

- Smart Drive;

- файлову систему CD–ROM;

- мережений сервер та транспортні протоколи;

- драйвер миші;

- резидентну утиліту SHARE.EXE (з MS–DOS);

- драйвери дискових пристроїв (включаючи SCSI).


Читайте також:

  1. I. ОБРАЗОВАНИЕ СОЕДИНЕННЫХ ШТАТОВ 14 страница
  2. А. В. Дудник 1 страница
  3. А. В. Дудник 10 страница
  4. А. В. Дудник 11 страница
  5. А. В. Дудник 12 страница
  6. А. В. Дудник 2 страница
  7. А. В. Дудник 3 страница
  8. А. В. Дудник 4 страница
  9. А. В. Дудник 5 страница
  10. А. В. Дудник 6 страница
  11. А. В. Дудник 7 страница
  12. А. В. Дудник 8 страница




Переглядів: 484

<== попередня сторінка | наступна сторінка ==>
КОНСПЕКТ ЛЕКЦІЙ 6 страница | КОНСПЕКТ ЛЕКЦІЙ 8 страница

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.021 сек.