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


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


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


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


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


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


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


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


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


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



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

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

 

На цьому малюнку показані фрагменти кореневого каталога диску С: та елементи FAT для файлів AUTOEXEC.BAT та CONFIG.SYS. FAT в комірці 11 вміщує число 12 – номер наступного кластера, що виділений файлу AUTOEXEC.BAT, комірка з номером 12 вміщує число 13 і т.д. Остання комірка, що відповідає останньому кластеру цього файлу, вміщує значення FF. Кластери можуть і не розташовуватись один за одним, наприклад ланцюжок кластерів, що виділений для файлу CONFIG.SYS.

Існує два формати FAT – 12-бітовий та 16-бітовий. 12-бітовий – зручний для дискет з невеликою кількістю секторів. В цьому випадку вся FAT розміщується цілком в одному секторі. Якщо диск такий, що для представлення всіх секторів 12 розрядів недостатньо, можна збільшити розмір кластера, наприклад до 8 секторів. Але більший розмір кластера приводить до неефективного використання дискового простору. Це тому, що мінімальний елемент, який виділяється файлу – кластер, має занадто великий розмір. Навіть для файлу, що має довжину 1 байт виділяється повний кластер. Таким чином, якщо розмір кластера 8 секторів, то для зберігання 1 байта буде використано 4 Кбайти дискової пам’яті.

При використанні 16-бітного FAT ОС може працювати з логічним диском, який має розмір більший 32 Мбайти. DOS при 16-бітному FAT, та кластером на 4 сектори може працювати з розділами, що досягають 134 Мбайтів.

 

Визначення формату FAT

Для DOS, сектор запису завантаження (BOOT-сектор) диску в полі із зміщенням 36h вміщує 8-байтовий рядок, що ідентифікує формат FAT. „FAT12” або ” FAT16”.

Якщо розділи на жорсткому диску створювались утилітою FDISK, формат FAT можна визначити, аналізуючи вміст поля SYS головного завантажую чого запису (Master Boot Record). Якщо це поле вміщує значення:

1 – 12-бітовий формат,

4 – 16-бітовий формат.

Але диски після обробки деякими диск-менеджерами можуть мати нестандартний для DOS формат таблиці розділів диску (Partition Table) та в полі SYS можуть бути інші величини, відмінні від 1 та 4.

 

Формат FAT

1-й байт FAT „Описувач середовища” (Media Descriptor) або байт ID ідентифікації FAT. Він має таке ж значення, як і байт-описувач середовища, що знаходиться в завантажувальному записі. Наступні 5 байтів – для 12-бітового формату та 7 байтів – для 16-бітового формату завжди містять значення 0FFh.

Інша частина FAT складається з 12-бітових або 16-бітових комірок, кожна комірка відповідає одному кластеру диску. Ці комірки можуть вміщувати такі значення:

 

FAT12 FAT16 Зміст
000h 000h Вільний кластер.
FF0h-FF6h FFF0h-FFF6h Зарезервований кластер.
FF7h FFF7h Поганий (збійний) кластер.
FF8h-FFFh FFF8h-FFFFh Останній кластер у списку.
002h-FEFh 0002h-FFEFh Номер наступного кластеру у списку.

 

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

 

Файли та каталоги

Відомо, що файлова система MS-DOS має деревоподібну структуру. В кореневому каталозі розміщуються 32-бітні елементи, які вміщують інформацію про файли та інші директорії. Для читання кореневої директорії необхідно визначити його розташування та розмір.

Коренева директорія знаходиться зразу за останньою копією FAT. Кількість секторів, що займає одна копія FAT, знаходиться в BOOT-секторі в полі із зміщенням 11. кількість копій FAT в тому ж полі (в блоці ВРВ – блок параметрів BIOS). Таким чином, перед кореневим каталогом знаходиться один BOOT-сектор та декілька секторів таблиці розміщення файлів FAT.

Розмір кореневого каталогу можна визначити, виходячи із значення поля rootsize (блок ВРВ). У цьому полі при формуванні диску записується максимальна кількість файлів та каталогів, які можуть знаходитись в кореневому каталозі. Для кожного елемента в каталозі відводиться 32 байта, тому кореневий катал має довжину (32*rootsize) байт.

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

 

RootSecs = 32 × rootsize / sectsize,

 

де rootsize – максимальне число дескрипторів файлів, що може міститися в кореневому каталозі диску; sectsize – розмір сектору в байтах, він може бути отриманий з відповідного поля BOOT-сектору.

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

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

 

SectNu = DataStart + (ClustNu - 2) clustsize,

DataStart = ressecs + fatsize × fatcnt + 32 × rootsize / sectsize,

 

де SectNu – номер першого сектора, розподіленого кластеру з номером ClustNu; ClustNu – номер кластера, для якого необхідно визначити номер першого сектора; Clustsize – кількість секторів, що займається кластером, знаходиться в блоці параметрів BIOS (блок ВРВ BOOT-сектора).

 

 

Довільний каталог містить 32-байтні елементи – дескриптори, що описують файли та інші каталоги.

 

Формат дескриптора

Зміщення Розмір Вміст
(+0) Ім’я файлу або директорії, доповнене пропусками.
(+8) Розширення імені файлу, доповнене пропусками.
(+11) Атрибути файлу.
(+12) Зарезервовано.
(+22) Час створення або останньої модифікації файлу.
(+24) Дата створення або останньої модифікації файлу.
(+26) Номер першого кластеру, що виділений файлу.
(+28) Розмір файлу в байтах.

 

Байт атрибутів є у кожного файлу. Біти цього байту мають наступні значення:

0 – файл тільки для читання, в цей файл не можна писати і його не можна стирати;

1 – захований (hidden) файл, цей файл не з’являється у списку файлів;

2 – системний файл; цей біт встановлюється у файлах, що є складовою частиною ОС;

3 – цей дескриптор описує мітку диска; для цього дескриптора поля імені файла та розширення імені файла мають розглядатись як поле довжиною 11 байт; це поле вміщує містку диска;

4 – дескриптор описує файл, що є підкаталогом поданого каталогу;

5 – прапорець архівації; якщо цей біт встановлено в 1, то це означає, що даний файл не був завантажений утилітою архівації (наприклад, програмою BACK UP);

6-7 – зарезервовані.

 

Приклади.

Звичайно файли мають такі комбінації бітів в байті атрибутів:

00000000 – звичайні файли (тексти програм, модуль завантаження, пакетні файли).

00000111 – тільки файли, що читаються заховані системні файли. Така комбінація у файлах.

00001000 – мітка поля; дескриптор мітки поля може знаходитись тільки в кореневому каталозі логічного диску.

00010000 – (10h) дескриптор, що описує каталог.

00100000 – (20h) звичайний файл, який не був завантажений утилітами BACK або XCOPY.

У довільному каталозі, окрім кореневого, два перших дескриптора мають спеціальне призначення:

Перший дескриптор вміщує в полі імені рядок ”.”. Цей дескриптор вказує на каталог в який його вміщено, тобто каталог вказує має сама на себе. Другий спеціальний дескриптор вміщує в полі імені рядок ”. .”. Цей дескриптор вказує на каталог вищого рівня. Якщо в полі номера першого кластера дескриптора з іменем ”. .” знаходиться нуль, то це означає, що цей каталог розташований в кореневому каталозі.

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

При знищенні файла перший байт його імені заміняється на байт E5h (символ ’X’). Всі кластери, виділені файлу, відмічаються у FAT як вільні. Якщо файл вилучили тільки що, то його ще можна відновити, тому що в дескрипторі збереглися всі поля, крім першого байта імені файлу. Але, якщо на диск записані нові файли, то вміст кластерів вилученого файла буде змінено і відновлення стане неможливим.

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

 

 

Старші 5 бітів вміщують значення години модифікації файла, шість бітів з номерами 5-10 вміщують значення години модифікації файла, в молодших 5 бітах зберігається значення секунд, полене на 2. Для того, щоб час оновлення файла вмістився в 16 бітах, треба було знизити точність часу до двох секунд.

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

 

 

Поле довжини в дескрипторі вміщує точну довжину файла в байтах. Для каталогів у полі довжини записано нульове значення. Працювати з каталогом як зі звичайним файлом засобами DOS неможливо. Єдиний спосіб прочитати каталог як файл – використати FAT для визначення ланцюжка кластерів, що займає цей каталог та прочитати сектори, що відповідають цим кластерам за допомогою переривання DOS INT 25h.

Ще раз повернемось до програми FDISK та диск-менеджерів. Як відомо, утиліта FDISK дозволяє створити розділи диску. В DOS 4.0 та вищих нема обмежень на розміри розділів та логічних дисків. Але при використанні FDISK не можна організувати захист логічних дисків від запису або від несанкціонованого доступу. Програми диск-менеджерів такі, як ADM або Speed Star, в деякій мірі розв’язують питання захисту від запису та несанкціонованого доступу. Але з’являються нові проблеми.

Диск-менеджери використовують свій власний механізм розбиття диска на розділи і тому логічна структура диску, підготовлена програмами диск-менеджерів, відрізняється від стандартної для MS-DOS. Перш за все це стосується таблиці розділів диску (Partition Table). Елементи таблиці розділів мають код системи відмінний від того, що використовується в MS-DOS. Цей код залежить від конкретної програми диск-менеджера.

Якщо диск підготовлений програмою Speed Star то всі елементи таблиці розділів будуть зайняті (MS-DOS залишає два елементи невикористаними).

Для того, щоб встановити на цей же диск іншу ОС треба вивантажити вміст всього диску на дискети, вилучити всі розділи Speed Star, створити розділи іншої ОС, а вже потім розділи MS-DOS.

Якщо диск підготовлено утилітою FDISK, то зарезервувавши заздалегідь місце для іншої ОС, можна без проблем використати два елементи таблиці розділів, що залишилися.

У таблиці розділів диску, що підготовлений програмою FDISK, знаходиться інформація про формат таблиці розміщення файлів FAT, що використовується. Можна скористуватись цією інформацією, але тільки в тому випадку, якщо диск підготовлений утилітою FDISK.

 

Недоліки MS-DOS

Творці MS-DOS в певній мірі пішли шляхом найменшого опору, створивши ОС, яка пропонує мінімальне операційне оточення для програм користувача. Як правило, програми, які працюють в MS-DOS, крім файлової системи, не використовують практично нічого з стандартного СПЗ.

За думкою творців MS-DOS програміст, який хоче вивести, наприклад, символ на екран монітору, повинен скористатися або системою вводу-виводу консолі оператора DOS або відповідною функцією BIOS. Те ж відноситься до програмування всієї іншої апаратури.

Але відомо, що на практиці функції DOS та BIOS часто ігноруються (обходяться) і пристрої програмуються напряму. Практично всі графічні програми працюють безпосередньо з відео пам’яттю, часто самостійно підтримують клавіатуру і інше.

Винятком є файлова система MS-DOS, яка також іноді ігнорується (наприклад, при організації захисту від копіювання).

Такий, на перший погляд дивний підхід обумовлено декількома об’єктивними причинами. Найбільш суттєвою є та, що відповідне програмне забезпечення MS-DOS недостатньо ефективне і не реалізує всі потенційні можливості комп’ютера. Так вивід пікселу на екран за допомогою відповідної функції BIOS відбувається на два порядки повільніше, ніж при безпосередньому звертанні до відео-пам’яті. Тому обхід MS-DOS дуже поширений. На це впливає також повна відкритість IBM PC, що дає можливість реалізувати програмісту свої задуми.

 

 

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

Етапи, які повинен пройти розробник програми для MS-DOS:

1. Постановка задачі (технічне завдання).

2. Розробка інтерфейсу, тобто створення сукупності несуперечливих домовленостей та правил, які дозволяють користувачу:

а) швидко та без зайвих зусиль (на інтуїції) навчитись працювати з продуктом;

б) забезпечити швидкий доступ (мах за 3-4 кроки) до довільної команди системи;

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

3. Розв’язати проблеми з графікою, тобто створити власну, або скористатися хорошою універсальною графічною бібліотекою (таких нема). Як правило проблеми сумісності не розв’язуються.

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

5. Якщо програма досить велика, треба подумати про підтримку оверлейної структури і взагалі про керування пам’яттю (не всі на Асемблері).

6. Почати реалізовувати конкретний проект, розв’язуючи одночасно проблеми сумісності із вже написаними раніше різними бібліотеками, переробляти які нема часу та можливості.

Тобто треба спочатку стати системним програмістом IBM PC, тобто мати чіткі та глибокі знання як операційної системи, так і апаратного забезпечення.

І знову ж таки нема гарантії, що ваш продукт буде працювати на тому комп’ютері, на якому ви його не тестували.

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

З точки зору користувача MS-DOS це: ідея спілкування – командний рядок; ”подумай та надрукуй”. Користувач повинен знати якусь множину команд MS-DOS. Вміти розв’язувати проблеми з мінімальними засобами діагностики. Згодом спілкування перейшло на рівень файлових систем, а потім – операційних оболонок. Ідея такого спілкування полягає в переході на новий більш природний понятійний рівень – роботу в відкритому та дружньому середовищі, яке наочно представляє предметну область, пропонує широкий набір доступних засобів і пробачає людські помилки. Ця ідея пізніше перейшла в Windows – надбудову над операційною системою MS-DOS.

 

Переваги які надає користувачам Windows

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

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

3. Обмін даними між програмами. Один із засобів, забезпечуючи програмну сумісність є механізм обміну даними між різними програмами. ”Поштова скринька” (Clipboard) дозволяє користувачу переносити інформацію з одної програми в іншу, не думаючи про її формат та представлення. Це робиться просто та наглядно для користувача.

Механізм обміну даних між програмами – життєво важлива якість багатозадачного середовища. Крім Clipboard є вже інші механізми:

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

OLE – Object Linking and Embedding – вбудований об’єктний зв’язок. Дозволяє переносити з одної програми в іншу різнорідні дані. Це нестандартний засіб для Windows, але реалізація OLE стала можливою тільки в Windows.

4. Сумісність з існуючим програмним забезпеченням. Не тільки дозволяє працювати із звичними програмними продуктами, але і пропонує додаткові можливості (запуск декількох програм одночасно, швидке перемикання з одної програми на іншу, обмін даними між ними і т. п.). Забезпечена можливість роботи з усіма прикладними програмами MS-DOS.

5. Повне використання апаратних ресурсів. При інсталяції Windows аналізує наявні апаратні ресурси та автоматично встановлює режим який найбільш повно використовує можливості апаратури. Дозволяється користуватись всією встановленою на комп’ютері пам’яттю.

6. Багатозадачність. Windows дозволяє запускати одночасно декілька програм (можна одну і ту саму програму декілька разів) з можливістю миттєвого переключення з одної програми на іншу. Це дозволяє ініціювати тривалий процес (друк, сортування даних, копіювання даних) і взятись за іншу роботу.

7. Засоби програмування. Нові ідеї вимагають нової технології програмування. SDK – Software Development Kit – нагадує роботу з одною із відомих спеціальних бібліотек. (стандартна технологія Microsoft). Borland C++ (об’єктно-орієнтований підхід + стандартна технологія).

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

Windows повністю міняє ідеологію програмування, переводить на зовсім відмінні від MS-DOS концепції взаємодії програм, операційного середовища та апаратних ресурсів.

Програмування для Windows складніше ніж для MS-DOS, але ця складність не надлишкова, а визначається тільки тим, що при створенні програм для Windows програміст отримує доступ до нових засобів, недоступних в MS-DOS.

 

Windows як операційна оболонка

Windows запускається на виконання як звичайна програма MS-DOS. Але, після завантаження в основну пам’ять, вона бере на себе майже всі функції керування ОС:

- пам’яттю;

- програмами, що виконуються;

- процесами;

- дисплеєм;

- клавіатурою;

- мишею;

- принтером;

- послідовними портами.

Windows це не ОС оскільки апаратура IBM PC обслуговується як MS-DOS, так і Windows. MS-DOS керує файловою системою. Все інше робить Windows. (Міняючи файлову систему дуже важко було б забезпечити сумісність з існуючим програмним забезпеченням).

 

 

Програма в Windows не має права звертатись до пристроїв напряму, а повинна використовувати для цього внутрішні функції Windows (їх > 600).

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

Основні функції Windows виконують три системних модуля – kernel.exe, gdi.exe та user.exe. їх функції чітко розділені:

kernel.exe – керує пам’яттю, завантаженням та виконанням програм, а також виконує інші системні функції.

gti.exe – Graphics Devise Interface - інтерфейс з графічними пристроями, відповідає за графіку.

user.exe – робить все інше.

Модулі user.exe та gdi.exe взаємодіють з апаратною IBM PC через драйвери пристроїв Windows. Майже всі драйвери пристроїв Windows фактично виконують функції ROM BIOS MS-DOS, працюючи з пристроями напряму. Виключення – драйвер принтера printer.drv, який звертається до свого пристрою через процедури ROM BIOS. На схемі дещо спрощено.

Модуль gdi.exe та деякі драйвери також можуть викликати функції ядра (kernel.exe), а програми Windows можуть в принципі безпосередньо звернутись до драйвера (на відміну від MS-DOS, де не можна звернутись до драйвера пристрою повз ОС).

Взаємодія програм Windows з MS-DOS (тобто з функціями DOS). Хоча в програмах Windows можна використати багато функцій стандартної бібліотеки ”С”, насправді відбувається звертання не безпосередньо до DOS, а до Windows (точніше до модуля kernel.exe), який відслідковує всі звертання до переривань DOS та BIOS. При звертанні до дозволених функцій DOS середовище Windows забезпечує сумісність виклику DOS з чужою організацією основної пам’яті, а в деяких випадках (при звертаннях до функцій exec, або до функцій роботи з пам’яттю) повністю заміняє виклик на відповідне звертання до пристрою.

Якщо програма Windows викликає невідоме Windows переривання система ”висне”.

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

 

Обмін даними в Windows

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

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

 

Clipboard

Буфер проміжного зберігання даних (вбудований). При роботі Windows - Clipboard постійно активний. Він доступний всім Windows-програмам. Обмін даними через Clipboard виконується таким чином.

В продукті-джерелі його власними засобами виділяється необхідні дані. Командою Copy (Ctrl + C) виділений фрагмент заноситься до Clipboard.

Можливе також використання команди Cut (Ctrl + X). Те саме, що Copy, а з тою різницею, що дані вилучаються з оригіналу. Потім переходимо до продукту-приймача і розміщуємо курсор у те місце, куди потрібно встановити дані з Clipboard. Після цього виконується команда Paste (Ctrl + V). Обмін закінчено. Комбінації Ctrl + C, Ctrl + X, Ctrl + V є універсальним стандартом Windows. Команди Cut, Copy, Paste є практично у всіх Windows-продуктах в меню Edit.

Механізм, що забезпечує обмін даними між різними продуктами називається –динамічний обмін даними (DDE – Dynamic Data Exchange).

 

 

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

Недолік – неможливість накопичення даних у буфері проміжного зберігання. При розміщенні в Clipboard нового фрагменту, старий автоматично вилучається. Тому, наприклад, при копіюванні трьох об’єктів із різних місць одного документа в одне місце в іншому, треба три рази переключитись між джерелом та приймачем. Є обмеження – десять сторінок тексту або одне повно екранне кольорове графічне зображення (є обмеження за об’ємом).

 

 

Головна перевага обміну даними через Clipboard – це можливість об’єднання в одному документі об’єктів з різних продуктів та автоматичне перетворення форматів. Для всіх Windows-продуктів було встановлено ряд стандартів, в яких можуть представлятися дані. Для цих стандартів представлення даних виконується при операціях з Clipboard автоматично і непомітно для користувача.

Наприклад програма Viewer забезпечує:

- перегляд даних в Clipboard в різних форматах;

- запис вмісту Clipboard в файл;

- читання даних в Clipboard з файлу;

- очистку Clipboard.

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

Наприклад, в Microsoft Excel створимо невелику таблицю і запишемо її в деякому файлі. Потім включимо Write, відкриємо в ньому довільний текстовий документ і спробуємо встановити туди цю таблицю за методом DDE. Для цього виділимо цю таблицю в Microsoft Excel і розмістимо її в Clipboard командою Copy. Потім переключимось на Write, але виконаємо не команду Paste, а команду Paste Link із меню Edit. В тексті у вікні редактора Write з’явиться зображення таблиці. Тепер, якщо перейти знову до Microsoft Excel і внести деякі зміни, то виявиться, що ці ж зміни відбудуться і в копії цієї таблиці в редакторі Write. Цей зв’язок зберігається і після закриття продукту. Тобто в довільний момент, коли вносяться зміни в оригінал, можна бути впевненим в тому, що ці зміни відбудуться у всіх документах, пов’язаних з оригіналом.

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

Окрім ”зіркоподібного” зв’язку можливе зв’язування ”за ланцюжком”, коли джерелом для наступного зв’язку буде не оригінал, а раніше зв’язаний об’єкт. В цьому випадку не Paste Link, а просто команда Paste.

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

Але користувач хотів би пересувати ланцюжки на екрані так само легко, як це робиться в реальному житті.

Зв’язування та вбудовування об’єктів (Object Linking & Embedding, OLE1)

Для користувачів основне нововведення технології OLE – можливість активації вбудованих об’єктів.

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

 


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

  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 страница




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

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

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

  

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


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