(Moderator)
Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
|
[C für Linux] SharedMemory - Speicherverwaltung
28. Mär 2006, 09:52
Hi,
ich kämpfe gerade ein wenig mit C-Code und SharedMemory. Ich muss da ein paar Einträge u.a. mit Pfadangaben verwalten, und mir fallen jetzt spontan zwei Konzepte ein:
Alle Einträge mit fester Breite und Verwaltung der freien Blöcke über eine Bitmap: sicher schnell, aber verbrät eine ganze Menge ggf. unbenutztem Speicher (Pfad ist i.d.R. nicht die maximalen 256 Zeichen lang).
Verwaltung in verketteter Liste: sicher optimale Speichernutzung, aber entweder fragmentiert das Ding oder ich muss beim Löschen das ganze immer reorganisieren, was auf die Performance geht.
Meine Frage ist nun folgendes: Die Implementierung der verketteten Liste steht schon vor meinem geistigen Auge. Auch die Reorganisation (das nach-vorne-ziehen von Daten wenn vorne was gelöscht wird) erscheint mir relativ einfach zu implementieren. Was ich aber vor einer Entscheidung noch gerne hätte wäre, dass ich auch grob weiss wie ich eine feste Speicherverwaltung mit Bitmap in C realisieren könnte.
Kennt jemand eine einfache Referenzimplementierung einer Bitmap in C die ich mir mal anschauen kann um abzuschätzen wie komplex oder wie einfach das geht, oder hat jemand einen guten Link zu einem Beispiel?
|