~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 3E04585435A0B929958C3C5C7A1E95A9__1718787420 ✰
Заголовок документа оригинал.:
✰ Software portability - Wikipedia ✰
Заголовок документа перевод.:
✰ Переносимость программного обеспечения — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Software_portability ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/3e/a9/3e04585435a0b929958c3c5c7a1e95a9.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/3e/a9/3e04585435a0b929958c3c5c7a1e95a9__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 00:44:34 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 19 June 2024, at 11:57 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Переносимость программного обеспечения — Википедия Jump to content

Переносимость программного обеспечения

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

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

Стратегии [ править ]

Переносимость программного обеспечения может включать в себя:

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

Подобные системы [ править ]

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

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

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

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

Различные процессоры [ править ]

По состоянию на 2011 год в большинстве настольных и портативных компьютеров использовались микропроцессоры, совместимые с 32- и 64-битными x86 наборами команд . В портативных устройствах меньшего размера используются процессоры с разными и несовместимыми наборами инструкций, например ARM . Разница между большими и меньшими устройствами такова, что детали работы программного обеспечения различаются; приложение, предназначенное для удобного отображения на большом экране, не может быть просто перенесено на карманный смартфон с крошечным экраном, даже если его функциональность аналогична.

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

Переносимость исходного кода [ править ]

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

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

Попытка портировать исходный код [ править ]

Даже в таких, казалось бы, переносимых языках, как C и C++ , усилия по переносу исходного кода могут значительно различаться. Авторы UNIX/32V (1979) сообщили, что «оболочка (Bourne) [...] потребовала самых больших усилий по преобразованию среди всех предположительно переносимых программ по той простой причине, что она не является переносимой». [1]

Иногда усилия заключаются в перекомпиляции исходного кода, но иногда необходимо переписать основные части программного обеспечения. Многие спецификации языка описывают поведение, определяемое реализацией (например, сдвиг вправо целого числа со знаком в C может выполнять логический или арифметический сдвиг). Функции операционной системы или сторонние библиотеки могут быть недоступны в целевой системе. Некоторые функции могут быть доступны в целевой системе, но вести себя несколько иначе, например: utime()не работает под Windows с EACCES, когда он вызывается для каталога). Программный код может содержать непереносимые элементы, например пути к включаемым файлам, буквы дисков или обратную косую черту. Определенные реализацией такие вещи, как порядок байтов и размер int, также могут увеличить усилия по портированию. На практике утверждение языков, таких как C и C++ , о наличии WOCA ( написать один раз, компилировать где угодно ) является спорным.

См. также [ править ]

Ссылки [ править ]

  1. ^ Томас Б. Лондон и Джон Ф. Райзер (1978). Операционная система Unix для компьютера DEC VAX-11/780 . Внутренняя памятка Bell Labs 78-1353-4.

Источники [ править ]

  • Муни (1997). «Переносимость процесса разработки программного обеспечения» (PDF) . (помощь) . Университет Западной Вирджинии. Кафедра статистики и информатики. Архивировано из оригинала (PDF) 25 июля 2008 г. Проверено 17 марта 2008 г.
  • Гарен (2007). «Переносимость программного обеспечения: взвешивание вариантов, принятие решений» . Журнал CPA . 77 (11): 3. Архивировано из оригинала 8 июля 2010 г.
  • Лихи (1995). «Портирование программного обеспечения UNIX: от загрузки до отладки» (PDF) . (помощь) . Проверено 27 мая 2010 г.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 3E04585435A0B929958C3C5C7A1E95A9__1718787420
URL1:https://en.wikipedia.org/wiki/Software_portability
Заголовок, (Title) документа по адресу, URL1:
Software portability - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)