Документо-ориентированный подход и концепция OLE

Основные Принципы организации операционных систем на примере Windows

 

Основные свойства Windows

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

2. Виртуальная память

3. Страничная организация памяти с линейной адресацией

4. Защищенный режим работы

5. Независимость от компьютерной платформы и совместимость с другими операционными системами

6. Графический интерфейс пользователя

7. Технология Plug and Play – автоматического конфигурирования устройств

8. Использование средств мультимедиа

9. Встроенная поддержка сети

 

 

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

 

Задачей принято называть загруженную в память программу, которая выполняет определенную работу. Задача является единицей работы компьютера. В Windows NT и Unix используют синоним понятия «задача» - «процесс».

 

Многозадачность (англ. multitasking) — свойство операционной системы или среды программирования обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких процессов.

 

 

В Windows используются две модели многозадачности:

· совместная или кооперативная многозадачность;

· вытесняющая или приоритетная многозадачность.

 

 

Виртуальная память

 

Виртуальное адресное пространство — это максимально доступное приложению адресное пространство.

 

Виртуальная память это потенциально адресуемая память, но не реальная физическая память, объем которой ограничен.

 

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

 

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

 

 

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

Защита памяти (англ. Memory protection) — способ управления правами доступа к отдельным областям памяти.

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

 

 

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

 

Термин «Windows – виртуальная машина» обозначает среду, в которой выполняются приложения (задачи, процессы).

 

Это понятие включает в себя:

· виртуальное адресное пространство задачи;

· содержимое аппаратных регистров процессора;

· ресурсы, выделенные задаче в соответствии с ее привилегиями.


Архитектура Windows NT

 

«Сердцем» операционной системы Windows NT является ядро.

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

Ядро осуществляет функции управления самого нижнего уровня.

Ядро управляет выделением аппаратных и программных ресурсов задачам клиентов Windows.

 

Ядро окружено исполнительной частью системы (Executive). Исполнительная система получает работу от пользовательских или системных задач и распределяет ее между своими компонентами:

 

Менеджер объектов.

Монитор безопасности.

Менеджер процессов.

Менеджер виртуальной памяти.

Менеджер ввода-вывода.

Менеджер окон.

Интерфейс графических устройств (GDI - Graphical Device Interface) - графическое ядро системы.

Драйверы графических устройств.

 

 

Независимость от аппаратных средств обеспечивает компонент ОС, работающий в режиме ядра т.н. уровень (слой) аппаратных абстракций (HAL – Hardware Abstraction Layer). HAL располагается на самом низком уровне исполняющей системы Windows между аппаратными средствами и остальными частями операционной системы. Этот уровень скрывает (или абстрагирует) особенности аппаратных платформ от верхних уровней операционной системы

 



Операционная система Windows разработана таким образом, чтобы обеспечивать прозрачную работу приложений различных типов под управлением одной и той же графической оболочки. Под управлением Windows NT можно запускать приложения, написанные для различных операционных систем, с использованием соответствующих API (Application Programming Interface - интерфейс прикладного программирования)., включая MS DOS, OS/2, Windows 3-х, POSIX и Win32.


Документо-ориентированный подход и концепция OLE

 

В оболичке Windows реализованы:

1. Графический интерфейс пользователя (ГИП).

2. Эргономический подход.

3. Принцип WYSIWYG (What You See Is What You Get)

4. Документо-ориентированный подход (ДОП).

 

Процедурно-ориентированный подход.

Документо-ориентированный подход.

 

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

 

В документо-ориентированном подходе используется принцип «метафора рабочего стола», согласно которому

 

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

 

OLE – концепция

Аббревиатура OLE обозначает Objects Linking and Embedding (связывание и встраивание объектов).

OLE - способ обеспечения целостности основы обмена сложными данными и взаимодействия приложений

OLE-технология была разработана Microsoft в 1992-93 гг.

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

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

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

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

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

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

Существует несколько видов OLE, отличающихся по способу активации OLE сервера.

OLE версии 1 запускает сервер в отдельном окне.

OLE версии 2запускает сервер "внутри" приложения-клиента, модифицирует вид системного меню, линейки инструментов и др.

Тип OLE объекта, помещенного в программу-клиент, определяется тем, какую версию OLE поддерживает сервер.


Идеи OLE-концепции получили дальнейшее развитие (Microsoft 1996 г) в технологии ActiveX на основе COM (Component Object Model) – компонентной объектной модели программного обеспечения.

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

В качестве компонентов, с помощью которых реализуется новая технология, используются управляющие элементы ActiveX.

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

ActiveX - компоненты могут быть специализированы на решение определенных типов задач. Особенно популярны в Web-приложениях.