Anfänger - Speicher Managament
-
Ich wollt mal fragen ob man bei der Adressierung des Arbeitspeichers die genaue Adresse von Code usw. selber bestimmen kann. Also das ich mein Code irgendwo in den 4GB frei platzieren kann?
Schon mal danke für alle antworten
-
Nein.
-
Jein... ...wenn du dein eigenes Betriebssystem schreibst zB. aber iaR. nicht in normalen Anwendungsprogrammen in modernen Betriebssystemen wie Windows.
-
Wenn ich also das Betriebsystem nicht umgehen will kann ich nur den freigegebenen Speicher verwalten, und wie kann man herausfinden welcher Adressbereich oder welche Adressen das sind ?
-
Bei den meisten modernen Betriebssystemen kann ein normales Programm nur die Ressourcen verwalten, die ihm vom OS zur Verfuegung gestellt wurden. Wenn du zB. einfach wild versuchst auf irgendwelchen Speicher zuzugreifen ohne das OS vorher zu fragen, wird dein Programm mit einem Ausnahmefehler gestoppt.
Bei der Speicherverwaltung laeuft das dann idR. so ab, dass du eine Anforderung zur Reservierung einer bestimmten Menge an Speicher an das OS sendest und dieses dir dann die Startadresse eines ausreichend grossen freien Bereichs zurueckgibt.
Das entspricht in etwa der Funktionalitaet von Hochsprachenfunktionen wie malloc in c.
Falls dir Begriffe wie virtueller Adressraum und MMU etwas sagen: Viele Systeme bieten darueber hinaus AFAIK auch Funktionen um bestimmte virtuelle Adressbereiche zu reservieren oder auf zuvor reservierten Speicher zu mappen.