Ordner und Dateien unter /proc erstellen

Florian88

Well-Known Member
Hallo,

ich habe ein recht ungewöhnliches Vorhaben, deshalb möchte ich zunächst den Titel bzw. Sinn meines Vorhabens erklären.
Wir führen zur Zeit an der Uni ein Praktikum im Bereich Betriebssysteme durch. Die Praktikumsaufgaben werden eigentlich alle unter Windows oder Debian gelöst. Ich wollte jedoch, rein aus Interesse, die Aufgaben unter FreeBSD lösen. Das ganze hat auch bisher ganz gut funktioniert und ich habe bis jetzt alle Testate erhalten, aber bei meiner letzten Aufgabe komme ich nicht weiter und bitte euch deshalb um eure Hilfe.

Wir sollen ein Kernelmodul schreiben, welches unter /proc eine Datei in einem neuen Ordner anlegt. Ich habe bereits das Grundgerüst für ein Kernelmodul geschrieben, das sich auch laden lässt. Nun versuche ich auf das procfs zuzugreifen.
Unter Linux lässt sich die Aufgabe wohl recht einfach mit proc_mkdir und create_proc_entry lösen.

Auch für FreeBSD habe ich ähnliche Funktionen gefunden in der pseudofs.h:
Code:
struct pfs_node *
pfs_create_dir(struct pfs_node *parent, const char *name, pfs_attr_t attr, pfs_vis_t vis, pfs_destroy_t destroy, int flags)

Allerdings habe ich bisher keine Erfahrung im Bereich Kernelprogrammierung. Wie greife ich mit meinem Modul auf die Strukturen, die von dem Modul procfs erstellt wurden zu?

Kennt sich vielleicht zufällig jemand von euch mit pseudofs aus und kann mir vielleicht ein paar Tipps geben?

Ich wäre euch echt dankbar. Ich habe mir nämlich viel Mühe bei den letzten Versuchen (mutex, semaphore...) gegeben, da diese auch von den Linuxpendants abweichen. Es war zwar immer sehr zeitaufwendig, aber ich bin immer zu einer Lösung gekommen, nur an dieser Aufgabe sitze ich jetzt schon seit einer Woche und finde keinen Ansatz.
Ich verstehe nicht mit welchen konkreten Parametern ich pfs_create_dir aufrufen muss.

Gruß
Florian
 
Zurück
Oben