1 / 22

Проблема переносимости приложений: сорок лет спустя

Проблема переносимости приложений: сорок лет спустя. Алексей Хорошилов khoroshilov@ispras.ru. SECR-2008 24 октября 2008. Переносимость. Переносимость. между различными аппаратными платформами

bishop
Download Presentation

Проблема переносимости приложений: сорок лет спустя

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Проблемапереносимости приложений:сорок лет спустя Алексей Хорошилов khoroshilov@ispras.ru SECR-2008 24 октября 2008

  2. Переносимость

  3. Переносимость • между различными аппаратными платформами • между различными операционными системами • между различными версиями одной операционной системы • между программными окружениями промежуточного уровня

  4. Примеры из настоящего • MacOS • Школьный Linux

  5. Переносимость между аппаратными платформами • На уровне исходных кодов • Интерпретируемые языки • Компилируемые языки • На бинарном уровне • Аппаратная эмуляция • Эмуляция в ОС • Эмулятор как независимое приложение • Динамическая трансляция

  6. Взгляд с точки зрения доставки ПО • В исходных кодах • Компиляция при установке • Компиляция на лету • Интерпретация (ВМЯП) • Предкомпилированный код для нескольких платформ • Выбор на этапе установки • “Fat binary” • Динамическая трансляция • Эмуляция

  7. Переносимость между операционными системами • Языки программирования • Стандартизация • Библиотеки-медиаторы • Слои совместимости • Виртуализация • Веб-приложения

  8. Языки программирования • Стандартная библиотека времени исполнения • Не все особенности ОС скрываются ЯП • Пути в файловых системах Windows и Unix • Взаимодействие с внешним ПО

  9. Стандартизация • На уровне исходного кода • POSIX • X Window System Application Interface • На бинарном уровне • OSF/1 • Linux Standard Base

  10. SDL OpenGL XPCOM cairo OpenSSL gtk+ nss wxWidgets Qt glib apr nspr Библиотеки-медиаторы • Выделение платформенно-зависимого кода в отдельную библиотеку • Использование одной существующих библиотек:

  11. Слои совместимости • wine – слой совместимости с WinAPI для Linux, MacOS, Solaris, FreeBSD,… • на бинарном уровне • cygwin - слой совместимости с Linux для ОС Windows • на уровне исходных кодов

  12. Виртуализация • VMWare Workstation, … • Microsoft VirtualPC, … • Sun VirtualBox • Xen • Parallels Workstation, … • …

  13. Веб-приложения

  14. Примеры переносимого ПО

  15. Недостатки • Снижение производительности • Удорожание процесса разработки • Усложнение архитектуры • Дополнительные требования к квалификации разработчиков • Дополнительное тестирование • Увеличение сроков разработки • Осложнение использования возможностей отдельных платформ • Зависимость от поставщиков дополнительных компонентов

  16. Недостатки

  17. А нужна ли переносимость? О.Роден Мыслитель, 1880

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

  19. Заказчики ПО • Парк аппаратного и программного обеспечения и перспективы его развития • Риски попадания в зависимость от поставщиков • Дополнительные затраты на обеспечение переносимости ПО

  20. Разработчики ПО • Заказное ПО • Интересы заказчика • Собственные потребности по возможному переиспользованию • Коробочное ПО • Исследования рынка • Перспективы развития

  21. Выводы • Переносимость ПО требуется не всегда • Чем больше время жизни ПО, тем актуальнее переносимость • Решение о необходимости обеспечения переносимости ПО необходимо осознанно принимать в зависимости от условий конкретного проекта

  22. Спасибо! Алексей Хорошилов, ИСП РАН e-mail: khoroshilov@ispras.ru www: http://www.ispras.ru

More Related