Linux: Kernel-Hacker müssen zu komplexen Code austauschen
Er habe versucht, den betroffenen Code schrittweise aufzuräumen, schreibt der Linux-Entwickler Andy Lutomirski(öffnet im neuen Fenster), "aber ich habe entschieden, dass das einfach zu schwierig ist". Die durch ihn vorgestellten Patches ersetzen einige Teile des x86-Assembler-Codes im Kernel einfach komplett. "Das scheint zu funktionieren".
Diese Herangehensweise ist für die Linux-Community eher ungewöhnlich, doch Lutomirski hat gute Gründe für dieses Vorgehen. Denn der betroffene Code regelt den Übergang vom Kernel-Mode zurück in den User-Mode – eine der sehr grundlegenden Funktionen also. Doch bisher sei der Code einfach in sehr vielen Stellen kopiert worden und zudem in einer "fiesen Kombination von Assembler und C geschrieben".
Code ist kaum zu verstehen
Weiter heißt es, dass es teilweise nicht klar sei, wofür der Code eigentlich genau gedacht sei. Die derzeitige Struktur erschwere zudem die Arbeit damit deutlich. Zu einigen Abläufen scheint Lutomirski zwar konkrete Vermutungen zu haben, es sei aber dennoch "sinnlos kompliziert". Letztlich sei der Code so schwer zu verändern, weil er so anfällig sei, dass aus Sicht des Entwicklers das Neuschreiben die wohl beste Möglichkeit ist. Dafür nutzt er C-Code statt Assembler.
Noch fehlen wohl einige weitere Teile, die künftig ebenfalls neu geschrieben werden sollen. Die Bemühungen seien Bestandteil eines größeren Plans, der sämtlichen x86-Assembler-Code betrifft. Denn bereits für Linux 4.1, der wohl am kommenden Montag final erscheinen wird, haben Lutomirski und weitere Beteiligte verhältnismäßig viele Änderungen vorgenommen, um den alten Code zu verbessern.
- Anzeige Hier geht es zu Linux: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.


