Wir schauen uns am Beispiel von Netzwerkkarten an wie man effiziente User-Space Treiber programmiert.
Wir haben einen User-Space Treiber für Intel 10 Gbit/s NICs und virtuelle VirtIO NICs geschrieben und erklären wie das eigentlich funktioniert und warum man das machen will.
Die meisten vorgestellten Techniken lassen sich auch auf andere PCIe-Karten übertragen.
Mehr Details gibt's auf [GitHub](https://github.com/emmericp/ixy) und in unserem Paper [Writing User Space Network Drivers](https://arxiv.org/abs/1901.10664).
Der Code ist so geschrieben dass man ihn als Referenz für User-Space Treiberentwicklung nehmen kann: voll mit Kommentaren und Referenzen auf Datenblätter und Spezifikationen.