Speicherverwaltung

Algorithmen, Sprachunabhängige Diskussionen zu Konzepten, Programmiersprachen-Design
Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Speicherverwaltung

Beitrag von cloidnerux » Mi Nov 26, 2008 9:09 pm

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!
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Speicherverwaltung

Beitrag von Xin » Mi Nov 26, 2008 10:19 pm

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. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Speicherverwaltung

Beitrag von cloidnerux » Do Nov 27, 2008 5:12 pm

OK, Danke.
Wäre Net, wenn Dirty Oerty bereit dazu wäre.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Speicherverwaltung

Beitrag von Xin » Do Nov 27, 2008 11:21 pm

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. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Speicherverwaltung

Beitrag von cloidnerux » Fr Nov 28, 2008 11:55 am

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.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Speicherverwaltung

Beitrag von cloidnerux » Fr Nov 28, 2008 4:44 pm

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.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Speicherverwaltung

Beitrag von cloidnerux » Fr Nov 28, 2008 6:57 pm

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.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Speicherverwaltung

Beitrag von Dirty Oerti » Sa Nov 29, 2008 3:26 pm

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
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Speicherverwaltung

Beitrag von cloidnerux » Sa Nov 29, 2008 4:25 pm

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
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Speicherverwaltung

Beitrag von Xin » Sa Nov 29, 2008 6:38 pm

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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten