Beste Antwort
Aufgrund des von Ihnen verwendeten Wortlauts scheint es mir, dass Sie über Software sprechen, die auf einigen ausgeführt wird Art eingebettetes System im Gegensatz zu Software, die als Desktop-Anwendung oder andere Variante bereitgestellt werden soll.
Bevor Sie ein Programm auf einer bestimmten Hardware ausführen können, müssen einige Schritte ausgeführt werden, um den von Ihnen geschriebenen Quellcode in etwas zu konvertieren, das tatsächlich von einem Computer interpretiert werden kann.
Ihr Quellcode ist in einer Sprache geschrieben, die eine bestimmte Syntax und Semantik aufweist und für Sie lesbar ist, während ein Prozessor nur Einsen und Nullen erwartet und versteht.
Wenn Sie mit kompilierten Sprachen arbeiten, gibt es diese Eine Reihe von Werkzeugen, die in einer bestimmten Reihenfolge verwendet und mit den richtigen Eingaben gespeist werden, erzeugen ein sogenanntes Software-Image. Dieses Software-Image wird letztendlich in das Ziel geladen.
Abhängig von Ihrer Hardware und dem Aufbau Ihrer Toolkette variieren die Tools zur Erstellung des Software-Images. Sie benötigen jedoch einen Präprozessor, einen Compiler und einen Linker.
Der Quellcode wird an den Präprozessor übergeben, der einige Dinge auflöst (Makros, Includes, Präprozessoranweisungen und andere). Zu diesem Zeitpunkt haben Sie eine Zwischendatei, die für Sie noch lesbar ist. Anschließend wird die vorverarbeitete Datei an den Compiler übergeben, der eine Objektdatei generiert. Sie müssen dem Compiler mitteilen, wie und welche Dateien zu verwenden sind, um die richtigen Objektdateien zu erstellen.
Schließlich kombiniert der Linker die verschiedenen Objektdateien aus dem vorherigen Schritt so, wie Sie es ihm mitteilen, und erzeugt als Ergebnis das Binärbild (der Linker übernimmt die Verknüpfung von Bibliotheken und anderen Dingen, die dies nicht konnten in der Kompilierungsphase gelöst werden).
Das Installieren oder Testen eines Software-Images bedeutet, dass das im letzten Schritt erstellte Binär-Image in die Zielhardware geladen wird. Das Laden erfolgt normalerweise durch Kopieren des Bildes in einen nichtflüchtigen Speicher.
Dies ist eine umfassende Beschreibung des Prozesses und erhebt keinen Anspruch auf Vollständigkeit.
Antwort
Lesen Sie die beiden Antworten vor mir und gestehen Sie, dass ich es nicht bin Sicher, was Sie tatsächlich fragen, dies sind die Dinge, auf die Sie möglicherweise verweisen.
In vielen Mehrbenutzersystemen gibt es normalerweise nur einen Satz von Hardwareregistern auf dem Computer, die gemeinsam genutzt werden müssen Geben Sie jedem Benutzer eine Zeitspanne (z. B. 10 ms) und fahren Sie dann mit dem nächsten und dem nächsten fort. Der Status der Daten jedes Benutzers ändert sich nicht, da diese auf der Festplatte oder im nicht verwendeten Speicher gespeichert sind. Der Status des Registersatzes muss als Momentaufnahme dessen gespeichert werden, was in diesem Moment passiert, damit sie bei der nächsten Auswahl des Benutzers wiederhergestellt werden können.
Eine andere Verwendung des Begriffs ist die erforderliche Mathematik und Speicherverwaltung Um ein Bild im Speicher zu halten, anstatt nur eine Reihe von Zeilen mit unterschiedlichen Werten zu scannen.
In den alten Tagen von Mainframe-Computern wurde der Quellcode kompiliert oder in „Core Image“ -Bibliotheken, Maschinen, zusammengestellt Sprache als Block, der in den Speicher geladen und dann unverändert ausgeführt werden soll. Die meisten DLLs verwenden eine ähnliche Theorie, wenn sie nicht praktiziert werden.
Entschuldigung, wenn ich nur das Wasser getrübt habe.