Прикладная программная среда схемы. Лекция: Способы реализации прикладных программных сред. Особенности прикладных сред Windows

Концепция микроядерной архитектуры

Двоичная совместимость и совместимость исходных текстов

Двои́чная совмести́мость,- вид совместимости программ, позволяющий программе работать в различных средах без изменения её исполняемых файлов.

Этот термин часто используется в значении «совместимость операционных систем», и в таком случае означает способность уже скомпилированной версии программы для одной операционной системы работать в другой операционной системе без перекомпиляции. Двоичная совместимость включает в себя побайтовую совместимость полей загрузки, полную идентичность механизма вызова функций, передачи переменных и получения результата вычислений, и полную реализацию интерфейса программирования. При этом технически реализация может быть совершенно иной, - главное, чтобы были реализованы все вызовы и чтобы они приводили к ожидаемому результату, а каким способом этот результат достигается, решают создатели программы.

Совместимость на уровне исходных текстов требует наличия соответствующего компилятора в составе программного обеспечения, а также совместимости на уровне библиотек и системных вызовов. При этом необходима перекомпиляция имеющихся исходных текстов в новый выполняемый модуль.

Микроядерная архитектура является альтернативой классическому способу построения операционной системы, в соответствии с которым все основные функции операционной системы, составляющие многослойное ядро, выполняются в привилегированном режиме. В микроядерных ОС в привилегированном режиме остается работать только очень небольшая часть ОС, называемая микроядром. Все остальные высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Микроядерные ОС удовлетворяют большинству требований, предъявляемых к современным ОС, обладая переносимостью, расширяемостью, надежностью и создавая хорошие предпосылки для поддержки распределенных приложений. За эти достоинства приходится платить снижением производительности, что является основным недостатком микроядерной архитектуры.

Один из более очевидных вариантов реализации множественных прикладных сред основывается на стандартной многоуровневой структуре ОС.

ОС ОС1 кроме своих приложений поддерживает приложения ОС2 и ОС3. Для этого в ее составе имеются специальные приложения, прикладные программные среды, которые транслируют интерфейсы чужих ОС API ЩС2 и API ОС3 в интерфейс своей родной ОС API ОС1.

Другая реализация множественных прикладных сред предполагает наличие в ОС нескольких равноправных прикладных программных интерфейсов.

В пространстве ядра системы размещаются прикладные программные интерфейсы всех ОС.



Функции уровня API обращаются к функциям нижележащего уровня ОС, который должен поддерживать 3 (в данном случае) несовместимые среды.

Функции каждого API реализуются ядром с учетом специфики соответствующей ОС, даже если они имеют аналогичное назначение.

Еще один способ построения множественных прикладных сред основан на микроядерном подходе. При этом важно отделить базовые, общие для всех прикладных сред механизмы ОС от специфических.

В соответствии с микроядерной архитектурой все функции ОС реализуются микроядром и серверами пользовательского режима.

Важно, что каждая прикладная среда оформляется в виде отдельного сервера пользовательского режима и не включает базовых механизмов.

Приложение, используя API, обращается к системным вызовам к соответствующей прикладной среде через микроядро.

Прикладная среда образует запрос, выполняет его, и отсылает приложению результат. В ходе выполнения запроса прикладной среде приходится обращаться к базовым механизмам ОС, реализуемым микроядром и другими серверами ОС.

Такому подходу конструирования множественных прикладных сред присущи все достоинства и недостатки микроядерной архитектуры.

Рассмотрим структуру абстрактной многоязыковой, открытой, компилирующей системы программирования и процесс разработки приложений в данной среде (рис. 1.4).

Программа на исходном языке (исходный модуль) готовится с помощью текстовых редакторов и в виде текстового файла или раздела библиотеки поступает на вход транслятора.

Трансляция исходной программы есть процедура преобразования исходного модуля в проме­жуточную, так называемую объектную форму. Трансляция в общем случае включает в себя препроцессинг (предобработку) и компиляцию.

Препроцессинг – необязательная фаза, состоящая в анализе исходного текста, извлечения из него директив препроцессора и их выполнения.

Директивы препроцессора представляют собой помеченные спецсимволами (обычно %, #, &) строки, содержащие аббревиатуры, символические обозначения и т.д. конструкций, включаемых в состав исходной программы перед ее обработкой компилятором.

Данные для расширения исходного текста могут быть стандартными, определяться пользо­вателем либо содержаться в системных библиотеках ОС.

Компиляция - в общем случае многоступенчатый процесс, включающий следующие фазы:

Лексический анализ – проверка лексического состава входного текста и перевод составных символов (операторов, скобок, идентификаторов и пр.) в некоторую промежуточную внутреннюю форму (таблицы, графы, стеки, гиперссылки), удобную для дальнейшей обработки;

синтаксический анализ – проверка правильности конструкций, использованных програм­мистом при подготовке текста;

семантический анализ – выявление несоответствий типов и структур переменных, функций и процедур;

Генерация объектного кода – завершающая фаза трансляции.

Выполнение трансляции (компиляции) может осуществляться в различных режимах, установка которых производится с помощью ключей, параметров или опций. Может быть, например, потребовано только выполнение фазы синтаксического анализа и т.п.

Объектный модуль (object module) – программный модуль, являющийся результатом компи­ляции исходного модуля. Он включает машинные инструкции, словари, служебную информацию.

Объектный модуль не работоспособен, поскольку содержит неразрешенные ссылки на вызываемые подпрограммы библиотеки транслятора (в общем случае – системы программирования), реализующие функции ввода/вывода, обработки числовых и строчных переменных, а также на другие программы пользователей или средства пакетов прикладных программ.

Рис. 1.4. Абстрактная многоязыковая, открытая, компилирующая система программирования

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

Загрузочный модуль после сборки либо помещается в пользовательскую библиотеку программ, либо направляется на исполнение непосредственно. Выполнение модуля состоит в загрузке его в оперативную память, настройке по месту в памяти и передаче ему управления. Образ загрузочного модуля в памяти называется абсолютным модулем, поскольку все команды ЭВМ здесь приобретают окончательную форму и получают абсолютные адреса в памяти. Формирование абсолютного модуля может осуществляться как программно, путем обработки командных кодов модуля программой-загрузчиком, так и аппаратно путем применения индексирования и базирования команд загрузоч­ного модуля и приведения указанных в них относительных адресов к абсолютной форме.

Современные системы программирования позволяют удобно переходить от одного этапа к другому. Это осуществляется наличием так называемой интегрированной среды программирования, которая содержит в себе текстовый редактор, компилятор, компоновщик, встроенный отладчик и в зависимости от системы или ее версии предоставляет программисту дополнительные удобства для написания и отладки программ.


Изучив эту тему, вы узнаете:

Что такое прикладная среда;
- какова структура типового интерфейса прикладной среды;
- что такое редактирование и форматирование;
- какие возможны типовые действия над объектами прикладной среды;
- что входит в состав типового меню прикладной среды.

Роль и назначение прикладной среды

В реальной жизни каждый объект существует в собственной среде: рыбы - в реке, цветы - в поле и на клумбах, кораллы - в морях и т. д.

Помимо естественных сред обитания, люди научились формировать и искусственные. Примером такой искусственной среды может служить город. Эта среда сформирована человеком как из естественных, так и из созданных им объектов. К естественным объектам можно отнести: горожан, животных, растения, а к искусственным - здания, сооружения, машины, механизмы и т. п. Как в естественной, так и в искусственной среде действуют определенные законы существования объектов и их взаимодействия.

С появлением компьютеров началось формирование еще одной искусственной среды - программной. В ней появляются свои объекты и действуют собственные законы, которые определяются конкретной программой или комплексом программ. Эти программы образуют среду определенного типа, где создаются разные компьютерные объекты: текстовые документы, рисунки, таблицы, чертежи и пр.

В предыдущем разделе вы познакомились с системной средой. Вы знаете, что она необходима для функционирования компьютера. Без нее компьютер остается грудой бесполезных блоков.

Если сравнить компьютер с железнодорожным составом, то системная среда по своему назначению напоминает локомотив. Локомотив обеспечивает движение всего состава. Без него вагоны не могут двигаться. Один локомотив также бесполезен для человека, как и компьютер, оснащенный только системной средой. В самом деле, зачем гонять локомотив от станции к станции, если он ничего не перевозит? Чтобы локомотив приносил пользу, к нему прицепляют вагоны для перемещения грузов или людей: пассажирские, товарные, платформы, цистерны и т. д.

Так и в случае с программным обеспечением компьютера. Помимо системной среды необходимы еще программы, позволяющие пользователю без привлечения языков программирования обрабатывать различную информацию и создавать разнообразные документы. Такие программы называют прикладными, или приложениями, а создаваемую ими среду - прикладной. Многообразие приложений объясняется разнородностью задач, встающих перед пользователем. Это графические редакторы, текстовые и табличные процессоры, системы управления базой данных, программы связи, звуковые проигрыватели и т. д.

Представьте себе, что ваш класс отправился на экскурсию в ботанический сад. На следующий день преподаватели попросили вас рассказать об экскурсии. Учитель рисования сказал, чтобы вы изобразили наиболее понравившееся вам растение. Учитель литературы предложил написать рассказ о посещении ботанического сада. Учительница биологии задала на дом составить классификационную таблицу увиденных растений. В каждом случае необходимо изложить одну и ту же информацию, но представить ее в виде различных документов: рисунка, текста, таблицы. Для создания такого рода документов требуются соответствующие приложения.

В современном компьютере для решения одной задачи может использоваться не одна программа, а сразу несколько. Такой комплекс прикладных программ, объединенных для решения одной пользовательской задачи, называют приложением, или прикладной средой. При этом некоторые программы могут включаться в состав сразу нескольких прикладных сред. Например, программа проверки орфографии. Ее используют и текстовый, и табличный процессоры, и система управления базой данных.

Представьте себе реку, протекающую по бескрайним просторам. Она берет свое начало где-то в горах. На своем пути она бежит мимо леса. Далее ее русло пересекает город. Затем через поля она прокладывает свой путь к морю. На каждом участке река вносит свой вклад в формирование различных сред: горного массива, леса, города. Точно так же различные прикладные программы формируют прикладную среду.

Прикладная среда - компьютерная среда, формируемая прикладными программами.

Каждая прикладная среда предназначена для обработки информации, представленной в той или иной форме.

Программистами создано множество прикладных сред для обработки самой различной информации, начиная от простых текстовых редакторов и заканчивая сложнейшими программами проектирования огромных машин.

Пользователь персонального компьютера, кроме системной среды, должен знать наиболее часто используемые прикладные среды: графический редактор, текстовый и табличный процессоры, систему управления базой данных. Эти четыре среды позволяют создавать документы наиболее распространенных типов: рисунок, текст, таблицу, базу данных.

Какой документ вы создадите для представления информации, зависит от того, что вы хотите донести до получателя этого документа. Одна и та же информация, обработанная при помощи различных сред, будет выглядеть в конечном документе по-разному.

Проведем аналогию со знакомой всем ситуацией. Осенней порой открывается сезон сбора грибов. Все отправляются в лес с корзинами. Насобирав самых разных грибов - белых, груздей, опят, - люди возвращаются домой. Теперь им нужно решить важную кулинарную задачу - переработать эти грибы. Из всего многообразия кулинарных возможностей выберем три. И вот грибы уже рассортированы: отдельно для сушки, отдельно для супа, отдельно для засолки. Работа по всем выбранным направлениям начинается одновременно. В ход идет вся кухонная утварь. На плите нет свободного места: на одной конфорке варятся грибы для засолки, на другой - суп, а в духовке сушатся белые. 

В результате из одного и того же исходного материала - грибов - получилось три различных блюда: суп в кастрюле, соленые грибы в кадке и связка сушеных грибов. А все дело в том, что в каждом случае применялась своя технология. И хотя для приготовления грибов во всех трех случаях использовалась одна и та же посуда и плита, конечные продукты переработки разительно отличаются друг от друга.

То же самое происходит и при обработке информации. Различные среды нам необходимы для того, чтобы имеющиеся в нашем распоряжении данные можно было «приготовить» надлежащим образом.

Представьте себе, что в памяти компьютера нужно сохранить информацию о проведенной лабораторной работе по физике. Какую среду выбрать? Нам понадобится (рисунок 15.1) текстовый процессор для описания хода опыта, графический редактор для создания схемы подключения приборов, табличный процессор для проведения расчетов.

Рис. 15.1. Пример обработки информации в прикладных средах

Именно многообразие прикладных сред обеспечивает универсальность компьютера как средства обработки различной по форме представления информации. Каждая из прикладных сред может работать только в соответствующей системной среде. С широким распространением Windows появились и прикладные среды для нее. Это не означает, что применявшиеся ранее в операционной системе MS-DOS прикладные среды теперь недоступны пользователю. Они также могут запускаться в Windows, но только «родные» приложения системной среды могут эффективно использовать все ее достоинства. В дальнейшем мы будем говорить только о приложениях Windows.

Особенности прикладных сред Windows

Наглядность

Важным достоинством прикладных сред Windows является наглядность.

Во-первых , все инструменты среды, имеющиеся в распоряжении пользователя, могут быть представлены графически с помощью командных кнопок. Под инструментами понимаются команды основного меню, позволяющие пользователю производить действия над объектами прикладной среды. Как на дорожных знаках нанесены изображения, позволяющие водителю автомобиля правильно оценить ситуацию на дороге, так же и пользователь компьютера может ориентироваться по изображениям инструментов, имеющимся на командных кнопках. Например, кнопка инструмента вырезания выделенного фрагмента и помещения его в буфер обмена помечена значком с изображением ножниц.

Во-вторых , документы, создаваемые в приложениях, отображаются на экране точно так же, как они будут выглядеть на бумаге после печати. Это особенно важно, когда заранее известно, какого формата должен быть конечный документ. 

Многозадачность

Еще одной отличительной особенностью приложений Windows является работа в многозадачном режиме. На вашем рабочем столе могут быть одновременно открыты сразу несколько документов, созданных в различных приложениях. Вы можете одновременно редактировать рисунок, писать письмо и производить расчеты.

Следует, однако, уточнить понятие одновременности. Все вышеперечисленные задачи могут быть запущены на выполнение. После запуска все они будут размещаться в оперативной памяти компьютера одновременно. Но человек не может одновременно сфокусировать один и тот же орган восприятия информации на двух разных задачах. Нельзя, например, читать текст и рисовать одновременно. Глаза человека не приспособлены для этого. Вы не можете разными глазами рассматривать разные изображения, как это делают, скажем, хамелеоны.

Соответственно, в таких случаях и с документами в различных средах человек работает последовательно. К примеру, сначала рисует, а потом пишет. Однако если информация в каждой из задач направлена на восприятие разными органами чувств, то такие задачи действительно могут выполняться одновременно. Например, если запустить программу проигрывания лазерного диска и текстовый процессор, то можно одновременно слушать музыку и набирать текст, задействовав соответственно слух и зрение.

Организация обмена данными

Другой важной особенностью прикладных сред Windows является возможность обмена данными между приложениями. Системная среда предоставляет два различных способа для обмена данными между приложениями: через буфер обмена и по технологии OLE (см. п. 14.7). 

Обмен через буфер позволяет либо переместить объект документа, либо поместить на новое место или в новый документ копию объекта. Используя метод обмена через буфер, можно передавать объекты и их копии из одного документа в другой, не сохраняя связи с приложением, в котором этот объект создавался.

Обмен через буфер производится в два этапа.

На первом этапе в буфер помещается либо сам объект (рисунок 15.2), либо его копия (рисунок 15.3). На втором этапе содержимое буфера вставляется в выбранный документ (рисунок 15.4).

Рис. 15.2. Вырезание объекта в буфер

Рис. 15.3. Копирование объекта в буфер

Проведем аналогию. С наступлением весны поля и луга покрываются, как ковром, яркими цветами. Любуясь ими во время прогулки, часто возникает желание продлить радость от созерцания красивого цветка. Можно переместить объект - сорвать цветок и унести его домой, впоследствии засушив его для гербария. Если же под рукой есть фотоаппарат, то можно создать копию объекта, сфотографировав цветок. Тогда сам цветок останется на месте, а его копию в виде фотографического изображения вы унесете с собой.

Рис. 15.4. Вставка объекта из буфера

Есть еще один вариант. Можно выкопать цветок вместе с частью среды, в которой он вырос, и пересадить его поближе к дому. Тогда цветок будет расти и изменяться у вас на глазах, и вы сможете из окна наблюдать за ним.

Подобно варианту пересаженного цветка программная среда Windows предоставляет вам технологию OLE (см. тему 14). Она поддерживает постоянный контакт между прикладной средой, в документ которой объект внедряется, и прикладной средой, в которой этот объект был создан. Применение технологии OLE эффективно в тех случаях, когда один и тот же объект используется в разных документах.

Например, средствами графического редактора вы подготовили эмблему вашего класса. Затем, создавая различные документы (табель успеваемости ученика, классный журнал, газету), вы использовали эту эмблему. Но спустя некоторое время в эмблему были внесены изменения. В случае если вы помещали эмблему в свои документы через буфер обмена, вам придется вставлять ее в каждый документ заново. Если же вы внедряли ее по технологии OLE, то обновление эмблемы во всех связанных документах будет произведено автоматически после редактирования исходного рисунка.

Создание составных документов

Организация обмена данными между прикладными средами обеспечивает их интеграцию . Под интеграцией прикладных сред понимается такое их объединение, когда становится возможным совместное использование объектов каждой из этих сред.

Рис. 15.5. Интеграция объектов
различных сред в составном документе

Представьте себе, что вы готовите доклад по биологии о растениях, произрастающих в вашем крае. Основой вашего отчета, очевидно, станет текстовый документ. Если в вашем распоряжении имеется база данных по растениям, то в ней можно найти все растения вашего региона. Результат поиска (выборку) можно поместить в текстовый документ. Туда же можно поместить и рисунки некоторых растений, выполненные в графическом редакторе. В результате у вас получится текстовый документ (рисунок 15.5), в котором помимо собственных объектов присутствуют выборка из базы данных и рисунки. Такой документ называют составным (интегрированным) . 

Структура интерфейса прикладной среды

Интерфейс прикладной среды

Вы без труда отличите легковой автомобиль от грузовика или автобуса, но назвать марку конкретного грузовика сможет не каждый. Автомобили одной категории не только внешне похожи друг на друга, они одинаковы и в управлении. Не случайно водителям выдают права на управление согласно классификации транспортных средств: на вождение мотоциклов, легковых автомобилей, автобусов, грузовиков.

Рис. 15.6. Структурные
части интерфейса приложения

Приложения, работающие в среде Windows, имеют очень схожий графический интерфейс. Научившись «управлять» одной программой некоторого типа, вы можете смело «садиться за руль» любой другой подобной программы. Разобравшись в ее особенностях и немного попрактиковавшись, вы почувствуете себя вполне уверенно. Примерно так же чувствует себя водитель, пересевший с одной марки легкового автомобиля на другую.

Как бы ни отличались внешне интерфейсы прикладных сред, все они состоят из однотипных по своему назначению элементов. Посмотрите внимательно на рисунок 15.7. На нем изображены окна различных прикладных сред. В каждом из них можно выделить следующие зоны (рисунок 15.6):

♦ строка заголовка прикладной среды у где размещаются инструменты управления оконным интерфейсом приложения и отображается имя среды;
♦ зона управления, где размещаются средства управления приложением и документами;
♦ рабочее поле9 где размещаются редактируемые документы; 
♦ справочная зона, где размещается информация о режимах работы приложения и подсказки пользователю.

Рис. 15.7. Внешний вид окон различных приложений

Все программы, создаваемые для Windows, имеют стандартный оконный интерфейс.

У них формируются однотипные справочные зоны и зоны управления. Вид рабочего поля изменяется в зависимости от назначения прикладной среды (см. рис. 15.7).

Рассмотрим более подробно характерные объекты структуры интерфейса любой прикладной среды Windows. В качестве примера возьмем интерфейс табличного процессора (рисунок 15.8).

Рис. 15.8. Интерфейс прикладной среды
на примере табличного процессора Excel

При запуске любой прикладной среды на экран выводится окно приложения, то есть самой среды. Обычно внутри окна приложения сразу открывается и окно документа. Это может быть новый документ или документ, который редактировался последним. Если приложение было вызвано путем открытия документа, то именно этот документ и будет располагаться в окне приложения.

Интерфейс прикладной среды включает в себя следующие элементы: строка заголовка прикладной среды, строка основного меню, панель инструментов, строка ввода и редактирования, строка состояния.

Строка заголовка включает в себя: кнопку системного меню, название приложения (в нашем случае - Microsoft Excel), кнопку Свернуть, кнопку Развернуть/Восстановить, кнопку Закрыть. Назначение всех этих кнопок более подробно рассмотрено в п. 14.5.

Основное меню любой прикладной среды Windows похоже на матрешку. Разделы верхнего уровня обозначены в строке основного меню. В каждом из таких разделов команды более низкого уровня объединены по своему назначению. Список этих команд открывается в виде раскрывающегося меню (см. рис. 15.8). Обращение к некоторым из этих команд приводит в свою очередь к появлению дополнительного меню (подменю) еще более низкого уровня. Таким образом, с помощью основного меню производится последовательный выбор требуемой управляющей команды и задание всех необходимых для ее выполнения параметров.

Панель инструментов содержит фиксированный или устанавливаемый пользователем набор командных кнопок, предназначенных для более быстрого (по сравнению с многоуровневым меню) вызова управляющих команд, входящих в состав основного меню.

Интерфейс табличного процессора и системы управления базами данных включают в себя также строку ввода и редактирования. В этой строке отображаются вводимые в текущую ячейку таблицы или в поле базы данных числа, текст или формулы. В этой строке можно просматривать или редактировать содержимое текущей ячейки или поля, а также видеть саму формулу.

Строка состояния содержит информацию о режимах работы приложения.

Кроме перечисленных, имеется группа элементов, которые можно условно назвать вспомогательной областью управления. К ним относятся: строка заголовка окна документа, создаваемого приложением; вертикальная и горизонтальная полосы прокрутки.

В строке заголовка окна документа указывается имя файла текущего документа, создаваемого выбранным приложением. Поскольку на экране в окне документа видна только его часть (называемая рабочим полем), то для просмотра других областей документа, которые в данный момент не видны в его окне, используются полосы прокрутки. Полоса, обеспечивающая вертикальное перемещение содержимого окна, называется вертикальной полосой прокрутки, а горизонтальное перемещение осуществляется с помощью горизонтальной полосы прокрутки. Действуют они точно так же, как и в любом другом окне Windows (см. п. 14.5). Если окно документа развернуто до максимального размера, то строка заголовка документа совмещается со строкой заголовка прикладной среды.

Редактирование документа

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

Например, вы создали средствами текстового процессора приглашение на праздник. Пусть этот праздник - ваш день рождения. Вы напечатали приглашение для одного из своих друзей. Все получилось замечательно. Правда, друзей у вас много, одним приглашением не обойтись. Можно ли изменить средствами текстового процессора уже имеющееся приглашение или придется создавать новое? Работая в среде текстового процессора, достаточно будет заменять в готовом документе только имя приглашенного и печатать новые приглашения. 

Другой пример. Вы создали в табличном процессоре таблицу расчета среднего балла вашей успеваемости, внесли туда все полученные оценки, а через день получили пять новых. Можно ли добавить их в старую таблицу? Конечно да, ведь не зря компьютер называют универсальным инструментом для обработки информации.

В прикладных программах можно не только создавать документы, как на печатной машинке, но и осуществлять дальнейшие изменения: вносить исправления, устранять ошибки, осуществлять поиск и замену отдельных значений и т. д. Все операции, связанные с внесением изменений в документ, исправлением в нем ошибок, объединяются в общее понятие - редактирование.

Редактирование - процесс внесения изменений в документ.

Редактировать можно текстовые документы, таблицы, базы данных, рисунки ит. д. Представьте себе, насколько упростился труд писателей. Теперь им не надо переписывать рукописи своих произведений бесчисленное количество раз, выискивая и устраняя ошибки. Средствами текстового процессора подобную работу можно проделать за считанные минуты.

Люди, чья деятельность связана с выполнением расчетов, избавлены, от необходимости пересчитывать заново огромные таблицы. Теперь достаточно изменить только исходные цифры, а перерасчет итогов табличный процессор выполнит автоматически.

ОБРАТИТЕ ВНИМАНИЕ
Запомните правило редактирования:
1. Выделить объект.
2. Выполнить команду или действия по редактированию.

Выделение объекта. Прежде чем осуществлять какие-либо действия над объектом в документе, его необходимо выделить. При отображении выделенных объектов на экране обычно либо цвет объекта изменяется на противоположный, либо показывается внешняя граница объекта. Обычно объекты в приложении выделяются щелчком мыши.

Таблица 15.1. Действия над выделенными объектами

Часто возникает необходимость выделить группу однотипных, подряд расположенных объектов - блок. Например, словосочетание в предложении или несколько ячеек в таблице. В этом случае мышь "буксируется" при нажатой левой кнопке от первого объекта к последнему.

Способы выделения конкретных объектов будут приведены при описании каждой среды (см. темы 16-19). Типовые действия над выделенным объектом по редактированию документа с помощью команд перечислены в таблице 15.1.

Часто при редактировании в большинстве прикладных сред предусмотрены соответствующие команды, например Правка | Поиск и Правка | Замена . Для поиска объекта в документе указывается его образец. Для замены объекта помимо образца поиска указывают еще и образец для замены.

Форматирование документа

Модельер стремится к тому, чтобы созданная им одежда была не только удобной и функциональной, но и красивой. Кондитер, выпекая торт, старается сделать его нарядным. Он понимает, что для покупателя важны не только вкусовые качества, но и внешний вид.

У пользователя, работающего с документом, будь то таб- ^ лица, рисунок или текст, также возникает необходимость оформить его красиво и профессионально.

Литератор оформляет текст в зависимости от жанра. Например, текст прозаического произведения будет начинаться почти у самого края страницы, в то время как стихотворение, скорее всего, расположится в центре.

Другой пример. Вы создали таблицу, но она настолько широка, что не умещается на странице. Надо либо уменьшить таблицу, либо развернуть страницу горизонтально. 

Подобных примеров, когда необходимо красивое и правильное оформление документа, можно привести множество.

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

До изобретения компьютера и современных прикладных программ для решения подобных задач приходилось нанимать специалистов. Любой документ, где требовалось хоть какое-то оформление, надо было заказывать в типографии. Если вам требовалась красиво оформленная грамота, текст которой выполнен готическим шрифтом, то ее приходилось специально заказывать художнику. С

егодня прикладные программы избавили человека от подобных трудностей. Каждая прикладная среда обладает набором операций, позволяющих выполнить внешнее оформление документа в соответствии с предъявляемыми требованиями. Все операции по оформлению документа в целом или его объектов объединяются общим понятием - форматирование.

Форматирование - процесс представления внешнего вида документа или отдельных его объектов в требуемой форме.

Само слово форматирование происходит от слова «форма», то есть форматировать - означает придавать чему-либо форму.

Рис. 15.9. Уровни форматирования

В чем же состоит процесс форматирования документа средствами прикладной среды? Этот процесс можно представить в виде набора действий, выполняемых инструментами прикладной среды над документом в целом или его отдельными объектами (рисунок 15.9). При этом следует учитывать, в какой среде создавался объект, так как это определит используемый инструментарий работы.

Форматирование документа в целом

Каждый документ может быть сохранен в файле, отображен на экране, напечатан на бумаге. Причем на экране документ отображается именно в том виде, как он будет напечатан на бумаге (физической странице).

На физической странице всегда выделяется область, в которой размещаются объекты документа. Эта область получила название логической страницы (рисунок 15.10). Форматирование страницы документа в любой прикладной среде обычно предполагает установку таких параметров, как: ориентация страницы, поля, колонтитулы (см. рис. 15.10).

Рис. 15.10. Страница документа

Ориентация страницы - положение листа бумаги (физической страницы) в пространстве. Различают книжную и альбомную ориентации (рисунок 15.11). 

Рис. 15.11. Ориентация страницы

Поля - области физической страницы, используемые для размещения сопроводительной информации (сносок, колонтитулов и т. п.). Левое и правое поля обычно остаются незаполненными. В верхнем и нижнем полях могут располагаться колонтитулы.

Колонтитулы - служебная информация, размещаемая в верхнем или нижнем поле страницы. Например, это может быть фамилия автора, название документа, номер страницы и т. п.

Форматирование объектов документа

Любой документ состоит из объектов. Вид каждого объекта определяется средой, в которой он был создан. Например, в текстовом процессоре это символ, слово, абзац; в системе управления базой данных - поле, запись и т. д.

Такие объекты создаются и редактируются инструментами самой среды. Помимо этого, в документ могут быть внедрены объекты, созданные при помощи других прикладных программ.

Например, объемная надпись, рисунок, формула.

Перечислим параметры, общие для большинства объектов:

♦ размер;
♦ форма;
♦ местоположение в документе;
♦ положение относительно других объектов.

Размер объекта обычно измеряется по высоте и ширине. При этом объекты можно масштабировать, то есть пропорционально изменять их габариты, например размеры символа.

Форма объектов может быть произвольной, но наиболее распространенная - прямоугольная, например выделенный фрагмент текста.

Местоположение объекта в документе определяется относительно края страницы.

Положение объекта относительно других объектов документа при необходимости задается пользователем. Например, для рисунка в текстовом документе может быть установлено значение «относительно абзаца».

Помимо перечисленных, у каждого объекта могут иметься свои индивидуальные параметры, подлежащие форматированию. Например, цвет для текста или тень для автофигуры.

Можно выделить целую группу параметров форматирования, не являющихся общими для всех объектов, но одинаковых для любой среды. К таким параметрам относятся:

♦ шрифтовое оформление;
♦ цветовое оформление и узор;
♦ толщина, тип и штрих линии.

Шрифт. Под шрифтом понимают внешний вид символов алфавита. Например, к разным шрифтам относятся готическая фрактура и церковно-славянский устав (рисунок 15.12). Каждую конкретную реализацию шрифта называют начертанием.

Таких начертаний у каждого шрифта может быть несколько. Совокупность всех начертаний называют гарнитурой шрифта.

Начертания отличаются друг от друга толщиной штрихов, шириной букв, общим рисунком (прямое или курсивное) и др. Гарнитуры True Туре, используемые шрифтов в приложениях Windows, изначально содержат несколько базовых начертаний. Они различаются по виду и кеглю.

Рис. 15.12. Примеры шрифтов

Вид начертания . Из начертаний внутри одной гарнитуры чаще всего используются: обычное (прямое), курсивное, полужирное, полужирное курсивное (рисунок 15.13).

Рис. 15.13. Виды начертаний

Кегль. Это размер шрифта. По традиции, со времен типографского набора, кегль измеряют в пунктах (пт). Один пункт равен 0,35 мм. Существует ряд стандартных кеглей, например, как на рисунке 15.14. Меняя при компьютерном наборе кегль и вид начертания, можно создавать разнообразные варианты представления той или иной гарнитуры. 

Рис. 15.14. Символы разного кегля
начертания Bold гарнитуры
Century Old Style

Цвет. Многие объекты прикладных сред имеют параметр цвета. Объекты с однородной структурой, такие как символ, линия и т. п., окрашиваются только в один цвет. У объектов со сложной структурой (автофигура, ячейка, поле и т. п.) различают цвет линии (границы) и цвет заливки (фона) (рисунок 15.15).

Рис. 15.15. Окрашивание объектов сложной структуры

Узор. С понятием цвета тесно связано понятие узора. Поверхность объекта может быть заполнена не однотонным цветом, а узором. Спектр узоров достаточно разнообразен (рисунок 15.16). Узор формируется двумя цветами: фона и штриховки.

Рис. 15.16. Примеры узоров

Толщина, тип и штрих линии. Объект «линия» существует не только в графическом редакторе. Очень часто линия становится составной частью более сложных объектов. Например, плоские фигуры обычно имеют контур, образуемый линией (см. рис. 15.16). Линии друг от друга отличаются толщиной, типом, видом штриха.

Толщина линии. Линии могут иметь различную толщину. Величина этого параметра, так же как и размер шрифта, измеряется в пунктах. Обычно диапазон значений толщины линий колеблется от 1/4 до 6 пт (рисунок 15.17).

Рис. 15.17. Толщина линии

Тип линии. Линия простого типа представляет собой однородную прямую заданной толщины. Но очень часто бывает нужно провести, например, двойную линию. Практически во всех прикладных средах предусмотрена возможность выбора нужного типа линии из имеющихся шаблонов (рисунок 15.18).

Рис. 15.18. Тип линии

Тип штриха. Помимо непрерывных можно проводить линии, состоящие из штрихов. Такие линии применяются в тех случаях, когда нужно не ограничить какую-то область рамкой, а выделить главное в составе целого. Например, на рисунке 15.10 штриховыми линиями на листе бумаги обозначена область логической страницы. Типы штрихов приведены на рисунке 15.19.

Рис. 15.19. Тип штриха

Общая характеристика инструментов прикладной среды

Каждый специалист имеет собственный инструмент. Так, например, врач использует стетоскоп, скальпель и т. п. Столяр применяет в своей работе рубанок, киянку, стамеску. Художник вооружается для работы кистью, красками и мольбертом.

Работая на компьютере с тем или иным документом, человек использует в качестве инструментов прикладные программы, формирующие ту или иную прикладную среду. 

Сравнивая прикладную среду с привычными нам инструментами, можно сказать, что она похожа на перочинный ножик. В состав перочинного ножа входит множество разнообразных инструментов: нож, ножницы, отвертка, штопор, вилка и т. п. Все эти инструменты предназначены для разных работ. Вместе их объединили только по одному признаку - эти инструменты нужны человеку во время похода или в другой ситуации, когда обычные нож, вилка и т. п. недоступны. Каждая прикладная среда также имеет соответствующие инструменты, обеспечивающие работу пользователя с документом.

Существуют разные способы для работы с этим инструментом: можно использовать кнопки на панели инструментов или выбирать соответствующие команды меню. Каким бы способом вы ни воспользовались, вы все равно будете работать с одним и тем же инструментом.

Инструменты прикладной среды - совокупность средств приклад- ной среды для работы с документом и его объектами.

Инструменты различают между собой прежде всего по их назначению. Одни инструменты предназначены для работы с файлами, другие - для обработки данных в приложении и т. д.

Управление инструментами прикладной среды сосредоточено в основном меню (см. рис. 15.8). Представьте себе Центр управления полетами космических кораблей. В нем задействовано огромное количество людей и технических устройств (локаторы, антенны, спутники и т. д.). Большинство из них находится далеко за пределами Центра. Несмотря на это, все они управляются именно отсюда.

Точно так же управление всеми инструментами прикладной среды осуществляется с помощью команд основного меню. Наименования этих команд обычно совпадают с названиями соответствующих инструментов.

Команды по своему назначению объединены в группы, которые называются именами меню (Файл, Правка и т. д.). Эти имена образуют верхний уровень основного меню (рисунок 15.20). Такое меню называется многоуровневым, так как оно содержит команды, объединенные по своему назначению в группы.

Каждая группа раскрывается щелчком мыши на ее имени. После этого появляется меню следующего уровня, позволяющее выбрать нужную команду в группе. В ряде случаев при выборе команды открывается подменю более низкого уровня. На самом нижнем уровне нередко бывает необходимо уточнить параметры команды, указав необходимые значения в открывшемся диалоговом окне.

ОСНОВНОЕ МЕНЮ ПРИКЛАДНОЙ СРЕДЫ

Рис. 15.20. Основное меню прикладной среды

На рисунке 15.20 приведены только те имена меню, которые являются общими для большинства сред. Специфические имена будут рассмотрены в темах, посвященных конкретным прикладным средам.

Файл. Это меню объединяет команды для работы с файлами и документом в целом: создать новый файл, открыть существующий, сохранить редактируемый файл, сохранить копию файла под другим именем и/или в другом месте, установить параметры страницы, вывести редактируемый файл на печать.

Создаваемый прикладной средой документ может быть представлен в различных формах:

В экранной форме, то есть в виде отображенного на экране монитора документа с внедренными в него объектами;
в форме твердой копии, то есть в виде распечатки созданного документа на принтере;
в электронной форме - в виде файла на диске.

Результат работы с любой прикладной программой обязательно должен быть сохранен в файле на диске. Без этого невозможно ни продолжение работы, ни передача созданного документа на другой компьютер и т. п.

Правка. Список команд этого раздела обычно открывают команды отмены (откатки) и повтора (возврата). Команда откатки позволяет отменить последнее действие, а команда повтора - вернуть последнюю из отмененных операций. Этот раздел меню включает в себя команды редактирования содержимого объектов документа. И хотя для каждой прикладной среды эти объекты разные, общий для прикладной среды механизм обмена данными позволяет применять однотипные операции для всех объектов.

Для копирования и перемещения различных объектов используется буфер обмена или технология OLE (см. п. 14.7). С их помощью можно осуществлять интеграцию данных различных прикладных сред.

ОБРАТИТЕ ВНИМАНИЕ!
При записи в буфер обмена любого нового объекта ранее помещенный туда объект не сохраняется (удаляется).

Технология выполнения копирования и перемещения через буфер обмена любых объектов состоит в следующем:

Выделить нужный объект;
перенести его в буфер обмена; для этого можно воспользоваться командами Вырезать или Копировать из меню Правка;
установить курсор в нужное место редактируемого документа;
вставить объект из буфера в указанное курсором место.

Если при этом объект был удален командой Вырезать в буфер, то произойдет его перемещение на новое место в документе. 

Если же объект был скопирован в буфер (команда Копировать) , то в новом месте документа появится его дубликат.

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

Вид. Это меню предназначено для выбора различных способов отображения документа на экране, настройки вывода на экран используемых инструментов, добавления колонтитулов, изменения масштаба отображения документа на экране и др.

Вставка. В этом разделе меню сгруппированы команды по размещению в специфической управляющей информации, а также для внедрения и связывания объектов по технологии OLE (см. тему 14).

Формат. Раздел меню Формат содержит команды, с помощью которых выполняется форматирование объектов документа, созданных в данной среде. Обычно имена команд совпадают с названиями объектов, например: Абзац, Строка, Столбец, Лист.

Помимо команд форматирования конкретных объектов здесь же находятся команды, определяющие стили и автоформат.

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

Сервис. Это меню обеспечивает дополнительные возможности прикладной среды. Предоставление этих возможностей обеспечивается запуском на выполнение программ прикладной среды, например для проверки орфографии.

Другим примером может служить адресная книга . Эта программа хранит сведения о людях, с которыми вам часто приходится иметь дело. Она может быть использована для отправки вашего документа по адресу, хранящемуся в списке адресов, или для вставки обращения в документ, предназначенный конкретному лицу.

Окно. К этому меню следует обращаться при работе с несколькими открытыми в прикладной среде документами для  настроики параметров их окон и перехода от одного документа к другому. Команды этого пункта позволяют упорядочивать открытые окна несколькими различными способами. Например, каскадом или мозаикой (рис 15.21).

Рис. 15.21. Способы упорядочивания окон

Справка. Вы всегда можете получить подсказку по всем инструментам текущей прикладной среды, выбрав меню с символом ? .

Контрольные вопросы и задания

1. Что такое прикладная среда?

2. Приведите примеры, в которых можно провести аналогию с прикладными средами.

3. В чем причина многообразия прикладных сред?

4. Для чего нужна прикладная среда?

5. Какие вы знаете особенности прикладных сред Windows?

6. В чем состоит наглядность прикладных сред Windows?

7. Как проявляется в работе многозадачность?

8. Как можно организовать обмен объектами между разными документами?

9. Чем способ обмена данными через буфер отличается от технологии OLE?

10. Что такое составной документ?

11. Из каких структурных частей состоит интерфейс любой прикладной среды?

12. Что понимается под редактированием документа?

13. Что понимается под форматированием документа?

14. Какие параметры форматирования вы знаете?

15. Что подразумевается под инструментами прикладной среды?

16. В чем состоит назначение основного меню прикладной среды и какие типовые группы в нем можно выделить?

Введение

Представление информатики как научной дисциплины связано с рассмотрением проблем организации вычислений и обработки информации с помощью ЭВМ и внутри ЭВМ, а также принципов организации и работы машинных интеллектуальных систем (систем искусственного интеллекта) на ЭВМ.

Изучение принципов обработки информации и организации вычислений проводится на примерах решения экономических задач, при этом решение задач доводится до получения результатов на ЭВМ путем составления калькуляций, баз данных и программ с параллельным анализом и доказательством правильности получаемых результатов.

В современном компьютере для решения одной задачи используется не одна программа, а сразу несколько. Несколько прикладных программ, объединённых для решения одной пользовательской задачи, называют приложением или прикладной средой.

Прикладная среда - это компьютерная среда, формируемая прикладными программами.

Каждая прикладная среда создавалась для обработки информации, представленной в той или иной форме. Пользователь персонального компьютера должен знать наиболее часто используемые прикладные среды: графический редактор, текстовый редактор, систему обработки электронных таблиц, систему управления базой данных.

В качестве весьма удобных и широко распространенных программных приложений для работы с различными видами данных являются прикладные программы Microsoft Office, созданный для работы в среде Windows.

Решение задач в определенной проблемной области можно решить с помощью прикладных программ. При проведении сложных математических вычислений можно использовать функции программы Excel.

Прикладное программное обеспечение

Программное обеспечение -- это совокупность программ, позволяющих осуществить на компьютере автоматизированную обработку информации. Программное обеспечение делится на системное (общее) и прикладное (специальное).

Системное программное обеспечение обеспечивает функционирование и обслуживание компьютера, а также автоматизацию процесса создания новых программ. К системному программному обеспечению относятся: операционные системы и их пользовательский интерфейс; инструментальные программные средства; системы технического обслуживания.

Операционная система -- обязательная часть специального программного обеспечения, обеспечивающая эффективное функционирование персонального компьютера в различных режимах, организующая выполнение программ и взаимодействие пользователя и внешних устройств с ЭВМ.

Пользовательский интерфейс (сервисные программы) -- это программные надстройки операционной системы (оболочки и среды), предназначенные для упрощения общения пользователя с операционной системой.

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

Интерфейсные системы -- это мощные сервисные системы, чаще всего графического типа, совершенствующие не только пользовательский, но и программный интерфейс операционных систем, в частности, реализующие некоторые дополнительные процедуры разделения дополнительных ресурсов.

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

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

Инструментальные программные средства (системы программирования) -- обязательная часть программного обеспечения, с использованием которой создаются программы. Инструментальные программные средства включают в свой состав средства написания программ (текстовые редакторы); средства преобразования программ в вид, пригодный для выполнения на компьютере (ассемблеры, компиляторы, интерпретаторы, загрузчики и редакторы связей), средства контроля и отладки программ.

Текстовые редакторы позволяют удобно редактировать, формировать и объединять тексты программ, а некоторые -- и контролировать синтаксис создаваемых программ.

Средства отладки позволяют выполнять трассировку программ (пошаговое выполнение с выдачей информации о результатах исполнения), производить проверку синтаксиса программы и промежуточных результатов в точках останова, осуществлять модификацию значений переменных в этих точках.

Системы технического и сервисного обслуживания представляют собой программные средства контроля, диагностики и восстановления работоспособности компьютера, дисков и т. д.

Пакет прикладных программ -- это совокупность программ для решения круга задач по определенной тематике или предмету. Различают следующие типы пакетов прикладных программ:

общего назначения -- ориентированы на автоматизацию широкого круга задач пользователя (текстовые процессоры, табличные редакторы, системы управления базами данных, графические процессоры, издательские системы, системы автоматизации проектирования и т. д.);

методо-ориентированные -- реализация разнообразных экономико-математических методов решения задач (математического программирования, сетевого планирования и управления, теории массового обслуживания, математической статистики и т. д.);

проблемно-ориентированные -- направлены на решение определенной задачи (проблемы) в конкретной предметной области (банковские пакеты, пакеты бухгалтерского учета, финансового менеджмента, правовых справочных систем и т. д.).

Наиболее распространенным в России в настоящее время является пакет Microsoft Office. Это связано с тем, что фирма Microsoft - автор Windows и Microsoft Office (MS Office) - логично вписывается в интерфейс Windows. Понимая логику работы с Windows, достаточно легко освоить прикладные окна программных средств, входящих в MS Office. Кроме того, совместное выполнение ряда программных средств, входящих в MS Office, позволяет гибко распределять их ресурсы и работу, увеличивать общую производительность.

В MS Office входят текстовый редактор Word, табличный процессор Excel, средство для создания баз данных Access, а также специальные программы для работы офисов. Среди этих программ Microsoft Outlook - средство доступа к разнообразной информации и её коллективной обработки, PowerPoint - мощное приложение для подготовки и проведения презентаций, FrontPage - приложение для создания Web- страниц и ряд других.

В связи с появлением версии операционной системы Windows 2000 разработана новая версия офисного пакета MS Office 2000. Основная особенность перечисленных операционных систем - высокий уровень интеграции с Интернетом. В настоящее время пакет MS Office 2000 начал внедряться.

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

В целом основная тенденция в развитии программных продуктов данного пакета - повышение «интеллектуальности». С каждой новой версией офисных продуктов улучшаются встроенные в эти средства возможности грамматического и лексического контроля. В новой системе меню предполагается отображать только наиболее часто используемые функции, причем каждый пользователь может настраивать структуру меню «под себя».

Для руководителя офиса (главного бухгалтера, финансового директора и т.п.) необходимо иметь представление о новых возможностях программных средств MS Office для совместной работы многих пользователей. Помимо этого большое значение для организации управления офисом имеет возможность информационного обмена между сотрудниками.

Особенности Windows-приложений

Наглядность

Важным достоинством Windows-приложений является наглядность.Во-первых, все инструменты среды, имеющиеся в распоряжении пользователя, могут быть представлены графически в виде командных кнопок, расположенных на специальной панели. Под инструментами понимаются команды основного меню, позволяющие пользователю производить действия над объектами прикладной системы. На командных кнопках помещается графическое изображение инструмента. В настоящее время изображения на кнопках стандартизированы, так что можно говорить о специальном языке компьютерных обозначений. Каждая среда имеет набор стандартных инструментов, таких как:

Кнопки с этими инструментами размещаются на панели, называющейся Стандартная панель.

Во-вторых, документы, создаваемые в приложениях, отображаются на экране точно в таком виде, в каком будут распечатаны на бумаге. Это особенно важно, когда заранее известно, какого формата должен быть конечный документ.

Многозадачность

Еще одной отличительной особенностью Windows-приложений является работа в многозадачном режиме. На рабочем столе могут быть одновременно открыты сразу несколько документов, созданных различными приложениями. Можно одновременно редактировать рисунок, писать письмо, производить расчеты.

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

Организация обмена данными

Другой важной особенностью прикладных сред Windows является возможность обмена данными между приложениями. Системная среда предоставляет два различных способа для обмена данными между приложениями: через буфер обмена и по технологии OLE.

Обмен через буфер позволяет либо переместить объект документа на новое место, либо поместить на новое место или в новый документ копию объекта, не сохраняя связи с приложением, в котором этот объект создавался.

Технология OLE, которую предоставляет программная среда Windows, поддерживает постоянный контакт между прикладной средой, куда объект внедряется, и прикладной средой, где этот объект был создан. Применение технологии OLE эффективно в тех случаях, когда один и тот же объект используется в разных документах.

Создание составных документов

Организация обмена данными между прикладными средами обеспечивает их интеграцию. Под интеграцией прикладных сред понимается такое их объединение, когда становится возможным совместное использование объектов каждой из этих сред.

Например, пользователь должен сделать справку по группе сотрудников отдела продаж и привести в справке их фотографии. Очевидно, что основой отчета станет текстовый документ. Помимо этого в распоряжении пользователя имеется база данных по сотрудникам, где производится поиск данных о работниках отдела продаж. Результат поиска (выборка) помещается в текстовый документ, в котором помимо собственных объектов присутствуют выборка из базы данных и фотографии.

Выходом в таких случаях является использование так называемых прикладных программных сред. Одной из составляющих, формирующих прикладную программную среду, является набор функций интерфейса прикладного программирования API, которые операционная система предоставляет своим приложениям. Для сокращения времени на выполнение чужих программ прикладные среды имитируют обращения к библиотечным функциям.

Эффективность этого подхода связана с тем, что большинство сегодняшних программ работают под управлением GUI (Graphic User Interface графических интерфейсов пользователя) типа Windows, Mac или UNIX Motif, при этом приложения тратят большую часть времени, производя некоторые хорошо предсказуемые действия. Они непрерывно выполняют вызовы библиотек GUI для манипулирования окнами и для других связанных с GUI действий. Сегодня в типичных программах 6080 % времени тратится на выполнение функций GUI и других библиотечных вызовов ОС. Именно это свойство приложений позволяет прикладным средам компенсировать большие затраты времени, потраченные на покомандное эмулирование программы. Тщательно спроектированная программная прикладная среда имеет в своем составе библиотеки, имитирующие внутренние библиотеки GUI, но написанные на «родном» коде, и этим достигается существенное ускорение выполнения программ с API другой операционной системы. Иногда такой подход называют трансляцией для того, чтобы отличать его от более медленного процесса эмулирования кода по одной команде за раз.

Например, для Windows-программы, работающей на Macintosh, при интерпретации команд процессора Intel 80x86 производительность может быть очень низкой. Но когда производится вызов функции GUI открытия окна, модуль ОС, реализующий прикладную среду Windows, может перехватить этот вызов и перенаправить его на перекомпилированную для процессора Motorola 680x0 подпрограмму открытия окна. В результате на таких участках кода скорость работы программы может достичь (а возможно, и превзойти) скорость работы на своем «родном» процессоре.

Чтобы программа, написанная для одной ОС, могла быть выполнена в рамках другой ОС, недостаточно лишь обеспечить совместимость API. Концепции, положенные в основу разных ОС, могут входить в противоречие друг с другом. Например, в одной операционной системе приложению может быть разрешено непосредственно управлять устройствами ввода-вывода, в другой  эти действия являются прерогативой ОС. Каждая операционная система имеет свои собственные механизмы защиты ресурсов, свои алгоритмы обработки ошибок и исключительных ситуаций, особую структуру процесса и схему управления памятью, свою семантику доступа к файлам и графический пользовательский интерфейс. Для обеспечения совместимости необходимо организовать бесконфликтное сосуществование в рамках одной ОС нескольких способов управления ресурсами компьютера.

3. 7. 3. Способы реализации прикладных программных сред

Создание полноценной прикладной среды, полностью совместимой со средой другой операционной системы, является достаточно сложной задачей, тесно свя­занной со структурой операционной системы. Существуют различные варианты построения множественных прикладных сред, отличающиеся как особенностями архитектурных решений, так и функциональными возможностями, обеспечиваю­щими различную степень переносимости приложений.

Во многих версиях ОС UNIX транслятор прикладных сред реализуется в виде обычного приложения. В операционных системах, построенных с использовани­ем микроядерной концепции, таких, как, например, Windows NT, прикладные среды выполняются в виде серверов пользовательского режима. А в OS/2 с ее более простой архитектурой средства организации прикладных сред встроены глубоко в операционную систему.

Один из наиболее очевидных вариантов реализации множественных приклад­ных сред основывается на стандартной многоуровневой структуре ОС. На рис. 3. 8 операционная система OS1 поддерживает кроме своих «родных» приложений приложения операционной системы OS2. Для этого в ее составе имеется специальное приложение – прикладная программная среда, которая транс­лирует интерфейс «чужой» операционной системы –API OS2 в ин­терфейс своей «родной» операционной системы – API OS1.

Рис. 3. 8. Прикладная программная среда, транслирующая системные вызовы

В другом варианте реализации множественных прикладных сред операционная система имеет несколько равноправных прикладных програм-мных интерфейсов. В приведенном на рис. 3. 9примере операционная си-стема поддерживает прило­жения, написанные для OS1, OS2 и OS3. Для этого непосредственно в простран­стве ядра системы размещены прикладные программные интерфейсы всех этих ОС: API OS1, API OS2 и API OS3.

Рис. 3. 9. Реализация совместимости на основе нескольких равноправных API

В этом варианте функции уровня API обращаются к функциям нижележащего уровня ОС, которые должны поддерживать все три в общем случае несовмести­мые прикладные среды. В разных ОС по-разному осуществляется управление системным временем, используется разный формат времени дня, на основании собственных алгоритмов разделяется процессорное время и т. д. Функции каж­дого API реализуются ядром с учетом специфики соответствующей ОС, даже если они имеют аналогичное назначение.

Еще один способ построения множественных прикладных сред основан на мик­роядерном подходе. При этом очень важно отделить базовые, общие для всех прикладных сред, механизмы операционной системы от специфических для каж­дой из прикладных сред высокоуровневых функций, решающих стратегические задачи.

В соответствии с микроядерной архитектурой все функции ОС реализуются мик­роядром и серверами пользовательского режима. Важно, что каждая прикладная среда оформляется в виде отдельного сервера пользовательского режима и не включает базовых механизмов (рис. 3. 10). Приложения, используя API, обра­щаются с системными вызовами к соответствующей прикладной среде через микроядро. Прикладная среда обрабатывает запрос, выполняет его (возможно, обращаясь для этого за помощью к базовым функциям микроядра) и отсылает приложению результат. В ходе выполнения запроса прикладной среде приходит­ся, в свою очередь, обращаться к базовым механизмам ОС, реализуемым микро­ядром и другими серверами ОС.

Рис. 3. 10. Микроядерный подход к реализации множественных прикладных сред

Такому подходу к конструированию множественных прикладных сред присущи все достоинства и недостатки микроядерной архитектуры, в частности:

    очень просто можно добавлять и исключать прикладные среды, что является следствием хорошей расширяемости микроядерных ОС;

    надежность и стабильность выражаются в том, что при отказе одной из при­кладных сред все остальные сохраняют работоспособность;

    низкая производительность микроядерных ОС сказывается на скорости рабо­ты прикладных сред, а значит, и на скорости выполнения приложений.

Создание в рамках одной операционной системы нескольких прикладных сред для выполнения приложений различных ОС представляет собой путь, который позволяет иметь единственную версию программы и переносить ее между опера­ционными системами. Множественные прикладные среды обеспечивают совмес­тимость на двоичном уровне данной ОС с приложениями, написанными для других ОС. В результате пользователи получают большую свободу выбора опе­рационных систем и более легкий доступ к качественному программному обес­печению.

Вопросы для самопроверки

    Что понимают под архитектурой ОС?

    Какие три основных слоя принято выделять в структуре вычислительной системы?

    Какая роль возложена ОС на интерфейс системных вызовов?

    Какие условия при проектировании ОС должны быть соблюдены с тем, чтобы ОС была легко переносимой?

    В чем отличие микроядерной архитектуры от традиционной архитектуры ОС?

    Почему микроядро хорошо подходит для поддержки распределенных вычислений?

    Что подразумевается под концепцией множественных прикладных сред?

    В чем суть метода трансляции библиотек?