Přenositelnost softwaru - Software portability
![]() | tento článek potřebuje další citace pro ověření.Listopadu 2011) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Přenosnost v programování na vysoké úrovni je použitelnost stejné software v různých prostředích. Předpokladem přenositelnosti je zobecněný abstrakce mezi logikou aplikace a systémová rozhraní. Když se pro několik vyrábí software se stejnou funkcí výpočetní platformy, přenositelnost je klíčovou otázkou pro snížení nákladů na vývoj.
Strategie přenositelnosti
Přenositelnost softwaru může zahrnovat:
- Přenos nainstalovaných programových souborů do jiného počítače v zásadě stejné architektury.
- Přeinstalování programu z distribučních souborů na jiný počítač v zásadě stejné architektury.
- Budova spustitelný programy pro různé platformy od zdrojový kód; tomu obvykle rozumí „portování ".
Podobné systémy
Když operační systémy stejné rodiny jsou nainstalovány na dvou počítačích s procesory s podobnými instrukční sady často je možné mezi nimi přenášet soubory implementující soubory programu.
V nejjednodušším případě lze soubor nebo soubory jednoduše zkopírovat z jednoho stroje na druhý. V mnoha případech však software je nainstalován na počítači způsobem, který závisí na jeho podrobném hardwaru, softwaru a nastavení, s ovladače zařízení pro konkrétní zařízení, pomocí nainstalovaného operačního systému a podpůrných softwarových komponent a pomocí různých pohony nebo adresáře.
V některých případech se software obvykle označuje jako „přenosný software ", je speciálně navržen pro provoz na různých počítačích s kompatibilními operačními systémy a procesory bez jakékoli instalace závislé na stroji. Přenos není nic jiného než přenos určených adresářů a jejich obsahu. Software nainstalovaný na přenosném počítači velké úložiště zařízení jako USB klíče lze použít na libovolném kompatibilním počítači po jednoduchém připojení úložného zařízení a uloží všechny informace o konfiguraci na vyměnitelné zařízení. Často se ukládají informace o hardwaru a softwaru konfigurační soubory na určených místech (např registr na běžících strojích Microsoft Windows ).
Software, který v tomto smyslu není přenosný, bude muset být přenesen s úpravami, aby podporoval prostředí v cílovém počítači.
Různé procesory
Od roku 2011[Aktualizace] většina použitých stolních a přenosných počítačů mikroprocesory kompatibilní s 32- a 64-bit x86 instrukční sady. Menší přenosná zařízení používají procesory s různými a nekompatibilními instrukčními sadami, například PAŽE. Rozdíl mezi většími a menšími zařízeními je takový, že podrobný provoz softwaru se liší; aplikace určená k vhodnému zobrazení na velké obrazovce nelze jednoduše přenést na smartphone kapesní velikosti s malou obrazovkou, i když je funkce podobná.
Webové aplikace jsou nezávislí na procesoru, takže přenositelnosti lze dosáhnout pomocí technik webového programování a zápisu JavaScript. Takový program lze spustit v běžném webovém prohlížeči. Takový webové aplikace z bezpečnostních důvodů musí mít omezenou kontrolu nad hostitelským počítačem, zejména pokud jde o čtení a zápis souborů. Non-webové programy nainstalované do počítače běžným způsobem mohou mít větší kontrolu a přesto dosáhnout přenositelnosti systému propojením s přenosnými knihovnami poskytujícími stejné rozhraní v různých systémech.
Přenositelnost zdrojového kódu
Software lze sestavit a propojeno ze zdrojového kódu pro různé operační systémy a procesory, pokud jsou napsány v programovacím jazyce podporujícím kompilaci pro platformy. Toto je obvykle úkol pro vývojáře programů; typičtí uživatelé nemají ani přístup ke zdrojovému kódu, ani požadované dovednosti.
v open-source prostředí, jako je Linux, je zdrojový kód k dispozici všem. V dřívějších dobách byl zdrojový kód často distribuován ve standardizovaném formátu a mohl být zabudován do spustitelného kódu pomocí standardu Vyrobit nástroj pro jakýkoli konkrétní systém mírně informovanými uživateli, pokud během sestavení nedošlo k žádným chybám. Nějaký Linuxové distribuce distribuovat software uživatelům ve zdrojové formě. V těchto případech obvykle není nutné podrobně upravovat software systému; je distribuován způsobem, který upraví proces kompilace tak, aby odpovídal systému.
Úsilí o zdrojový kód portu
I se zdánlivě přenosnými jazyky jako C a C ++ snaha o přenesení zdrojového kódu se může značně lišit. Autoři UNIX / 32V (1979) uvádějí, že „[t] on (Bourne) skořápka [...] vyžaduje zdaleka největší úsilí o převod jakéhokoli údajně přenosného programu, a to z prostého důvodu, že není přenosný. “[1]
Někdy úsilí spočívá v překompilování zdrojového kódu, ale někdy je nutné přepsat hlavní části softwaru. Mnoho jazykových specifikací popisuje chování definované implementací (např. Posunutí celého čísla se znaménkem v C může udělat a logický nebo aritmetický posun). Funkce operačního systému nebo knihovny třetích stran nemusí být v cílovém systému k dispozici. Některé funkce mohou být k dispozici v cílovém systému, ale vykazují mírně odlišné chování (např. Utime () selže ve Windows s EACCES, když je vyvolán adresář). Samotný programový kód může také obsahovat nepřenosné věci, jako jsou cesty zahrnutých souborů. Písmena jednotek a zpětné lomítko jako oddělovač cesty nejsou ve všech operačních systémech přijímány. Implementace definovala věci jako pořadí bytů a velikost int může také zvýšit přenesení úsilí. V praxi je tvrzení o jazycích, jako C a C ++, mít WOCA (psát jednou, kompilovat kdekoli ) je diskutabilní.
Viz také
- Software pro různé platformy
- Software závislý na hardwaru
- C (programovací jazyk)
- Jazyková interoperabilita
- Testování přenositelnosti
- Kompilátor zdroj-zdroj
Reference
- ^ Thomas B. London a John F. Reiser (1978). Unixový operační systém pro počítač DEC VAX-11/780. Interní poznámka společnosti Bell Labs 78-1353-4.
Zdroje
- Mooney (1997). „Přenositelnost do softwarového procesu“ (PDF). University of West Virginia. Ústav statistiky a informatiky. Archivovány od originál (PDF) dne 2008-07-25. Citováno 2008-03-17. Citovat deník vyžaduje
| deník =
(Pomoc) - Garen (2007). „Přenositelnost softwaru: možnosti vážení, rozhodování“. Deník CPA. 77 (11): 3.
- Lehey (1995). „Přenos softwaru UNIX: od stahování po ladění“ (PDF). Citováno 2010-05-27. Citovat deník vyžaduje
| deník =
(Pomoc)