Тема OS08асу. Модульная структура построения ОС и их переносимость. Модуль программирования - функция языка С POSIX - набор стандартов API - программный интерфейс приложений WinAPI,Win16,Win32 Статические и Динамические библиотеки DLL Процедурный модуль диалогового исполнения - файл exe, сом, sys Объектные компоненты ОС (объектные модели) Объектный модуль как компонент COM, DCOM Сетевые COM-объекты ActiveX Реестр - база данных конфигурации Агентные системы - распределенные системы Многозвенные клиент-серверные системы Взаимодействие peer-to-peer (как равноправных объектов) апплеты, сервлеты, XML-леты, скрипты и сценарии UDDI - глобальный реестр Онтологии - формализаваные знания Механизмы управления в модульной структуре Командные файлы, Диалоговый режим, Cервер сценариев (WSH) Управление ресурсами виды и иерархия ресурсов, виртуальные ресурсы понятия стратегии дисциплины управления ресурсами. Модуль - унифицированная самостоятельная функциональная часть системы, имеющая законченное оформление и средства сопряжения с другими функциональными узлами и модулями. Понятие модуля широко используется применительно как к аппаратной, так и к программной части компьютера. Переносимость (мобильность) ОС понимается как способность легкой адаптации к другой аппаратной платформе. Основной способ обеспечения переносимости - соответствие приложений (модулей) ПО стандартам POSIX. POSIX (Portable Operating System Interface for Computer Environment [for Unix] - интерфейс переносимой операционной системы # разработанный в 1988 г. IEEE набор стандартов для UNIX, описывающих интерфейсы этой ОС. Разработан для обеспечения переносимости приложений между различными версиями UNIX. POSIX P1003.1 определяет API для ядра ОС, 1003.2 - оболочку (shell) и утилиты, 1003.4 - расширения для поддержки работы в реальном масштабе времени (см. также application, real-time, SVID). 1. Application Programming Interface - интерфейс прикладного программирования # набор стандартных программных прерываний, вызовов процедур (методов) и форматов данных, которые должны использовать прикладные программы для запроса и получения от операционной системы, телекоммуникационного протокола или программного интерфейса (механизма) связанного с ними обслуживания. API определяет на уровне исходного текста некоторый уровень абстракции, который позволяет переносить исходные тексты программ на ЭВМ с отличающимися процессорами, где они после перекомпиляции смогут сразу выполняться. Примерами API являются SVID и NetBIOS (см. также application program, calling conventions, kernel, operating system, portability, source code); 2. Application Platform Interface - интерфейс прикладных базовых систем, спецификация API (Ассоциации по интерактивным мультимедиа-системам, IMA). Типы модулей ОС Структуру операционной системы MS DOS образуют модули:  BIOS (Basic Input/Output System) - базовая система ввода-вывода;  модуль расширения - ЕМ BIOS (Extension Module BIOS) в виде файла с именем IO.SYS;  базовый модуль (ВМ - Basic Module) дисковой операционной системы (БДОС) в виде файла с именем MSDOS.SYS;  командный процессор или интерпретатор команд (CI - Command Interpreter) в виде файла с именем COMMAND.COM;  внешние команды и драйверы, утилиты - файлы с расширением .СОМ, .ЕХЕ, .SYS;  системный загрузчик (SB - System Bootstrap); BIOS, модуль расширения ЕМ BIOS, загружаемые (внешние) драйверы, системный загрузчик составляют машинозависимую часть операционной системы. Базовый модуль DOS, командный процессор, внешние команды, инструментальные средства составляют машинонезависимую часть операционной системы. Операционная система MS DOS, кроме модуля BIOS, хранится на внешнем носителе, обычно на жестком, реже на гибком диске. После включения компьютера в сеть начинается процесс перезаписи операционной системы MS DOS с диска в ОП. Этот процесс получил название загрузка операционной системы. Обмен данными между документами Передача фрагмента данных от одного документа в другой представляет собой простейший способ обмена данными между приложениями. Выполняется эта операция через буфер обмена Windows. Эта операция является исходной для реализации долговременного связывания. Буфер обмена можно представить как некоторое динамическое пространство оперативной памяти для временного размещения данных обмена. Каждое последующее занесение в буфер какой бы то ни было информации уничтожает предыдущее содержимое. Для занесения информации в буфер обмена и ее извлечения оттуда приложения Windows имеют в своих меню команды КОПИРОВАТЬ, ВЫРЕЗАТЬ, ВСТАВИТЬ. Для последующей работы с данными, занесенными в буфер обмена, в Windows в группе Главная можно использовать окно Папки Обмена. Это приложение позволяет просмотреть содержимое буфера, сохранить его в файле, очистить буфер или по-<ац1? местить его содержимое в Папку Обмена. Объект данных с содержимым очередного буфера получает название страницы в Папке Обмена. Пользователь сам выбирает имя для очередной страницы, a Windows сохраняет ее в файле с расширением .CLP. Технология DDE Для динамического обмена данными в Windows используется разработанная для этой цели фирмой Microsoft технология DDE - "Dynamic Data exchange", что означает "динамический обмен данными". Технология DDE опирается на связь, установленную между фрагментами одного документа, а также между документами различных приложений. Наличие такого механизма связи позволяет автоматически актуализировать данные в документе-приемнике при изменениях в источнике данных. Важно, что DDE-связь поддерживается, пока работают приложения, между которыми эта связь установлена. При изменениях в файле-источнике следует первым запускать приложение, обрабатывающее этот файл, а затем приложение с документом-приемником. В этом случае DDE-связь будет обновляться сразу же при внесении изменений в приложении-источнике. Технология OLE, OLE2 Для связывания документов в Windows используется разработанная для этой цели фирмой Microsoft технология OLE - "Object Linking and Embedding", что означает "связывание и встраивание объектов". Технология OLE опирается на связь, установленную между документом и приложением, а также на механизм, разработанный для связи приложений. Наличие такого механизма позволяет перенести в выходной документ фрагмент или файл (документ) некоторого приложения, при этом он приобретает свойства встроенного или связанного объекта. Выходной связанный документ приобретает при этом свойства составного документа, т.е. документа, имеющего встроенные или связанные объекты различных форматов, созданные другими приложениями. Пример 12.6. При подготовке текста в текстовом процессоре нередко возникает необходимость размещения между блоками текста иллюстративного материала. Для этой цели графический файл рисунка или его фрагмент могут быть использованы как объект для связывания или встраивания в текстовый документ. Однако не все приложения поддерживают технику OLE. Способные к этому приложения делятся на три группы:  OLE-серверы (приложения - источники, родительские приложения) представляют собой приложения, из которых можно встраивать объекты или связывать их с другими приложениями;  OLE-клиенты (приложения-приемники) представляют собой приложения, которые могут размещать в своих документах встроенные или связанные объекты из OLE-серверов. Такие документы называют составными;  приложения, которые могут выполнять роль как сервера, так и клиента одновременно. Объекты в технологии OLE Для встраивания или связи могут использоваться объекты самых различных форматов: текст, таблицы, рисунки, звук и т.д. Данные, вставляемые из одного OLE-приложения в другое, получают статус объекта OLE уже тогда, когда они копируются в буфер промежуточного обмена. При последующей вставке из буфера или при использовании специальной команды вставки объекта последний размещается в составном документе. Объект хранит информацию о связи с родительским приложением, поэтому при двойном щелчке мышью на объекте его родительское приложение активизируется для последующей обработки объекта. Связывание и встраивание объектов Существуют два варианта использования OLE:  установление связи с объектом;  внедрение (встраивание) объекта. Основное различие между связыванием и внедрением объектов состоит в способе хранения данных. При использовании связи механизм OLE действует как усовершенствованный по сравнению с Windows 3.0 механизм DDE. Для этой цели OLE нуждается лишь в данных о местоположении объекта и данных, необходимых для визуального (графического) представления объекта на экране. Очевидно, что приложение-клиент не в состоянии изменить эти данные, поскольку непосредственные данные объекта продолжают физически присутствовать в родительском приложении. После их актуализации в родительском приложении представление объекта в приложении-клиенте тут же меняется. Затем файл-источник следует сохранить, чтобы сохранились и актуализированные данные объекта. Пример 12.7. В графическом редакторе открывают файл, содержанием которого является графический документ (рисунок). Фрагмент рисунка выделяется и копируется в буфер обмена. Предполагается вставка этого фрагмента в текстовый документ в качестве иллюстрации. При последующей команде Специальная вставка/Установить связь или Установить связь (эти команды обычно входят в меню Редактировать или Правка) фрагмент визуально отображается в документе текстового процессора, при этом создается ссылка на файл-источник. При двойном щелчке мыши на связанном объекте выполняется переключение на приложение, обрабатывающее файл-источник. Использование такого рода связи предпочтительно тем, что она не приводит к увеличению объема составного документа. Дополнительным преимуществом связывания является возможность установления множественных связей с одним объектом - один экземпляр объекта служит при этом источником данных для многих документов. При использовании внедрения механизм OLE включает в составной документ копию оригинального объекта (копию фрагмента оригинального объекта) с его непосредственными данными и данными для управления им, при этом внедренный объект становится частью составного документа. Такой объект существует только в единственном экземпляре и только там, где он внедрен. Существенно то, что для внедренной копии объекта связь с ее оригиналом не поддерживается. Это означает, что изменения, внесенные впоследствии в оригинальный объект, не отразятся на внедренной копии. Редактирование внедренного объекта возможно лишь путем вызова родительского приложения; приложение-клиент не в состоянии что-либо сделать с внедренным объектом, кроме его удаления или вырезки. Двойной щелчок по внедренному объекту активизирует цепочку связи: приложение-клиент - приложение-сервер - внедренный объект. Любые команды приложения-сервера, прерывающие процесс редактирования объекта, закрывают цепочку связи между объектом и приложением-клиентом. Пример 12.8. В графическом редакторе открывают файл-документ (рисунок), фрагмент которого выделяется и копируется в буфер обмена. При последующем внедрении фрагмента (как объекта графического редактора) в документ текстового процессора командой Вставить или Специальная вставка/Вставить объект можно двойным щелчком мыши на объекте выполнить активизацию по месту, т.е. вызвать графический редактор с загруженным в него фрагментом для последующего редактирования. Связь с файлом, содержанием которого является рисунок-оригинал, отсутствует. Внедрение объектов в составной документ приводит к значительному увеличению размера последнего. Тем не менее внедрение имеет некоторые преимущества по сравнению со связыванием. Во-первых, составной документ с внедренными объектами обладает таким свойством, как переносимость, т.е. может быть перенесен на другой компьютер, где его можно открыть в своем приложении. Во-вторых, внедренный объект редактируется родительским приложением по месту его нахождения в приложении-клиенте. Сервер сценариев (WSH) различные версии (2.0 - 5.6) которого входят в Windows 98/200/XP. До этого на уровне операционной системы поддерживались командные файлы. Такие сценарии могут создаваться с помощью специализированных языков (например, Microsoft Visual Basic Script Edition (VBScript) или Microsoft JScript) и использовать любые объекты ActiveX, зарегистрированные в системе, что и определяет чрезвычайно мощные возможности таких сценариев. Самая первая версия WSH, входившая в качестве стандартного компонента в Windows 98, имела номер 1.0. С другой стороны, эта версия опиралась на языки сценариев JScript и VBScript версии 5.0, которые поддерживались Internet Explorer 5.0, поэтому можно к самой первой версии WSH относиться как к WSH 5.0. Следующей версии WSH, входившей в поставку Windows 2000, был присвоен номер 2.0; в этой версии использовались JScript и VBScript версии 5.1. Наконец, номер последней версии WSH, встренной в Windows XP, был привязан к номеру версии языка VBScript - появился WSH 5.6. Несмотря на то, что WSH 5.6 является стандартной частью Windows XP, эту версию можно также установить и использовать во всех предыдущих 32-разрядных вериях Windows 95/98/ME/NT/2000. Для этого необходимо скачать инсталяционный файл для WSH 5.6 с сервера Mikrosoft (http://msdn.microsoft.com/scripting). Для самой ранней версии Windows 95 придется еще предварительно обновить модуль работы протокола TCP-IP с сокетами. Собственная объектная модель WSH позволяет из сценариев работать с файловой системой, системным реестром, специальными папками и ярлыками Windows, ресурсами локальной сети, запускать процессы и контролировать ход их выполнения. WSH позволяет широко использовать взаимодействие с современными ActiveX-технологиями: ADO (доступ к базам данных), ADSI (работа со службами каталогов), WMI (управление Windows). Можно просматривать или изменять файлы XML и управлять приложениями пакета Microsoft Office. задачи, для автоматизации которых прекрасно подходят сценарии WSH. Организация автоматического резервного копирования на сетевой сервер файлов с локальной машины, которые отбираются по назначенному критерию. Быстрое изменение конфигурации рабочего стола Windows в зависимости от задач, выполняемых пользователем. Автоматический запуск программ MS Office, создание сложных составных документов, распечатка этих документов и закрытие приложений. Управление работой приложений, не являющихся серверами автоматизации, с помощью посылки в эти приложения нажатий клавиш. Подключение и отключение сетевых ресурсов (дисков и принтеров). Создание сложных сценариев регистрации для пользователей. Выполнение задач администрирования локальных сетей (например добавление или удаление пользователей, управление настройками компьютеров при подключении к сетевым ресурсам). Объектная модель WSH Для того, чтобы воспользоваться всеми возможностями, которые представляет эта технология, нужно хорошенько разобраться в ее структуре. Windows Script Host состоит из 14 объектов. Самым главным объектом является объект WScript. WScript - Устанавливает или получает аргументы командной строки. Определяет имя скриптового файла. Определяет имя хоста для скрипта (wscript.exe или cscript.exe) Определяет версию хоста Создает, соединяется или отсоединяется от объектов COM Программно останавливает выполнение скрипта Выводит сообщения WshArguments Получает доступ к аргументам командной строки WshNamed Получает доступ к именованным аргументам командной строки WshUnnamed Получает доступ к безымённым аргументам командной строки WshNetwork Работа с сетью WshController Для работы со скриптами удаленного управления WshRemote Удаленные скрипты WshRemote Error Информация об ошибках (для WshRemote) WshShell Работа с оболочкой Windows WshShortcut Создание ярлыков WshSpecialfolders Пути к специальным папкам Windows WshURLShortcut Создание интернет-ссылок WshEnvironment Доступ к коллекции переменных окружения WshScriptExec Работа со скриптами Windows Scripting Host Object Model Objects Methods Properties WScript (wscript.exe) CreateObject, DisconnectObject, Echo, GetObject, Quit Application, Arguments, FullName, Name, Path, ScriptFullName, ScriptName, Version WshArguments (wscript.exe) Not exposed; use WScript.Arguments Item, Count, Length WshShell (wshom.ocx) CreateShortcut,ExpandEnvironmentStrings,Popup,RegDelete,RegRead,RegWrite, Run Environment, SpecialFolders WshNetwork (wshom.ocx) AddPrinterConnection, EnumNetworkDrives, EnumPrinterConnections, MapNetworkDrive, RemoveNetworkDrive, RemovePrinterConnection, SetDefaultPrinter ComputerName, UserDomain, UserName WshShortcut (wshom.ocx) Not exposed; use WshShell.CreateShortcut Save Arguments, Description, FullName, Hotkey, IconLocation, TargetPath, WindowStyle, WorkingDirectory WshUrlShortcut (wshom.ocx) Not exposed; use WshShell.CreateShortcut Save FullName, TargetPath WshCollection (wshom.ocx) Not exposed; use WshNetwork.EnumNetworkDrives or WshNetwork.EnumPrinter Connections Item, Count, Length WshEnvironment (wshom.ocx) Not exposed; use WshShell.Environment Remove Item, Count, Length WshSpecialFolders (wshom.ocx) Not exposed; use WshShell.SpecialFolders Item, Count, Length +++++++++++++++++++++++++++++++++++++++ Экзаменационные билеты ОССО var fso=new ActiveXObject("Scripting.FileSystemObject"); var msg = ""; // variable to hold folder and file names scandir( "с:\\" ); // directory where we want to start the scan function scandir( dir ) {var srcFolder = fso.GetFolder( dir ); // Get Current Folder msg += "Folder: " + srcFolder.Name + "\n"; var files = new Enumerator( srcFolder.files ); // Get Files in current directory for(;!files.atEnd(); files.moveNext() ) { msg += files.item().name + "\n";} WScript.Echo( msg ); // Display the data get gathered. msg = ""; // Clear the variable for the next directory var esub = new Enumerator( srcFolder.SubFolders ); // Get sub folders for(; !esub.atEnd(); esub.moveNext() ) { var f = fso.GetFolder( esub.item() ); scandir( f );} } Онтологии - формализаваные знания - это выявленные закономерности предметной области (принципы, связи, законы), позволяющие решать задачи в этой области. знания - это хорошо структурированные данные, или данные о данных, или метаданные. Термины и концепты Упр процессами, процессорами, Драйвер низкоуровнеыве и высокоуровневые вирт ОП, устройствами ВВ, безопасностью Ядро Ресурс Процесс Поток Файл Монолитное Проц вр Акт. пр Главный данных Микроядро Регпамять Команда stdin каталоги Слоевое Кэш 1,2ур Комфайл stdout спецфайл Экзоядро Вирт. ОП Скрипт stderr отображОП Втор. пам Пр Ядра stdprn Файлсистемы Сетевые Трет. пам ОбрПрер порожденые Файлархивы Распред Вирт.устр Сценарий паралл-ные Базы данных Кластеры Польз пр синхронизация Репозитарии асинхронные, параллельные, последовательные, независимые, тупики КОМАНДЫ УПРАВЛЕНИЯ ПРОЦЕССОРОМ Мнемоника Функция команды, формат CLC Сбросить перенос 11111000 CMC Инвертировать перенос 11110101 STC Установить перенос 11111001 CLD Сбросить направление 11111100 STD Установить направление 11111101 CLI Сбросить прерывание 11111010 STI Установить прерывание 11111011 HLT Останов 11110100 WAIT Ожидать 10011011 LOCK Префикс блокировки шины 11110000 CLTS Сбросить флажок переключения задач 00001111│00000110 ESC Переключиться на сопроцессор 11011ТТТ│mod LLL r/m TTTLLL - КОП для процессора расширения SEG Префикс замены сегмента 001reg110 Классификация процессоров. Архитектура системы команд: CISC, RISC, MISC процессоры. Матричные процессоры. Процессоры с конвейерной обработкой. Пример типового конвейера команд. Выигрыш от конвейерной обработки и основные проблемы эффективного заполнения конвейера. Суперскалярный процессор. Пример суперскалярной обработки - Процессор Pentium. VLIW машины. Коммуникационный процессор. Отступление, понятие о сигнальных процессорах: Систолические матрицы. Волновые процессоры. Системы команд процессора. Типы команд. Принципы управления потоком команд. Методы адресации. Типы и размеры операндов. Типы процессорных сетей связи. Отступление: подъем популярности векторной обработки. Векторные операции в ПК. MMX, 3D now!. система прерываний Прерывания - это процедуры, которые компьютер вызывает для выполнения определенной задачи. Существуют аппаратные, логические и программные прерывания. Аппаратные прерывания инициируются аппаратурой, например сигналом от принтера, нажатием клавиши на клавиатуре, сигналом от таймера и другими причинами. Логические прерывания возникают при нестандартных ситуациях в работе микропроцессора, например деление на нуль, переполнение регистров и др. Программные прерывания инициируются программами, т.е. появляются, когда одна программа хочет получить сервис со стороны другой программы, например доступ к определенным аппаратным средствам. Каждое прерывание имеет уникальный номер, и с ним связана определенная подпрограмма. Когда вызывается прерывание, процессор оставляет свою работу и выполняет прерывание. Затем загружается адрес программы обработки прерывания и ей передается управление. После окончания ее работы управление передается основной программе, которая была прервана. Аппаратные прерывания относятся к прерываниям низшего уровня, им присвоены младшие номера, и обслуживает их базовая система ввода-вывода. Логические и программные прерывания относят к верхнему уровню, они имеют большие номера, и их обслуживает в основном базовый модуль DOS. Многопоточность - свойство операционной системы выполнять опера-ции одновременно над потоками нескольких 32-битовых приложений, на-зываемых процессами. Процесс состоит из потоков. Поток - это некоторая часть процесса, которой может быть выделено про-цессорное время для одновременного выполнения наряду с другими пото-ками того или иного процесса. ТЕХНОЛОГИЯ СВЯЗЫВАНИЯ И ВСТРАИВАНИЯ ОБЪЕКТОВ Обмен данными между документами Передача фрагмента данных от одного документа в другой представляет собой простейший способ обмена данными между приложениями. Выполняется эта операция через буфер обмена Windows. Эта операция является исходной для реализации долговременного связывания. Буфер обмена можно представить как некоторое динамическое пространство оперативной памяти для временного размещения данных обмена. Каждое последующее занесение в буфер какой бы то ни было информации уничтожает предыдущее содержимое. Для занесения информации в буфер обмена и ее извлечения оттуда приложения Windows имеют в своих меню команды КОПИРОВАТЬ, ВЫРЕЗАТЬ, ВСТАВИТЬ. Для последующей работы с данными, занесенными в буфер обмена, в Windows в группе Главная можно использовать окно Папки Обмена. Это приложение позволяет просмотреть содержимое буфера, сохранить его в файле, очистить буфер или по-<ац1? местить его содержимое в Папку Обмена. Объект данных с содержимым очередного буфера получает название страницы в Папке Обмена. Пользователь сам выбирает имя для очередной страницы, a Windows сохраняет ее в файле с расширением .CLP. Технология DDE Для динамического обмена данными в Windows используется разработанная для этой цели фирмой Microsoft технология DDE - "Dynamic Data exchange", что означает "динамический обмен данными". Технология DDE опирается на связь, установленную между фрагментами одного документа, а также между документами различных приложений. Наличие такого механизма связи позволяет автоматически актуализировать данные в документе-приемнике при изменениях в источнике данных. Важно, что DDE-связь поддерживается, пока работают приложения, между которыми эта связь установлена. При изменениях в файле-источнике следует первым запускать приложение, обрабатывающее этот файл, а затем приложение с документом-приемником. В этом случае DDE-связь будет обновляться сразу же при внесении изменений в приложении-источнике. Технология OLE, OLE2 Для связывания документов в Windows используется разработанная для этой цели фирмой Microsoft технология OLE - "Object Linking and Embedding", что означает "связывание и встраивание объектов". Технология OLE опирается на связь, установленную между документом и приложением, а также на механизм, разработанный для связи приложений. Наличие такого механизма позволяет перенести в выходной документ фрагмент или файл (документ) некоторого приложения, при этом он приобретает свойства встроенного или связанного объекта. Выходной связанный документ приобретает при этом свойства составного документа, т.е. документа, имеющего встроенные или связанные объекты различных форматов, созданные другими приложениями. Пример 12.6. При подготовке текста в текстовом процессоре нередко возникает необходимость размещения между блоками текста иллюстративного материала. Для этой цели графический файл рисунка или его фрагмент могут быть использованы как объект для связывания или встраивания в текстовый документ. Однако не все приложения поддерживают технику OLE. Способные к этому приложения делятся на три группы:  OLE-серверы (приложения - источники, родительские приложения) представляют собой приложения, из которых можно встраивать объекты или связывать их с другими приложениями;  OLE-клиенты (приложения-приемники) представляют собой приложения, которые могут размещать в своих документах встроенные или связанные объекты из OLE-серверов. Такие документы называют составными;  приложения, которые могут выполнять роль как сервера, так и клиента одновременно. Объекты в технологии OLE Для встраивания или связи могут использоваться объекты самых различных форматов: текст, таблицы, рисунки, звук и т.д. Данные, вставляемые из одного OLE-приложения в другое, получают статус объекта OLE уже тогда, когда они копируются в буфер промежуточного обмена. При последующей вставке из буфера или при использовании специальной команды вставки объекта последний размещается в составном документе. Объект хранит информацию о связи с родительским приложением, поэтому при двойном щелчке мышью на объекте его родительское приложение активизируется для последующей обработки объекта. Связывание и встраивание объектов Существуют два варианта использования OLE:  установление связи с объектом;  внедрение (встраивание) объекта. Основное различие между связыванием и внедрением объектов состоит в способе хранения данных. При использовании связи механизм OLE действует как усовершенствованный по сравнению с Windows 3.0 механизм DDE. Для этой цели OLE нуждается лишь в данных о местоположении объекта и данных, необходимых для визуального (графического) представления объекта на экране. Очевидно, что приложение-клиент не в состоянии изменить эти данные, поскольку непосредственные данные объекта продолжают физически присутствовать в родительском приложении. После их актуализации в родительском приложении представление объекта в приложении-клиенте тут же меняется. Затем файл-источник следует сохранить, чтобы сохранились и актуализированные данные объекта. Пример 12.7. В графическом редакторе открывают файл, содержанием которого является графический документ (рисунок). Фрагмент рисунка выделяется и копируется в буфер обмена. Предполагается вставка этого фрагмента в текстовый документ в качестве иллюстрации. При последующей команде Специальная вставка/Установить связь или Установить связь (эти команды обычно входят в меню Редактировать или Правка) фрагмент визуально отображается в документе текстового процессора, при этом создается ссылка на файл-источник. При двойном щелчке мыши на связанном объекте выполняется переключение на приложение, обрабатывающее файл-источник. Использование такого рода связи предпочтительно тем, что она не приводит к увеличению объема составного документа. Дополнительным преимуществом связывания является возможность установления множественных связей с одним объектом - один экземпляр объекта служит при этом источником данных для многих документов. При использовании внедрения механизм OLE включает в составной документ копию оригинального объекта (копию фрагмента оригинального объекта) с его непосредственными данными и данными для управления им, при этом внедренный объект становится частью составного документа. Такой объект существует только в единственном экземпляре и только там, где он внедрен. Существенно то, что для внедренной копии объекта связь с ее оригиналом не поддерживается. Это означает, что изменения, внесенные впоследствии в оригинальный объект, не отразятся на внедренной копии. Редактирование внедренного объекта возможно лишь путем вызова родительского приложения; приложение-клиент не в состоянии что-либо сделать с внедренным объектом, кроме его удаления или вырезки. Двойной щелчок по внедренному объекту активизирует цепочку связи: приложение-клиент - приложение-сервер - внедренный объект. Любые команды приложения-сервера, прерывающие процесс редактирования объекта, закрывают цепочку связи между объектом и приложением-клиентом. Пример 12.8. В графическом редакторе открывают файл-документ (рисунок), фрагмент которого выделяется и копируется в буфер обмена. При последующем внедрении фрагмента (как объекта графического редактора) в документ текстового процессора командой Вставить или Специальная вставка/Вставить объект можно двойным щелчком мыши на объекте выполнить активизацию по месту, т.е. вызвать графический редактор с загруженным в него фрагментом для последующего редактирования. Связь с файлом, содержанием которого является рисунок-оригинал, отсутствует. Внедрение объектов в составной документ приводит к значительному увеличению размера последнего. Тем не менее внедрение имеет некоторые преимущества по сравнению со связыванием. Во-первых, составной документ с внедренными объектами обладает таким свойством, как переносимость, т.е. может быть перенесен на другой компьютер, где его можно открыть в своем приложении. Во-вторых, внедренный объект редактируется родительским приложением по месту его нахождения в приложении-клиенте.