Priorität eines Progr.

Lutz Donnerhacke lutz at iks-jena.de
Mit Mai 24 16:14:42 CEST 2000


* Thomas Dohl wrote:
>Lutz Donnerhacke schrieb:
>> Die Frage ist, ob man das will. Rechenintensive Programme sollten eine
>> niedrige Priorität haben, während IO aktive Programme eine hohe Priorität
>> aufweisen sollten. Damit ist die Latenz bei den IO-intensiven Programmen
>> geringer, aber da sie die meiste Zeit eh' nur warten, können die
>> rechenintensiven Programme größere Blöcke von CPU-Zeit bekommen und laufen
>> so im Endeffekt schneller.
>
>Es geht mir hauptsächlich darum, zu verstehen was das bedeutet und welche
>Auswirkungen eine veränderung der Priorität zu Folge hat.

Da wirst Du den Scheduler Code lesen müssen. Der Appendix 'Real-Time
Programming' in der Ada95 Norm definiert verschiedene Scheduling
Algorithmen, die unterstützt werden müssen und programmabhängig umgeschaltet
werden können.

>Und ich wollte einem Progr. ( xmms :) ) die max Priorität geben damit es
>während der Abspielung keinerlei Aussetzer gibt und dadurch meine Aufnahme
>nicht gefärdet wird.

Dazu bräuchtest Du Garantien des OS. Linux gibt die nicht. Linux ist
ungeeignet für alles, was soft-real-time auch nur im Augenwinkel hält.
NT hat einen Real-Time-Scheduler. vxWorks und QNX auch. Es gibt ein
Realtime-Linux oder Linux auf L4, die ähnliche Garantien geben können.

GNAT (Ada95 Kompiler für Linux) bringt in der Runtime Bibliothek deswegen
einen eigenen Scheduler mit.