Halten nach Backbord

In der Informatik ist Halten nach Backbord der Prozess der sich anpassenden Software, so dass ein rechtskräftiges Programm für eine Rechenumgebung geschaffen werden kann, die von demjenigen verschieden ist, für den es (z.B verschiedene Zentraleinheit, Betriebssystem oder Drittbibliothek) ursprünglich entworfen wurde. Der Begriff wird auch gebraucht, wenn Software/Hardware geändert wird, um sie verwendbar in verschiedenen Umgebungen zu machen.

Software ist tragbar, wenn die Kosten des Haltens nach Backbord davon zu einer neuen Plattform weniger sind als die Kosten des Schreibens davon von Kratzer. Je tiefer die Kosten der nach Backbord haltenden Software, hinsichtlich seiner Durchführungskosten, desto mehr tragbar, wie man sagt, es ist.

Etymologie

Der Begriff "Hafen" wird aus dem Latein abgeleitet, bedeutend "zu tragen". Wenn Code mit einem besonderen Betriebssystem oder Architektur nicht vereinbar ist, muss der Code zum neuen System "getragen" werden.

Der Begriff wird auf den Prozess der sich anpassenden Software nicht allgemein angewandt, um mit weniger Gedächtnis auf derselben Zentraleinheit und Betriebssystem zu laufen, noch es wird auf das Neuschreiben des Quellcodes auf einer verschiedenen Sprache (d. h. Sprachkonvertierung oder Übersetzung) angewandt.

Softwareentwickler behaupten häufig, dass die Software, die sie schreiben, tragbar ist, bedeutend, dass wenig Anstrengung erforderlich ist, um sie an eine neue Umgebung anzupassen. Der Betrag der wirklich erforderlichen Anstrengung hängt von mehreren Faktoren einschließlich des Ausmaßes ab, in dem sich die ursprüngliche Umgebung (die Quellplattform) von der neuen Umgebung unterscheidet (die Zielplattform), die Erfahrung der ursprünglichen Autoren im Wissen, welche Programmiersprache-Konstruktionen und Drittbibliotheksanrufe kaum, und der Betrag der Anstrengung tragbar sein werden, die von den ursprünglichen Autoren in nur dem Verwenden tragbarer Konstruktionen investiert ist (Plattform stellen spezifische Konstruktionen häufig eine preiswertere Lösung zur Verfügung).

Geschichte

Die Zahl von bedeutsam verschiedenen Zentraleinheiten und Betriebssystemen, die auf der Arbeitsfläche heute verwendet sind, ist viel kleiner als in der Vergangenheit. Die Überlegenheit der x86 Architektur bedeutet, dass der grösste Teil der Tischsoftware zu einer verschiedenen Zentraleinheit nie getragen wird. Auf diesem demselben Markt ist die Wahl von Betriebssystemen auf drei effektiv reduziert worden: Windows von Microsoft, Mac OS/Mac OS X, und Unix/Linux. Jedoch, auf dem eingebetteten Systemmarkt, bleibt Beweglichkeit ein bedeutendes Problem.

Internationale Standards, wie diejenigen, die durch den ISO veröffentlicht sind, erleichtern außerordentlich Halten nach Backbord durch das Spezifizieren von Details der Rechenumgebung in einem Weg, der hilft, Unterschiede zwischen verschiedenen standardanpassenden Plattformen zu reduzieren. Das Schreiben der Software, die innerhalb der durch diese Standards angegebenen Grenzen bleibt, vertritt einen praktischen obwohl nichttriviale Anstrengung. Das Halten nach Backbord solch eines Programms zwischen zwei standardentgegenkommenden Plattformen (wie POSIX.1) kann gerade eine Sache sein, den Quellcode zu laden und es auf der neuen Plattform wiederzukompilieren. Jedoch finden Praktiker häufig, dass verschiedene geringe Korrekturen wegen feiner Plattform-Unterschiede erforderlich sind. Die meisten Standards leiden unter "Grauzonen", wo Unterschiede in der Interpretation von Standards zu kleinen Schwankungen von der Plattform bis Plattform führen.

Dort auch besteht eine ständig steigende Zahl von Werkzeugen, um Halten nach Backbord wie die GNU-Bearbeiter-Sammlung zu erleichtern, die konsequente Programmiersprachen auf verschiedenen Plattformen und Autowerkzeuge zur Verfügung stellt, der die Entdeckung von geringen Schwankungen in der Umgebung automatisiert und die Software entsprechend vor der Kompilation anpasst.

Die Bearbeiter für einige Programmiersprachen auf höchster Ebene (z.B. Eiffel, Esterel) gewinnen Beweglichkeit durch den outputting Quellcode auf einer anderen hohen Zwischensprache (wie C), für den Bearbeiter für viele Plattformen allgemein verfügbar sind.

Zwei Tätigkeiten, die mit verbunden sind (aber von verschieden sind) Halten nach Backbord, eifern wett und quer-kompilieren.

Halten nach Backbord von Bearbeitern

Anstatt direkt in den Maschinencode zu übersetzen, übersetzen moderne Bearbeiter zu einer Maschine unabhängigen Zwischencode, um Beweglichkeit des Bearbeiters zu erhöhen und Designanstrengungen zu minimieren.

Die Zwischensprache definiert eine virtuelle Maschine, die alle Programme durchführen kann, die auf der Zwischensprache geschrieben sind (eine Maschine wird durch seine Sprache und umgekehrt definiert). Die Zwischencodeinstruktionen werden in gleichwertige Maschinencodefolgen durch einen Codegenerator übersetzt, um rechtskräftigen Code zu schaffen. Es ist auch möglich, die Generation des Maschinencodes durch das wirkliche Einführen der virtuellen Maschine im Maschinencode auszulassen. Diese virtuelle Maschinendurchführung wird einen Dolmetscher genannt, weil sie in den Zwischencodeinstruktionen eins nach dem anderen liest, und nachdem jeder gelesen die gleichwertigen Maschinencodefolgen (die Interpretation) der gelesenen Zwischeninstruktion direkt durchführt.

Der Gebrauch des Zwischencodes erhöht Beweglichkeit des Bearbeiters, weil nur der Maschinenabhängiger-Code (der Dolmetscher oder der Codegenerator) des Bearbeiters selbst zur Zielmaschine getragen werden muss. Der Rest des Bearbeiters kann als Zwischencode importiert und dann weiter durch den getragenen Codegenerator oder Dolmetscher bearbeitet werden, so die Bearbeiter-Software erzeugend oder direkt den Zwischencode auf dem Dolmetscher durchführend.

Die Maschine unabhängiger Teil kann entwickelt und auf einer anderen Maschine (die Gastgeber-Maschine) geprüft werden. Das reduziert außerordentlich Designanstrengungen, weil die Maschine unabhängiger Teil nur einmal entwickelt werden muss, um tragbaren Zwischencode zu schaffen.

Ein Dolmetscher ist weniger kompliziert und deshalb leichter nach Backbord zu halten als ein Codegenerator, weil er nicht im Stande ist, Codeoptimierungen wegen seiner beschränkten Ansicht vom Programm-Code zu tun (er sieht nur eine Instruktion auf einmal, und Sie brauchen eine Folge, um Optimierung zu tun). Einige Dolmetscher sind äußerst leicht nach Backbord zu halten, weil sie nur minimale Annahmen über den Befehlssatz der zu Grunde liegenden Hardware machen. Infolgedessen ist die virtuelle Maschine noch einfacher als die Zielzentraleinheit.

Wenn man

den Bearbeiter-Quellen völlig auf der Programmiersprache schreibt, die der Bearbeiter übersetzen soll, macht die folgende Annäherung, die besser als das Bearbeiter-Urladeverfahren bekannt ist, das auf der Zielmaschine ausführbar ist:

  1. Tragen Sie den Dolmetscher. Das muss im Zusammenbau-Code mit einem bereits gegenwärtigen Monteur auf dem Ziel codiert werden.
  2. Passen Sie die Quelle des Codegenerators zur neuen Maschine an.
  3. Richten Sie die angepasste Quelle hin, die den Dolmetscher mit der Codegenerator-Quelle, wie eingegeben, verwendet. Das wird den Maschinencode für den Codegenerator erzeugen.

Der schwierige Teil, die Optimierungsroutinen zu codieren, wird mit der höheren Programmiersprache statt der Zusammenbau-Sprache des Ziels getan.

Gemäß den Entwerfern der BCPL Sprache ist interpretierter Code (im BCPL Fall) kompakter als Maschinencode; normalerweise durch einen Faktor zwei zu einem. Interpretierter Code läuft jedoch ungefähr zehnmal langsamer als kompilierter Code auf derselben Maschine.

Die Entwerfer der javanischen Programmiersprache versuchen, die Kompaktheit des interpretierten Codes auszunutzen, weil in Java ein Programm über das Internet übersandt werden muss, bevor Ausführung auf dem Java des Ziels Virtuelle Maschine anfangen kann.

Halten nach Backbord im Spielen

Halten nach Backbord ist auch der gebrauchte Begriff, als ein Videospiel vorgehabt hat, auf einer Plattform zu laufen, sie eine Arkade zu sein, wird Videospiel-Konsole oder Personalcomputer, umgewandelt, um auf einer verschiedenen Plattform zu laufen. Früheres Videospiel "Häfen" war häufig nicht wahre Häfen, aber hat eher Versionen der Spiele nachgearbeitet. Jedoch immer mehr werden Videospiele jetzt mit der Software entwickelt, die Produktionscode für eine oder mehr Konsolen sowie für einen PC ohne das Bedürfnis nach dem wirklichen Halten nach Backbord kann. Viele frühe Häfen haben bedeutende gameplay Qualitätsprobleme ertragen, weil sich die Hardware von PCs und Konsolen so drastisch unterschieden hat.

Vollkommene Arkade ist ein Begriff, der gebraucht ist, um Videospiele zu beschreiben, die von einer Arkade-Version bis eine andere Plattform, wie eine Konsole oder Computer ohne irgendwelche Modifizierungen zur Tätigkeit des Spiels getragen worden sind. Das bedeutet, dass Grafik, Ton und gameplay, zusammen mit den anderen Eigenschaften des Spiels, zur Arkade-Version identisch ist.

"Konsole-Hafen" ist ein Begriff spezifisch hat gepflegt, ein Spiel zu beschreiben, das für eine Konsole ursprünglich gemacht wurde (wie Wii oder Xbox 360), bevor eine identische Version geschaffen wird, der auf einem Personalcomputer gespielt werden kann. Dieser Begriff ist von der spielenden Gemeinschaft häufig auf eine negative Weise wegen der höheren Niveaus der Leistung weit gebraucht worden, dass Computer allgemein haben zu gering genutzt, teilweise erwartet zu sein, Hardware zu trösten, die während ihres Laufs wird befestigt (mit Spielen, die für Konsole-Spekulationen entwickeln werden), während PCs stärker werden, weil sich Hardware entwickelt, sondern auch wegen getragener Spiele, manchmal für PCs, oder träge getragen schlecht optimiert.

Siehe auch

  • Softwarebeweglichkeit
  • Sprache, die bindet
  • Konsole-Emulator
  • Die Liste der Systemqualität schreibt zu
  • Quellhafen
  • Schreiben Sie einmal, kompilieren Sie überall
  • Poshlib
  • Quer-Plattform

Referenzen

  • Martin Richards und Colin Whitby-Strevens (1984): BCPL, die Sprache und sein Bearbeiter. Internationale Standardbuchnummer 0-521-28681-6.
  • Andrew S. Tanenbaum (1984): Strukturierte Computerorganisation 10. Druck. Internationale Standardbuchnummer 0-13-854605-3.

Liste von politischen Parteien in Kanada / Die aus alter Zeit Evangelium-Stunde
Impressum & Datenschutz