Seite 1 von 7

Speicherverwaltung

Verfasst: Mi Nov 26, 2008 9:09 pm
von cloidnerux
Hallo, ich mal wieder.
So, hab mein Interrupt Problem gelöst, und bin jezt an dem Punkt, wo ich nicht mehr um die Spiecherverwaltung drumrum komme.
Ich weiß auch, das es schon ein Thread gibt, das sich damit Beschäftigt, aber ich hatte noch nicht genug Zeit alles zu lesen, und das was ich gelesen habe, war für mich nicht wirklich Informativ

Also zu meiner Frage: Wie Initialisiert man Speicherverwaltung(Paging oder Bitmap), wie Reagiert man auf einen Speicherzugriff und wie Steuert man, wo sich der Anfangspunkt einer Variable oder Zeiger befindet???
Ich weiß das ist viel, aber ich weiß nicht, wo ich sonst diese informationen finde(bei lowlevel steht nichts darüber)

Danke im vorraus!

Re: Speicherverwaltung

Verfasst: Mi Nov 26, 2008 10:19 pm
von Xin
cloidnerux hat geschrieben:Also zu meiner Frage: Wie Initialisiert man Speicherverwaltung(Paging oder Bitmap), wie Reagiert man auf einen Speicherzugriff und wie Steuert man, wo sich der Anfangspunkt einer Variable oder Zeiger befindet???
Ich weiß das ist viel, aber ich weiß nicht, wo ich sonst diese informationen finde(bei lowlevel steht nichts darüber)
Ich kann dazu nicht viel sagen, aber wenn sich Dirty Oerti zu einer Antwort breitschlagen lässt, so wäre die im Wiki gut aufgehoben. ^^

Re: Speicherverwaltung

Verfasst: Do Nov 27, 2008 5:12 pm
von cloidnerux
OK, Danke.
Wäre Net, wenn Dirty Oerty bereit dazu wäre.

Re: Speicherverwaltung

Verfasst: Do Nov 27, 2008 11:21 pm
von Xin
cloidnerux hat geschrieben:OK, Danke.
Wäre Net, wenn Dirty Oerty bereit dazu wäre.
Wobei es natürlich auch nett wäre, wenn ihr Dirty Oerty in anderen Themen etwas zuarbeiten könntet. Schließlich testet er die Dinge ja nicht aus, damit ihr euch das spart. ^^

Re: Speicherverwaltung

Verfasst: Fr Nov 28, 2008 11:55 am
von cloidnerux
Ich würde ja gerne Helfen, Was ich ja auch versucht habe,
aber ich bin noch am Anfang von meinem OS, dessahlb wieß ich nicht so viel.
Und ich will nihct die Lösung haben, sondern nur die Antwort auf meine Frage.
Da die Speicherverwaltung essentiel ist, würde ich nur Ungern eine Lösung heben, die ich dann nicht verstehe.
Aber werde versuchen ihm mal zu Helfen, wenn ich mal ne gute Idee zu einem von seinen Problemen habe.

Re: Speicherverwaltung

Verfasst: Fr Nov 28, 2008 4:44 pm
von cloidnerux
Nachtrag:
Ich will am Anfang nur eine Lineare Speicherverwaltung einrichten, heißt ich nutze eine Variable, bei der Ich einfach nur Hochzäle.
Ich nutze dies nur, da es leicht zu Realisiren ist, und am anfang besser ist, weil es weniger BUG's beinhalten kann.

Re: Speicherverwaltung

Verfasst: Fr Nov 28, 2008 6:57 pm
von cloidnerux
Hab was Gefunden:
http://www.osdever.net/tutorials/pdf/memory1.pdf
http://www.osdever.net/tutorials/pdf/memory2.pdf
Ist Interessant. Werde es heute Abend mal lesen.

Re: Speicherverwaltung

Verfasst: Sa Nov 29, 2008 3:26 pm
von Dirty Oerti
Natürlich antworte ich.
Das Problem ist nur *offtopic* das mein ###### Internet kaum mehr geht*/offtopic*

Die "Speicherverwaltung", die du ansprichts, also das Verwenden von einem Zeiger, der einfach erhöht wird, ist doch eigentlich recht einfach zu realisieren?
Du erkundigst dich, wo das Ende deines benutzten Speichers ist, stellst da den Zeiger hin.
Wenn du z.B. 4 Byte anforderst, dann gibst du den Zeiger zurück und erhöhst dann den Zeiger um 4 Byte.

Mit dieser Variante kannst du eben nur nichts wieder freigeben...
Eine wirkliche Speicherverwaltung ist das also nicht.

Zum Thema Initialisieren: Du erstellst benötigte Strukturen und verwendest dann die Funktionen, die mit den Strukturen arbeiten?

Was du glaube ich suchst ist Speicherschutz, wie ihn Paging bietet...
Dazu brauchst du aber erst einmal eine Speicherverwaltung.


MfG
Daniel

Re: Speicherverwaltung

Verfasst: Sa Nov 29, 2008 4:25 pm
von cloidnerux
Was verstehst du unter *Speicherverwaltung*??
Soweit ich das verstehe, brauche ich eine Variable, wo jedes Bit für eine Page im speicher steht, und irgenwas angibt(Allociert oder nicht).
Das ist ja nicht mein Problem.
Aber es wäre ja unsinn, vor jeder VAriablenzuweisung, vor jeden pointer eine funktion aufzurufen, die eine Unbenutzte speicherseite angibt.
Also muss es einen INterrupt oder sowas geben, der Aufgerufen wird, wenn irgendwas im Speicher PLatz haben will.
Dann müsste ich also nur eine Funktion au fden entsprechenden INterrupt legen, und hätte dann immer einen Aufruf.
Aber Wie sage ich jezt dem Computer, wo er die VAribale anlegen darf, und wo nicht??
Dann müsste ich wissen, wie viel speicher jezt belegt werden wollen(1Byte,2Byte...), um eine Entsprrechnede stelle zu finden.
Und das sind die Dinge die ich nicht verstehe:
1.)Wie weiß ich wann speicher belegt werden will
2.)Wie sag ich wo

Re: Speicherverwaltung

Verfasst: Sa Nov 29, 2008 6:38 pm
von Xin
cloidnerux hat geschrieben:Und das sind die Dinge die ich nicht verstehe:
1.)Wie weiß ich wann speicher belegt werden will
Jemand sagt malloc() - inkl. der Größe des Speichers, die er braucht.
cloidnerux hat geschrieben:2.)Wie sag ich wo
Genau das ist der Job der Speicherverwaltung.