Ich arbeite an einem Stück einer sehr leistungsstarken Hardware, die unter Linux funktioniert. Wir würden gerne einige Daten zwischenspeichern, aber wir machen uns Gedanken über den Speicherbedarf - also ist die Idee, einen Benutzerprozess zu erstellen, um den Cache zu verwalten. Auf diese Weise kann sich der Cache im virtuellen Speicher befinden, nicht im Kernel-Bereich und so weiter.Verwenden von User-Space-Prozessen zur Unterstützung von Kernel-Modulen
Die Frage ist: Was ist der beste Weg, dies zu tun? Mein erster Instinkt ist, dass das Kernelmodul eine Zeichengerätedatei erstellt und ein Benutzerprogramm hat, das diese Datei öffnet und dann auf eine select-Anweisung wartet, um darauf zu warten, dass Befehle ankommen. Aber ich bin besorgt, dass dies nicht optimal sein könnte. Ein Freund erwähnte, dass er von einer Socket-basierten Schnittstelle wusste, aber wenn er gedrückt wurde, konnte er keine Details liefern ....
Irgendwelche Vorschläge?
Sie könnten in Betracht ziehen, FUSE-Quelle zu betrachten ... –
Noch besser, Sie könnten CacheFiles und cachefilesd, Intro hier anschauen: http://git.kernel.org/?p=linux/kernel/git/torvalds/ linux-2.6.git; a = blob; f = Dokumentation/filesystems/caching/cachefiles.txt; hb = HEAD – ephemient