Hab zwar keine Ahnung von Parallelportgeräten, aber immerhin
kann ich Dir die DMA Frage beantworten...
IDE Festplatten beschleunigen:
Linux verwendet beim Zugriff auf IDE Festplattens sehr konservative
Einstellungen. Mittels des Kommandos
hdparm -v /dev/hda
kann man sich eine kurze Übersicht über die momentanen Einstellungen
anzeigen lassen. Erscheinen dort die Zeilen
using_dma = 0 (off)
I/O support = 0 (default 16-bit)
so verwendet der Festplattentreiber kein DMA und 16 Bit I/O. Also die
langsamste Einstellung. Die aktuellen Übertragungsraten kann man durch
das Kommando
hdparm -t /dev/hda
bestimmen. Es erscheint eine Zeile der Form:
Timing buffered disk reads: 32 MB in 7.03 seconds = 4.55 MB/sec
Die Übertragungsrate beträgt also 4.55 Megabyte in der Sekunde.
Nach dem Einschalten von DMA Transfers mittels "hdparm -d 1 /dev/hda"
beträgt die Übertragungsrate im Beispielsystem immerhin schon
6.84 MB/sec. Aktiviert man nun noch den 32 Bit Zugriff mittels
hdparm -c 1 /dev/hda
so erhält man schliesslich den Wert 7.51 MB/sec. Die eingestellten
Werte sind sehr flüchtig. Ein IDE Reset, den der Kernel unter
gewissen Umständen auch im laufenden Betrieb durchführt, zerstört
sie. Mittels
hdparm -k 1 /dev/hda
bleiben die Einstellungen auch über einen IDE Reset erhalten. Einen
Rechnerneustart überstehen sie dann allerdings immer noch nicht. Erst
ein Eintragen der entsprechenden Zeilen in ein Startscript, daß nach
jedem Booten aufgerufen wird macht sie dauerhaft. Je nach Distribution
ist dies allerdings eine andere Stelle. Bei Suse eignet sich z.B. ein
eigenes Script in "/etc/rc.d/rc2.d" auf Basis des mitgelieferten
"skeleton" Beispiels.