Портирование программного обеспечения: различия между версиями

к удалению
(стд. оформление Вступления)
(к удалению)
{{К удалению|2012-01-02}}
{{нет источников|date=2008-01-07}}
{{другие значения термина|Порт}}
'''Порти́рование'''  — в [[программирование|программировании]] под порти́рованием понимают [[Адаптация (кибернетика)|адаптацию]] некоторой [[компьютерная программа|программы]] или её части, с тем чтобы она работала в другой [[Среда программирования|среде]], отличающейся от той среды, под которую она была изначально написана с максимальным сохранением её пользовательских свойств. В этом основное отличие понятий ''порт'' и ''форк''  — в первом случае все пользовательские свойства пакета стараются сохранить, а во втором  — это базирующаяся на общей основе самостоятельная разработка с новыми полезными свойствами.
 
[[Процесс]] портирования также называют ''портированием'' или ''переносом'', а результат — ''портом''. Но в любом случае главной задачей при портировании является сохранение привычных пользователю интерфейса и приёмов работы с пакетом и его свойств. Добавление новых или удаление части имеющихся свойств при портировании программных продуктов не допускается. <br />
Портирование  — включение кода программы в работу [[Аппаратно-программное обеспечение|Аппаратно-программного обеспечения]].
 
__NOTOC__
# Портируемость — как свойство программного обеспечения, описывающее, насколько легко это ПО может быть портировано. По мере развития операционных систем, языков и техники программирования, становится всё проще портировать программы между различными платформами. Одной из изначальных целей создания [[Си (язык программирования)|языка Си]] и стандартной библиотеки этого языка — была возможность простого портирования программ между несовместимыми аппаратными платформами. Дополнительные преимущества в плане портируемости могут иметь программы, удовлетворяющие специальным стандартам и правилам написания (см., например [[Smart Package Manager]]).
 
Необходимость в выполнении портирования возникает обычно из-за различий в системе команд [[процессор]]а, различий между способами взаимодействия [[операционная система|операционной системы]] и программ ([[API]] - — Application Program Interface), принципиальных различий в архитектуре вычислительных систем, либо по причине некоторых несовместимостей или даже полного отсутствия используемого [[язык программирования|языка программирования]] в целевом окружении.
 
Международные стандарты (в частности, продвигаемые [[ISO]]) значительно упрощают портирование, благодаря тому что они описывают среду исполнения программ таким образом, что различия между платформами становятся минимальными. Часто портирование программ между платформами, реализующими один и тот же стандарт (такой как ''[[POSIX]].1'') сводятся к перекомпиляции программы на новой платформе.
 
== Примеры ==
* Для GNU/Linux графический редактор [[GIMP|The GIMP]] является родным, а например на [[Microsoft Windows|Windows]], ОС семейства BSD UNIX - — FreeBSD/OpenBSD/NetBSD, DEC UNIX (DEC Ultrix, DEC OSF/1)/Tru64UNIX, системы семейства AT&T UNX - — SGI IRIX, Sun OS, Sun Solaris, HP-UX и ряд других UNIX систем он был портирован с сохранением своих пользовательских свойств.
 
* Для GNU/Linux графический редактор [[GIMP|The GIMP]] является родным, а например на [[Microsoft Windows|Windows]], ОС семейства BSD UNIX - FreeBSD/OpenBSD/NetBSD, DEC UNIX (DEC Ultrix, DEC OSF/1)/Tru64UNIX, системы семейства AT&T UNX - SGI IRIX, Sun OS, Sun Solaris, HP-UX и ряд других UNIX систем он был портирован с сохранением своих пользовательских свойств.
* Сама операционная система [[Linux]] портирована на огромное количество аппаратных платформ<ref>[http://kernel.org/ The Linux Kernel Archives]: Хотя Linux и разрабатывался сначала для 32-разрядных [[x86]]-[[Персональный компьютер|ПК]] (от 386), сегодня он также работает (по крайней мере) на следующих архитектурах: Alpha AXP, Sun SPARC, Motorola 68000, PowerPC, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, Intel IA-64, AMD x86-64, AXIS CRIS, Renesas M32R, Atmel AVR32, Renesas H8/300, NEC V850, Tensilica Xtensa и Analog Devices Blackfin; для многих из них как в 32-разрядном, так и в 64-разрядном варианте. (Although originally developed first for 32-bit x86-based PCs (386 or higher), today Linux also runs on (at least) the Alpha AXP, Sun SPARC, Motorola 68000, PowerPC, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, Intel IA-64, AMD x86-64, AXIS CRIS, Renesas M32R, Atmel AVR32, Renesas H8/300, NEC V850, Tensilica Xtensa, and Analog Devices Blackfin architectures; for many of these architectures in both 32- and 64-bit variants.)</ref>.
* Логическая игра [[World of Goo]] была сначала выпущена для [[Wii]] и Windows, а потом портирована на [[Mac OS X]] и Linux.
== Примечания ==
{{примечания}}
 
== Ссылки ==
{{заготовка раздела}}
 
[[Категория:Программирование]]