Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





Динамические библиотеки отчасти решали проблему в пределах одной программы. Бо́льшие возможности декомпозиции и агрегирования открываются при организации взаимодействия нескольких программ (процессов) в пределах одного процессора. Механизмы обмена данными и синхронизации (т. н. IPC – Inter Process Communication) обеспечиваются многозадачной операционной системой (сообщения, общие области памяти, семафоры и пр.). Поскольку обмен данными осуществляется посредством операционной системы на уровне машинных кодов, то каждая из взаимодействующих программ может быть разработана на любом из языков программирования.

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

Для языков, которые не предоставляют механизмы взаимодействия между процессами, разрабатываются библиотеки-надстройки над ОС или т. н. фасады (соответствуют шаблону «Фасад»). Фасады определяют упрощенный и обобщенный программный интерфейс (API – Application Program Interface) взаимодействия процессов. При портировании приложения под другую ОС интерфейсы фасадов остаются неизменными – меняется только реализация библиотеки (точнее небольшие ее части). Прикладная часть программы не изменяется, поскольку использует неизменный интерфейс фасадов. Примером такого подхода является библиотека ACE [11, 12]. Данная библиотека, написанная на С++ и портированная под десятки ОС, получила широкое распространение в промышленности, особенно для встраиваемых систем.

Также начали появляться технологии, которые позволяли не только посылать/принимать сообщения между приложениями, но и вызывать методы (подпрограммы) одного приложения из другого. Одной из таких технологий была модель COM (Component Object Model). COM обеспечивает взаимодействие программных компонент на компьютере под управлением Windows в объектном стиле. Компоненты-серверы регистрируют в системе свои сервисы в виде классов. Компоненты-клиенты обращаются с запросами к зарегистрированным в системе сервисам.

Примечательной особенностью технологии СОМ является введения языка интерфейсов MIDL (Microsoft Interface Definition Language). MIDL не предназначен для программирования исполняемого кода. На нем специфицируются интерфейсы СОМ-серверов, которые затем регистрируются в системе и которыми пользуются клиенты. Можно сказать, что язык интерфейсов, типа MIDL, является абстракцией более высокого уровня, используемый для взаимодействия программ.

Date: 2015-09-24; view: 425; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию