Задачи системы управления программным обеспечением

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

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

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

Формы распространения программного обеспечения

В двоичной форме или в исходных текстах?

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

Рисунок 3.15. Распространение ПО в двоичной форме

В настоящий момент распространение программ в бинарном виде характерно только для проприетарных версий UNIX: AIX, HP-UX, MacOS X, Solaris и др. Эти версии UNIX чаще всего поставляются для небольшого регламентированного списка аппаратных платформ.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: