Die Neuerungen von Linux 4.3

Seite 4: Scheduler, Berechtigungen, Speichermanagement

Inhaltsverzeichnis

Durch einige Änderungen nutzt der Prozess-Scheduler jetzt ein genaueres und zugleich effizienteres Verfahren, um die von Prozessen erzeugte CPU-Last zu berechnen. Das soll Prozess-Verteilung auf Mehrprozessorsystemen verbessern und so Performance und Effizienz steigern, wie der Entwickler der Änderungen und der Betreuer des Schedulers schreiben; Letzterer erwähnt zugleich allerdings, man müsse die Augen offen halten, ob das neue Verfahren in Einzelfällen womöglich schlechter arbeite.

Die neuen "Ambient capabilities" sollen die Einsatzmöglichkeiten von Capabilities verbessern, mit denen von Anwendern gestartete Programme bestimmte Aufgaben durchführen können, für die normalerweise Root-Rechte erforderlich wären. Capabilities werden in der Linux-Welt bislang eher spärlich eingesetzt, weil sie einige in der Praxis hinderliche Eigenschaften aufweisen. Eine davon, die sich um die Vererbung von Berechtigungen dreht, versprechen die Ambient Capabilities aus der Welt zu schaffen; Details erläutern der Commit-Kommentar und ein LWN.net-Artikel.

Eine Änderung am Speichermanagementcode kann die Speicherperformance von Systemen mit vielen CPU-Kernen steigern, wenn es dort viele konkurrierende Speicherzugriffe gibt. Über das neue Idle Page Tracking lässt sich besser feststellen, wie viel Arbeitsspeicher ein Prozess tatsächlich nutzt. Das ist etwa beim Setzen passender Speicher-Limits über Control Groups wichtig; Details hierzu sind in der zugehörigen Dokumentation und einem LWN.net-Artikel nachzulesen.

Der Kernel hat einen weiteren Funktionsaufruf bekommen, um Kernel-intern verarbeitete Zeichenketten zugleich effizient und sicher zu kopieren, ohne Pufferüberläufe zu riskieren. Der strscpy genannte und optionale Aufruf soll einige Probleme früherer Ansätze zum Verarbeitung von Strings ausräumen; Torvalds hat den Code sehr genau beäugt, bevor er diesen integrierte. Weitere Hintergründe erläutern der Git-Merge-Kommentar, der Commit-Kommentar und ein LWN.net-Artikel.

Der Kernel enthält jetzt Basis-Unterstützung für einige Funktionseinheiten in Nvidias ARMv8-Prozessor Tegra X1 (u. a. 1, 2, 3). Ferner kann der Kernel nun drei der Funktionen nutzen, die ARM vor einigen Monaten mit Version 8.1 der ARM-Spezifikation eingeführt hat. Darunter ist etwa "Privileged Access Never" (PAN); Programme können darüber den Zugriff auf Arbeitsspeicherbereiche einschränken, um Angreifern und Schadsoftware das Auslesen wichtiger Daten zu erschweren.