Основные положения и мультизадачный режим
🕛 10.03.2009, 00:53
Windows - популярная графическая операционная оболочка. Windows (95 - 98) работает на базе MS DOS. Наряду с Windows существуют и другие операционные системы с аналогичным пользовательским интерфейсом для компьютеров различных классов. Следует назвать те концептуальные черты Windows, благодаря которым она получила широкое распространение и, по заявлению фирмы Microsoft, "изменит ваш способ работы с персональным компьютером":· мультизадачный режим работы;
· оптимальное управление ресурсами компьютера;
· графический пользовательский интерфейс;
· наличие техники связывания и встраивания объектов других программ;
· возможность работы в сетевой среде;
· интерфейс мультимедиа.
Операционная система Windows является мультизадачной, т.е. она способна параллельно выполнять два или более программных приложений Windows.
Пример 12.1. В мультизадачном режиме может выполняться фоновая задача программы почтовой связи - пересылка большого файла от какого-либо почтового сервера в компьютер, в то время как в окне переднего плана выполняется другая задача - подготовка письма в текстовом процессоре.
В мультизадачном режиме каждой задаче поочередно выделяется какая-то доля процессорного времени. Поскольку процесс переключения идет очень быстро, а выделяемые задачам доли процессорного времени достаточно малы, то для пользователя создается впечатление одновременного выполнения задач.
Различают два типа мультизадачное кооперативную (непревентивную или непре-емптивную) и преемптивную (превентивную, с разделением времени).
*
При кооперативном мультизадачном режиме, как, например, в Windows, операционная система не выполняет полноценный контроль за тем, как отдельные задачи распределяют ресурсы. Момент передачи управления системе здесь зависит от хода выполнения задачи. Таким моментом должен быть системный вызов, т.е. обращение к системе за какой-либо услугой, или системное событие (окончание ввода-вывода на внешнее устройство и пр.). Фоновым задачам дается время обработки при простое приоритетной задачи (ожидание нажатия клавиши и пр.). *
При преемпт ивном мультизадачном режиме, как, например, в OS/2 или Windows NT, каждая задача получает фиксированный квант времени процессора. По истечении этого кванта времени система вновь получает управление, чтобы выбрать другую задачу для активизации. Впрочем, если возникает системное событие (завершение ввода-вывода) или задача обращается к системе до истечения ее кванта времени, то это также служит причиной передачи управления системе и последующего переключения задач.
Для реализации мультизадачного режима Windows 3.1 использует основные ресурсы компьютера (процессор, оперативную память и программы) как разделяемые ресурсы, т.е. предоставляет их для совместного использования сразу нескольким приложениям (программам).
Программы используются как разделяемый ресурс при старте одного приложения дважды, трижды и т.д. В этом случае оперативная память распределяется под один единственный программный код, а для каждого запущенного приложения создается своя область данных. Кроме основных ресурсов разделяются также и порты ввода-вывода, внешние устройства.
Для обеспечения визуального доступа к выполняемым приложениям экран Windows 3.1 также является разделяемым ресурсом, причем средством разделения является организация работы приложений в окнах.
Предоставляемый конкретной задаче разделяемый ресурс является для нее виртуальным ресурсом, так как задача не владеет им монопольно, она использует лишь часть ресурса как во времени, так и в количественном измерении ресурса.
Для переключения между приложениями используются функции специальной программы Windows, называемой Менеджером Задач. Менеджер Задач позволяет выполнить переключение между приложениями с помощью специальных комбинаций клавиш или выводит окно «Список Задач», где можно переключиться (вывести на передний план) или завершить какую-либо задачу.
Указатель мыши. При старте Windows 3.1 на экране появляется графический объект, называемый указателем (курсором) м ы ш и. Он перемещается по экрану согласованно с движением мыши по поверхности стола. Курсор мыши символически отображает своей формой, какие возможности к действию предлагаются в данный момент для использования мыши (табл. 12.1).
Таблица 12.1. Виды курсора мыши
Вид Значение
Курсор принимает форму песочных часов при ожидании выполнения команды, так как Windows для этого требует некоторое время
Установка курсора ввода. Появление вертикальной черты с ограничительными засечками на концах в окне ввода текста означает, что можно установить курсор ввода, если щелкнуть левой кнопкой мыши на позиции указателя мыши
Такая стрелка, направленная налево вверх, предлагает возможность установки для выбора меню, команды меню, кнопки и пр. В зависимости от ситуации мышь берет на себя либо ввод команд, либо установку специальных значений
Выделение строк текста, ячеек таблицы
Появление такого крестообразного курсора свидетельствует о начале процесса перемещения окна или изменения его размеров
Такая двунаправленная стрелка предлагает возможность изменения размеров окна в соответствующем направлении
Щелчок, двойной щелчок, тройной щелчок и удерживание кнопки мыши нажатой являются вариантами непосредственного использования мыши для ввода. Как правило, команды мыши вводятся с помощью первичной кнопки мыши, которая установлена как левая кнопка мыши под указательный палец правой руки.
Примечание. Если на первичную кнопку мыши удобнее воздействовать указательным пальцем левой руки, то раскладку левой и правой кнопок мыши можно поменять в Панели Управления Windows 3.1. В этом учебнике мы будем использовать стандартную раскладку, где обозначение "левая кнопка мыши" указывает на первичную кнопку.
Если кнопка мыши, которую следует использовать, не указана, то подразумевается левая кнопка. Правая кнопка мыши используется в некоторых приложениях как вспомогательная для быстрого выполнения команды, вызова меню и пр. Если для выполнения команды нужно нажать правую кнопку, то в тексте это будет оговорено.
Активное окно. Несмотря на то, что Windows 3.1 - многозадачная среда, в которой могут работать несколько приложений одновременно, ясно, что один пользователь в каждый момент времени может работать только с одним приложением. Принято говорить, что приложение, к которому относятся команды и действия мыши, а также клавиатуры, отображается в активном окне.
Активное окно - окно приложения, реагирующее в данный момент на действия пользователя и полностью отображаемое на рабочем столе Windows.
ТЕХНОЛОГИЯ СВЯЗЫВАНИЯ И ВСТРАИВАНИЯ ОБЪЕКТОВ
Обмен данными между документами
Передача фрагмента данных от одного документа в другой представляет собой простейший способ обмена данными между приложениями. Выполняется эта операция через буфер обмена Windows. Эта операция является исходной для реализации долговременного связывания.
Буфер обмена можно представить как некоторое динамическое пространство оперативной памяти для временного размещения данных обмена. Каждое последующее занесение в буфер какой бы то ни было информации уничтожает предыдущее содержимое.
Для занесения информации в буфер обмена и ее извлечения оттуда приложения Windows имеют в своих меню команды КОПИРОВАТЬ, ВЫРЕЗАТЬ, ВСТАВИТЬ.
Для последующей работы с данными, занесенными в буфер обмена, в Windows в группе Главная можно использовать окно Папки Обмена. Это приложение позволяет просмотреть содержимое буфера, сохранить его в файле, очистить буфер или по-«ац1? местить его содержимое в Папку Обмена. Объект данных с содержимым очередного буфера получает название страницы в Папке Обмена. Пользователь сам выбирает имя для очередной страницы, a Windows сохраняет ее в файле с расширением .CLP.
Технология DDE
Для динамического обмена данными в Windows используется разработанная для этой цели фирмой Microsoft технология DDE - "Dynamic Data exchange", что означает "динамический обмен данными".
Технология DDE опирается на связь, установленную между фрагментами одного документа, а также между документами различных приложений. Наличие такого механизма связи позволяет автоматически актуализировать данные в документе-приемнике при изменениях в источнике данных.
Важно, что DDE-связь поддерживается, пока работают приложения, между которыми эта связь установлена. При изменениях в файле-источнике следует первым запускать приложение, обрабатывающее этот файл, а затем приложение с документом-приемником. В этом случае DDE-связь будет обновляться сразу же при внесении изменений в приложении-источнике.
При макропрограммировании в WordBasic есть возможность программным путем инициировать DDE-канал между двумя приложениями, послать по этому каналу серию команд, а также послать или запросить данные от одного приложения к другому.
Технология OLE
Для связывания документов в Windows используется разработанная для этой цели фирмой Microsoft технология OLE - "Object Linking and Embedding", что означает "связывание и встраивание объектов".
Технология OLE опирается на связь, установленную между документом и приложением, а также на механизм, разработанный для связи приложений. Наличие такого механизма позволяет перенести в выходной документ фрагмент или файл (документ) некоторого приложения, при этом он приобретает свойства встроенного или связанного объекта. Выходной
связанный документ приобретает при этом свойства составного документа, т.е. документа, имеющего встроенные или связанные объекты различных форматов, созданные другими приложениями.
Пример 12.6. При подготовке текста в текстовом процессоре нередко возникает необходимость размещения между блоками текста иллюстративного материала. Для этой цели графический файл рисунка или его фрагмент могут быть использованы как объект для связывания или встраивания в текстовый документ.
Однако не все приложения Windows 3.1 поддерживают технику OLE. Способные к этому приложения делятся на три группы:
- OLE-серверы (приложения - источники, родительские приложения) представляют собой приложения, из которых можно встраивать объекты или связывать их с другими приложениями;
- OLE-клиенты (приложения-приемники) представляют собой приложения, которые могут размещать в своих документах встроенные или связанные объекты из OLE-серверов. Такие документы называют составными;
- приложения, которые могут выполнять роль как сервера, так и клиента одновременно.
Объекты в технологии OLE
Для встраивания или связи могут использоваться объекты самых различных форматов:
текст, таблицы, рисунки, звук и т.д. Данные, вставляемые из одного OLE-приложения в другое, получают статус объекта OLE уже тогда, когда они копируются в буфер промежуточного обмена. При последующей вставке из буфера или при использовании специальной команды вставки объекта последний размещается в составном документе. Объект хранит информацию о связи с родительским приложением, поэтому при двойном щелчке мышью на объекте его родительское приложение активизируется для последующей обработки объекта.
Связывание и встраивание объектов
Существуют два варианта использования OLE:
- установление связи с объектом;
- внедрение (встраивание) объекта.
Основное различие между связыванием и внедрением объектов состоит в способе хранения данных.
При использовании связи механизм OLE действует как усовершенствованный по сравнению с Windows 3.0 механизм DDE. Для этой цели OLE нуждается лишь в данных о местоположении объекта и данных, необходимых для визуального (графического) представления объекта на экране. Очевидно, что приложение-клиент не в состоянии изменить эти данные, поскольку непосредственные данные объекта продолжают физически присутствовать в родительском приложении. После их актуализации в родительском приложении представление объекта в приложении-клиенте тут же меняется. Затем файл-источник следует сохранить, чтобы сохранились и актуализированные данные объекта.
Пример 12.7. В графическом редакторе открывают файл, содержанием которого является графический документ (рисунок). Фрагмент рисунка выделяется и копируется в буфер обмена. Предполагается вставка этого фрагмента в текстовый документ в качестве иллюстрации. При последующей команде Специальная вставка/Установить связь или Установить связь (эти команды обычно входят в меню Редактировать или Правка) фрагмент визуально отображается в документе текстового процессора, при этом создается ссылка на файл-источник. При двойном щелчке мыши на связанном объекте выполняется переключение на приложение, обрабатывающее файл-источник.
Использование такого рода связи предпочтительно тем, что она не приводит к увеличению объема составного документа. Дополнительным преимуществом связывания является возможность установления множественных связей с одним объектом - один экземпляр объекта служит при этом источником данных для многих документов.
При использовании внедрения механизм OLE включает в составной документ копию оригинального объекта (копию фрагмента оригинального объекта) с его непосредственными данными и данными для управления им, при этом внедренный объект становится частью составного документа. Такой объект существует только в единственном экземпляре и только там, где он внедрен.
Существенно то, что для внедренной копии объекта связь с ее оригиналом не поддерживается. Это означает, что изменения, внесенные впоследствии в оригинальный объект, не отразятся на внедренной копии. Редактирование внедренного объекта возможно лишь путем вызова родительского приложения; приложение-клиент не в состоянии что-либо сделать с внедренным объектом, кроме его удаления или вырезки.
Двойной щелчок по внедренному объекту активизирует цепочку связи: приложение-клиент - приложение-сервер - внедренный объект. Любые команды приложения-сервера, прерывающие процесс редактирования объекта, закрывают цепочку связи между объектом и приложением-клиентом.
Внимание! При редактировании внедренного объекта по месту попытка сохранить результаты редактирования в файле также приводит к завершению связи между внедренным объектом и приложением-клиентом.
Пример 12.8. В графическом редакторе открывают файл-документ (рисунок), фрагмент которого выделяется и копируется в буфер обмена. При последующем внедрении фрагмента (как объекта графического редактора) в документ текстового процессора командой Вставить или Специальная вставка/Вставить объект можно двойным щелчком мыши на объекте выполнить активизацию по месту, т.е. вызвать графический редактор с загруженным в него фрагментом для последующего редактирования. Связь с файлом, содержанием которого является рисунок-оригинал, отсутствует.
Внедрение объектов в составной документ приводит к значительному увеличению размера последнего. Тем не менее внедрение имеет некоторые преимущества по сравнению со связыванием. Во-первых, составной документ с внедренными объектами обладает таким свойством, как переносимость, т.е. может быть перенесен на другой компьютер, где его можно открыть в своем приложении. Во-вторых, внедренный объект редактируется родительским приложением по месту его нахождения в приложении-клиенте.