pio modus oder nicht ist interessant, denn wenn ein device kein dma hat, kann es auch nicht das betriebsystem blockieren. das ist wahrscheinlich auch die erklärung, warum es bei martin unter windows stockt, unter linux aber nicht: suse benutzt (zumindest 9.1 - keine ahnung wie es bei 9.3 aussieht) defaultmäßig nur pio modus.
bei pio modus wird per cpu kopiert, im dma modus per externen chip (zb im bios).
Warum stockt Windows beim Einlegen einer CD?
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Ich denke umgekehrt wird da ein Schuh draus. DMA, bzw. heutzutage UDMA dient dazu die CPU zu entlasten. Ohne ist fehlerfreies Brennen kaum möglich. PIO-Mode stammt ja noch aus 386-er Zeiten. Jedes Laufwerk unterstützt inzwischen PIO-Mode 4. UDMA sollte natürlich im BIOS aktiviert sein, damit Windows dies auch nutzt. Bei Linux ist das nicht so wichtig, da der Linux-Kernel die BIOS-Einstellungen teilweise sowieso ignoriert und selber feststellt, ob UDMA möglich ist. Die Aktivierung geschieht meines Wissens nach bei jeder Distribution automatisch, nur per Bootoption läßt sich diese Unterstützung ausschalten (sogen. Sicherer Modus)Zaphod hat geschrieben:pio modus oder nicht ist interessant, denn wenn ein device kein dma hat, kann es auch nicht das betriebsystem blockieren. das ist wahrscheinlich auch die erklärung, warum es bei martin unter windows stockt, unter linux aber nicht: suse benutzt (zumindest 9.1 - keine ahnung wie es bei 9.3 aussieht) defaultmäßig nur pio modus.
bei pio modus wird per cpu kopiert, im dma modus per externen chip (zb im bios).
Wenn ich falsch liegen sollte, dann korrigiert mich bitte.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

klar ist dma schneller und soll die cpu entlasten, aber der punkt ist, im pio modus kann die cpu nicht blockiert werden, denn die macht das kopieren selbst, folglich wird auch die threadsteuerung des betriebsystems nicht blockiert. bei dma muß der fürs kopieren zuständige chip den zugriff auf den speicher blockieren (auch vor der cpu) um dort daten reinzuschreiben. wenn er den lock auch bei anforderungen anderer devices nicht aufhebt, weil er erstmal wartet bis daten vom cd laufwerk kommen, könnte sich das so äußern, dass ersmal nichts mehr geht.
das soll natürlich nicht heißen, dass ich jemanden raten würde seine laufwerke auf pio zu schalten... dann ist es mit dem ruckelfreien schauen von dvds nämlich vorbei.
ob pio oder dma wird übrigens nicht im bios festgelegt (normalerweise nicht, eventuell kann man da ein maximum einschalten... ich habe aber noch nie von einem bios gehört, dass diese einstellung anbietet) sonder ist alleine sache des betriebsystems.
das soll natürlich nicht heißen, dass ich jemanden raten würde seine laufwerke auf pio zu schalten... dann ist es mit dem ruckelfreien schauen von dvds nämlich vorbei.
ob pio oder dma wird übrigens nicht im bios festgelegt (normalerweise nicht, eventuell kann man da ein maximum einschalten... ich habe aber noch nie von einem bios gehört, dass diese einstellung anbietet) sonder ist alleine sache des betriebsystems.
Um genau zu sein lässt sich dies durch die Optionen sync und async verändern.stbi hat geschrieben:Bei Linux und Solaris habe ich dieses Luftanhalten beim CD-mounten bisher nicht beobachten können. Ich bilde mir auch ein, gehört zu haben, dass man über die /etc/fstab aussteuern kann, ob der Zugriff synchron oder asynchron erfolgen soll. Von daher mag es durchaus Distributionen geben, die hier synchron und mit Luftanhalten arbeiten.
Falls sich das erste CD-ROM-Laufwerk wie bei mir unter /dev/hdc findet, und man es nach /media/cdrom0 mounten möchte, sähe der Code für einen synchronen Zugriff folgendermaßen aus:
Code: Alles auswählen
/dev/hdc /media/cdrom0 udf,iso9660 ro,user,noauto,sync 0 0
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
>> ich habe aber noch nie von einem bios gehört, dass diese einstellung anbietet
Eigentlich jedes BIOS bietet dies an, wenn auch manchmal etwas versteckt bzw. sogar versteckt. Ob das Betriebssystem diese Einstellungen beachtet, ist eine ganz andere Frage. Wegen eines abgebrochenen Pins meines alten Brenners konnte ich diesen nicht mehr mit UDMA nutzen, habs deaktiviert, Windows hat dann statt UDMA ein etwas älteres DMA format benutzt und ich konnte dann manchmal erfolgreich brennen. Den Brenner hab ich inzwischen aber Recycled
Eigentlich jedes BIOS bietet dies an, wenn auch manchmal etwas versteckt bzw. sogar versteckt. Ob das Betriebssystem diese Einstellungen beachtet, ist eine ganz andere Frage. Wegen eines abgebrochenen Pins meines alten Brenners konnte ich diesen nicht mehr mit UDMA nutzen, habs deaktiviert, Windows hat dann statt UDMA ein etwas älteres DMA format benutzt und ich konnte dann manchmal erfolgreich brennen. Den Brenner hab ich inzwischen aber Recycled

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
