Szoftver portolás

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. december 3-án felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

Portolás ( angolul  porting [1] ) - a programozásban a portolás alatt valamilyen program vagy annak egy részének adaptálását értjük, hogy az más környezetben működjön, amely különbözik attól a környezettől, amelyre eredetileg írták, a felhasználó maximális megőrzésével tulajdonságait. Ez a fő különbség a port és a fork fogalma között  - az első esetben a csomag összes felhasználói tulajdonságát igyekeznek megőrizni, a másodikban pedig egy közös alapon, önálló fejlesztésről van szó, új hasznos tulajdonságokkal.

A portolás folyamatát portolásnak is nevezik , az eredményt pedig portnak is nevezik . De mindenesetre a portolás során a fő feladat az ismerős felhasználói felület és a csomaggal és tulajdonságaival való munkavégzés módszereinek megőrzése. Új tulajdonságok hozzáadása vagy egyes meglévő tulajdonságok törlése szoftvertermékek hordozásakor nem megengedett.

A hordozhatóság (hordozhatóság, angol  hordozhatóság ) általában két dolog egyikére utal:

  1. Hordozhatóság - kód összeállítása (általában valamilyen köztes kódba , amelyet aztán futás közben értelmeznek vagy lefordítanak , "on the fly", eng.  Just-In-Time [2] ), majd változtatások nélkül futtatják több platformon.
  2. A hordozhatóság a szoftver olyan tulajdonsága, amely leírja, hogy a szoftver milyen könnyen hordozható. Az operációs rendszerek, nyelvek és programozási technikák fejlődésével egyre könnyebbé válik a programok különböző platformok közötti portolása. A C nyelv és a szabványos könyvtár létrehozásának egyik eredeti célja az volt, hogy könnyen lehessen portolni a programokat nem kompatibilis hardverplatformok között. A hordozhatóság szempontjából további előnyökkel járhatnak olyan programok, amelyek megfelelnek az írásra vonatkozó speciális szabványoknak és szabályoknak (lásd például: Smart Package Manager ).

A portolás szükségessége általában a processzor utasításkészletének különbségei, az operációs rendszer és a programok interakcióinak ( API  - Application Program Interface) közötti eltérések, a számítástechnikai rendszerek architektúrájának alapvető különbségei, illetve egyes inkompatibilitások, ill. akár a használt programozási nyelv teljes hiánya is.a célkörnyezetben.

A nemzetközi szabványok (különösen az ISO által támogatottak ) jelentősen megkönnyítik a portolást [3] azáltal, hogy a programok végrehajtási környezetét úgy írják le, hogy a platformok közötti különbségek minimálisak legyenek. A programok ugyanazt a szabványt megvalósító platformok (például POSIX .1 ) közötti portolása gyakran a program újrafordítását jelenti az új platformon.

A portolás megkönnyítésére folyamatosan bővülő eszközkészlet is létezik, mint például a GCC , amely konzisztens programozási nyelvet biztosít a platformok között.

Egyes magas szintű programozási nyelvek ( Eiffel [4] , Esterel ) úgy érik el a hordozhatóságot, hogy a forráskódot olyan köztes nyelvre fordítják , amely számos processzorhoz és operációs rendszerhez rendelkezik fordítókkal .

A portolás kifejezést gyakran használják számítógépes játékokra , nevezetesen arra a folyamatra, amikor egy számítógépes játékot az eredeti célplatformról ( személyi számítógép vagy játékkonzol ) átvisznek egy másik platformra. A korai videojáték-portok alapvetően jelentősebb vagy teljes szoftver-újraírások eredményeként születtek, de egyre több modern játékot fejlesztenek olyan szoftverek segítségével, amelyek képesek kódot generálni számítógépekhez és egy vagy több videojáték-konzolhoz is.

A videojátékok tekintetében a portot továbbfejlesztett modernizált motornak is nevezhetjük, amely lecseréli a játék futtatható fájljait, és működéséhez az eredeti játékerőforrás-fájlokra van szükség. Az ilyen portok nem feltétlenül szoftver- és hardverkompatibilitásra készültek – gyakran a játék lehetőségeinek bővítése a cél, amit egy elavult primitív motor hátráltat.

Attól függően, hogy ezt vagy azt a szoftvert eredetileg mire fejlesztették ki , natívnak vagy portáltnak nevezik. A natív ( angol nyelvű  [5] ) szoftvert azonnal fejlesztik a kérdéses platformra ( hardverre és/vagy operációs rendszerre). A portolt ( eng. ported ) szoftvert egyes platformokra fejlesztik, majd áthelyezik más platformokon való munkára.  

Példák

Lásd még

Jegyzetek

  1. port - a port definíciója angolul az Oxford szótárból . Letöltve: 2016. július 14. Az eredetiből archiválva : 2016. július 25.
  2. Az intelligens tervezés és információs technológia felé Archiválva : 2013. március 21., a Wayback Machine 6.3. fejezete Java: "A bájtkód használatának egyik fő előnye a portolás... A JIT fordítás és a dinamikus újrafordítás lehetővé teszi a Java programok számára, hogy megközelítsék a natív kód sebességét a hordozhatóság elvesztése nélkül"
  3. Donald A. Levine. POSIX programozói útmutató. Hordozható UNIX programok írása a POSIX.1 szabvánnyal Archiválva : 2013. március 21. a Wayback Machine -nél // O'Reilly, 1991-1994 "IEEE Std 1003.1-1988, közismert nevén POSIX... Ha az alkalmazások követik a POSIX szabályokat, könnyebb áthelyezni a programokat egyik POSIX-kompatibilis operációs rendszerről a másikra"
  4. Bertrand Meyer. A hordozhatóság megközelítései Archiválva : 2012. április 26. a Wayback Machine -nél // JOOP (Journal of Object-Oriented Programming), vol. 11, sz. 6, 1998. július-augusztus, 93-95. „Az összes jelenlegi Eiffel fordító egy kivételével… a C-t használja köztes nyelvként. … Bebizonyosodott, hogy ez a technika kulcsfontosságú előnyöket kínál: Garancia a hordozhatóságra” és azon túl
  5. natív szoftver archiválva : 2012. május 7., a Wayback Machine A Dictionary of Computing, 2004
  6. Spencer Kimball és Peter Mattis. Readme (txt)  (downlink) (1996. február 11.). Letöltve: 2008. március 23. Az eredetiből archiválva : 2011. február 17. GIMP 0.54 csomag 2006-tól, lásd README: "A GIMP-et a következő operációs rendszereken tesztelték (és fejlesztették): Linux 1.2.13, Solaris 2.4, HPUX 9.05, SGI IRIX"
  7. William von Hagen. Ubuntu Linux Biblia: Ubuntu 10.04 LTS -t tartalmaz. Archiválva : 2013. március 21. a Wayback Machine -nél . fejezet „A GIMP használata” 14-35. oldal
  8. GNU Image Manipulation Program. Használati utasítás. A. függelék. A GIMP története 2. A GIMP korai napjai Archiválva 2012. február 2. a Wayback Machine -nél "A fő programozási előnyök az új eszközkészletek, a GTK (GIMP Toolkit) és a gdk (GIMP Drawing Kit) voltak, amelyek megszüntették a motívumra támaszkodást"
  9. A Linux kernel archívuma archiválva : 2011. augusztus 21. : Bár a Linuxot eredetileg 32 bites x86 -os PC -kre fejlesztették ( 386-tól), mára (legalább) a következő architektúrákon is fut: 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 és Analog Devices Blackfin; sok közülük 32 bites és 64 bites változatban is. (Bár eredetileg 32 bites x86-alapú PC-kre fejlesztették ki (386 vagy újabb), ma már a Linux (legalább) 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 és Analog Devices Blackfin architektúrák; sok ilyen architektúrához mindkettőben 32 és 64 bites változatok)

Irodalom