Code segment

Dies zeigt das typische Layout des Programmspeichers eines einfachen Computers mit dem Text, verschiedenen Daten sowie Stapel- und Heap -Abschnitten.

Im Computer, a Codesegment, auch bekannt als a Textsegment oder einfach als Text, ist ein Teil eines Objektdatei oder der entsprechende Abschnitt des Programms des Programms Virtueller Adressraum das beinhaltet ausführbar Anweisungen.[1] Der Begriff "Segment" stammt von der Speichersegment, was eine historische Herangehensweise an ist Speicherverwaltung das wurde abgelöst von Paging. Wenn ein Programm in einer Objektdatei gespeichert wird, ist das Codesegment Teil dieser Datei. wenn der Lader stellt ein Programm in Erinnerung Damit es ausgeführt werden kann, werden verschiedene Speicherregionen (insbesondere als Seiten) zugewiesen, was sowohl den Segmenten in den Objektdateien als auch den Segmenten entspricht, die nur zum Laufzeit benötigt werden. Beispielsweise wird das Codesegment einer Objektdatei in ein entsprechendes Codesegment im Speicher geladen.

Das Codesegment im Speicher ist normalerweise nur schreibgeschützt und hat eine feste Größe, also ein eingebettete Systeme es kann normalerweise in platziert werden Nur-Lese-Speicher (ROM), ohne dass das Laden erforderlich ist. Wenn das Codesegment nicht schreibgeschützt ist, dann das bestimmte die Architektur erlaubt selbstmodifizierender Code. Festposition oder Positionsunabhängiger Code kann in Speicher durch mehrere Prozesse in segmentierten oder ausgelassenen Speichersystemen geteilt werden.[1][2] Als Speicherregion kann das Codesegment unter den Haufen oder den Stapel platziert werden, um zu verhindern Haufen und Stapelüberläufe vom Überschreiben.[3]

Siehe auch

Verweise

  1. ^ a b Jason W. Bacon (2012-03-13). "Kapitel 10. Unterprogrammaufrufe und Stapel". cs.uwm.edu. Abschnitt 10.4. Speichersegmente. Abgerufen 2014-05-02.
  2. ^ Kai Wang (2012-09-20). "Codesegment und Datensegment: Speicherlayout eines Programms". Developer.com. Abgerufen 2014-05-02.
  3. ^ Yu-an tan; Ji-yan Zheng; Yuan-da Cao; Xue-Lan Zhang (Oktober 2005). Pufferüberlaufschutz basierend auf dem Anpassungs -Code -Segmentgrenze. IEEE Internationales Symposium für Kommunikation und Informationstechnologie. IEEE. doi:10.1109/iscit.2005.1567023.