Eine Anwendung erhält vom Betriebssystem einen Speicherbereich. Im Allgemeinen muss die Anwendung den Speicher anfordern, aber diese Funktionalität kann für den Programmierer aufgrund der Sprache verdeckt sein.
Sprachen wie C ermöglichen Blockanforderungen für bestimmte Größen, während andere Sprachen wie C ++, C # und Java Anforderungen mithilfe von Schlüsselwörtern wie ermöglichen new
. Jede Sprache verfügt über verschiedene Möglichkeiten, Speicher zuzuweisen. Dies ist also nur eine kurze Übersicht. Die Freigabe des Speichers an das Betriebssystem kann entweder explizit oder über einen Garbage Collector erfolgen.
Der Zugriff auf den Speicher in der Anwendung hängt davon ab, wie er zugewiesen wurde. C und C ++ sind am bekanntesten für die Verwendung des Konzepts von Zeigern, um anzuzeigen / zu verfolgen, wo sich der Speicher befindet. Andernfalls wird der Speicherzugriff über die erstellte Klasse oder Variable abgewickelt.
Meistens müssen Sie sich nicht um einen bestimmten Speicherzugriff in Ihrem Programm kümmern. Die Sprachkonstrukte und das Betriebssystem verschleiern diese Bedenken für Sie effektiv.
Ihr Beispiel für einen Timer in einem Spiel ist ein großartiges Beispiel dafür, wo Sie sich keine Gedanken über die zugrunde liegende Speicherzuordnung machen müssen. Sie haben eine Variable, die den Timer darstellt, und Sie lesen nur aus der Variablen.
Meine Antwort ist relevant für das Schreiben der Anwendung, während die Antwort von zxcdw für den Zugriff auf Speicher relevant ist, der zu einer anderen Anwendung gehört. Ihre LMGTFY-Begriffe wären "Debugging" und "Reverse Engineering", um sich weiter mit diesem Thema zu befassen.
Einige zusätzliche Lektüre:
- Der Wikipedia-Artikel über Computerspeicher gibt Ihnen einen anständigen Überblick über die Dinge.
- Schauen Sie sich dann den Wikipedia-Artikel über speicherabgebildete E / A an, um ein tieferes Verständnis der laufenden Machenschaften zu erhalten.
- Lesen Sie abschließend den Artikel über virtuellen Speicher , um eine bessere Antwort darauf zu erhalten, wie jedes Betriebssystem die Speicherzuordnung ein wenig anders als die anderen behandelt.