Re: Unnötige Prozesse deaktivieren



Hallo Heiko,

Du schriebst am Wed, 11 Nov 2009 16:44:09 +0100:

Wohl fast immer weder noch - es gibt einfach praktisch keine Aufgabe
^^^^^^^^^^^^^^^
eines Kernel-Bestandteils, die Gleitpunktrechnungen erforderte.

Das halte ich für ein Gerücht. Etliche Kernelbestandteile sind dem
Bereich der Kryptographie zuzordnen und bei den Kryptoroutinen gibt es

Ist Kryptographie eine wesentliche Aufgabe des Kernels?
Ich würde eher sagen, der Kernel sollte da seine Pfoten ganz 'rauslassen
und das alles entsprechenden Anwendungen (die dann gerne auch "privilegiert"
in irgendeiner Weise sein dürfen) überlassen.

durchaus welche, die Gleitkommaoperationen erfordern (z.B. auf
elliptischen Kurven basierende Algorithmen).

Ja und? Auch sowas läßt sich mit skalierten Ganzzahlwerten berechnen -
eine ellptische Kurve füllt ja auch nicht unbedingt den gesamten Raum aus,
so daß man einen extrem weiten Wertebereich brauchte. Auch Gleitkommazahlen
sind nicht exakt.

Wenn es stimmt, daß Kernelcode die Benutzung der FPU verboten ist, dann
müßten entweder eine Emulation in für die Integer-Einheit verwendet
werden, was rechenzeitmäßig stark suboptimal ist oder alternativ die
FPU-Sachen in den Userspace ausgelagert werden, was sicherheitstechnisch
stark suboptimal ist.

Eben, deswegen wird da eben im allgemeinen anders - angepasster an die
Aufgabestellung und an die Umgebung - gerechnet, was damit zudem noch
effizienter wird.

Allerdings glaube ich nicht wirklich, daß generell für den Kernelspace
die FPU-Nutzung verboten ist. Meiner Meinung nach gilt das so streng nur
für Interrupthandler. Falls ich mich hier täusche, dann liegt ein

Durchaus möglich - dort ist eine Kollisionsgefahr am größten.
Andererseits ist der Scheduler im Prinzip uach nur ein Interrupthandler,
und es gibt keine Garantie für den FPU-Zustand bei seinem Aufruf. Daher muß
der auch als eine seiner Aufgaben beim Umschalten der Tasks den FPU-Zustand
der alten Task sichern und den der neuen wiederherstellen - damit wäre
_dazwischen_ (also im Verlauf seiner Aktivität) die Benutzung der FPU durch
Kernel-Funktionen gefahrlos möglich.

Designfehler in Form einer unnötigen Einschränkung vor, denn durch die
Hardware bedingte technische Gründe gibt es für eine solche Beschränkung
nicht.

Doch, die sind einfach dadurch gegeben, daß die FPU einen _Zustand_ hat,
der für unterschiedliche Aktionen unterschiedlich sein muß. Die FPU hat
schließlich interne Register (-> Speicher), die von der Vorgeschichte
abhängig sind. Die für jede einzelne Aktion komplett umzuschaufeln ist
unsinnig aufwendig.

Außer, Du bringst eine verbreitete Aufgabenstellung dafür als
Gegenbeispiel.

Das dürfte hiermit passiert sein.

Wie verbreitet, relativ zu den übrigen Funktionen? Mir scheint das eher
eine Randfunktion zu sein, die zudem im Kernel eher schlecht plaziert ist.

--
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
-----------------------------------------------------------
Mit freundlichen Grüßen, S. Schicktanz
-----------------------------------------------------------
.



Relevant Pages