PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum gibt es keinen Scheduler für I/O-Operationen?


Gast
2008-05-11, 17:59:16
Jedes Betriebssystem hat einen Scheduler, welcher Prozesse je nach Priorität und Vordergründigkeit etc. verteilt...Das ermögicht (bei einem guten Scheduler wie z.B. dem bei Linux) selbst bei einem Singlecore bei hoher Last ein smoothes Arbeiten.

Bloß warum gibts das nicht für I/O Krams? Wenn eine Anwendung mächtig auf der HDD rattert, friert auch heute noch das halbe System ein....
Warum gibts nicht auch hierfür einen Scheduler??

Coda
2008-05-11, 18:16:09
Das hat nichts mit dem Scheduler zu tun, sondern kommt daher, dass die Festplattenoperationen offenbar nicht preemptiv implementiert sind, d.h. sie müssen erst komplett im Kernel durchlaufen bis wieder die Programme wieder dran sind.

Das ist AFAIK zumindest bei Linux mit 2.6 auch deutlich verbessert worden.

Gast
2008-05-11, 18:18:22
Das hat nichts mit dem Scheduler zu tun, sondern kommt daher, dass die Festplattenoperationen offenbar nicht preemptiv implementiert sind, d.h. sie müssen erst komplett im Kernel durchlaufen bis wieder die Programme wieder dran sind.

Das ist AFAIK zumindest bei Linux mit 2.6 deutlich verbessert worden.

Kommt das bei windows auch irgendwann?
Warum geht das so schleppend die Verbeserung? Wo I/O Krams doch eh Bremse nr. 1 ist..

Byteschlumpf
2008-05-11, 18:18:48
Da IMHO I/O-Geräte bei Zugriff immer eine hohe Priorität erhalten - andernfalls würde das System ja quasi nicht stehen, wenn eine CD/DVD eingelegt wird.

Coda
2008-05-11, 18:22:37
Kommt das bei windows auch irgendwann?
Da Microsoft ja keinen Sourcecode veröffentlich oder sonstige tiefergehenden Kernel-Infos umsonst rausrückt kann ich da auch nicht so viel dazu sagen...

Gast
2008-05-11, 18:32:09
Hatte Windows sowas seit NT nicht schon immer? Oo

Coda
2008-05-11, 18:38:09
Ansatzweise jedenfalls ja. Es kommt ja auch immer drauf an wieviele Locks du trotzdem im Kernel hast wenn er preemptiv ist.

M@tes
2008-05-11, 18:46:24
Da IMHO I/O-Geräte bei Zugriff immer eine hohe Priorität erhalten - andernfalls würde das System ja quasi nicht stehen, wenn eine CD/DVD eingelegt wird.
Gerade das ist ja meisst eine Katastrophe! Hat ne Cd Kratzer oder ist sonst schwierig zum lesen, da kannst garnix mehr machen :-p

Gast
2008-05-11, 18:49:12
Gerade das ist ja meisst eine Katastrophe! Hat ne Cd Kratzer oder ist sonst schwierig zum lesen, da kannst garnix mehr machen :-p
Das war vielleicht zu Windows 98 Zeiten so.

Gast
2008-05-11, 19:00:42
Das war vielleicht zu Windows 98 Zeiten so.

Keine Ahnung ist es bei Vista ist, aber mir hat manch fehlerhafte CD oder defeker USB-Stick mein XP in den Abgrund gerissen.

Gast
2008-05-11, 19:07:11
is bei vista n bischen besser aber kommt nich an linux ran.

M@tes
2008-05-11, 19:11:58
Das war vielleicht zu Windows 98 Zeiten so.
Leider ist es teils immernoch so :frown: Und ich nutze Vista..

dust
2008-05-11, 21:55:21
windows ist eine gurke die nicht einmal multitasking richtig kann, I/O ist ein graus. :uhammer:.

vom technischen standpunkt ist linux besser zum spielen geeignet als windows. ;D

:popcorn:

Muh-sagt-die-Kuh
2008-05-12, 11:37:51
Vista hat einen voll funktionsfähigen I/O-Scheduler (http://technet.microsoft.com/en-us/magazine/cc162494.aspx)...

Ectoplasma
2008-05-12, 12:32:54
windows ist eine gurke die nicht einmal multitasking richtig kann, I/O ist ein graus. :uhammer:.

Selbstverständlich hat Windows preemptives Multitasking (seit NT 3.1). Und das funktioniert sehr gut. Ich glaube du verwechselst hier etwas.



vom technischen standpunkt ist linux besser zum spielen geeignet als windows. ;D

Hmm, also weißt du, du kommst mir vor wie ein Kind, dass mal irgendwas gehört hat und es jetzt nachplappert. Ich würde mich schon über eine Begründung von dir freuen. Aber wie willst du das machen, wenn du den Quellcode von NT/XP/VISTA gar nicht kennst.

bluey
2008-05-12, 13:00:03
Jedes Betriebssystem hat einen Scheduler, welcher Prozesse je nach Priorität und Vordergründigkeit etc. verteilt...Das ermögicht (bei einem guten Scheduler wie z.B. dem bei Linux) selbst bei einem Singlecore bei hoher Last ein smoothes Arbeiten.

Bloß warum gibts das nicht für I/O Krams? Wenn eine Anwendung mächtig auf der HDD rattert, friert auch heute noch das halbe System ein....
Warum gibts nicht auch hierfür einen Scheduler??

Öhh, jedes Betriebssystem hat einen I/O Scheduler. Unter Linux hast du sogar die Wahl zwischen vier verschiedenen. (Deadline, CFQ, Noop und Anticipatory). Aber auf Sachen, wie NCQ, fallen afaik darunter.

dust
2008-05-12, 13:08:55
Selbstverständlich hat Windows preemptives Multitasking (seit NT 3.1). Und das funktioniert sehr gut. Ich glaube du verwechselst hier etwas.das funktioniert eben nicht sehr gut! würde es gut funktionieren, gäbe es keine stehenden anwendungen. auch i/o gehört dazu oder betreibt wer seinen rechner ohne disc und netzwerk?




Hmm, also weißt du, du kommst mir vor wie ein Kind, dass mal irgendwas gehört hat und es jetzt nachplappert. Ich würde mich schon über eine Begründung von dir freuen. Aber wie willst du das machen, wenn du den Quellcode von NT/XP/VISTA gar nicht kennst.http://www.phoronix.com/scan.php?page=article&item=897&num=3
When setting out on the benchmarking for this article we had no idea that in all of the Enemy Territory: Quake Wars benchmarks, ATI Linux would steal the lead from the latest Redmond operating system. Doom 3 had also performed very well under Linux with the latest ATI driver release. Being surprised by this, we are now going to be performing a much larger cross-platform comparison with multiple ATI Radeon graphics cards and we'll likely run the same set of tests on the NVIDIA side. We'll also throw Windows XP into the mix along with more games/benchmarks. Prior to the introduction of the fglrx 8.41 and 8.42 display drivers, seeing these results would have been impossible. The ATI Radeon HD 2900XT is proving to be quite a splendid graphics card offering for Linux users -- along with the forthcoming official open-source support.

Ectoplasma
2008-05-12, 18:30:13
@Dust danke, lese ich mir durch.

...

So habe es gelesen. Wie kann man aus einem einzigen Test auf die Qualitäten eines Multitasking-Systems schließen? Ist mir ein wenig rätselhaft. Also ich weiß ja nicht Dust. Etwas mager oder?

Gast
2008-05-12, 18:55:07
http://www.phoronix.com/scan.php?page=article&item=897&num=3
Lustigerweise ist Quake Wars aber auch so ziemlich das einzige Spiel, dass unter Linux schneller läuft, soviel zum Thema "vom technischen standpunkt ist linux besser zum spielen geeignet als windows".

Außerdem gibt es in vielen Foren Gerüchte, dass der neue ATI Treiber Fehlerhaft ist, und aufgrund von fehlerhafter oder mangelnder Darstellung manchmal besser performt. Sollte das so sein, wäre der Vergleich ungerecht.

Gast
2008-05-12, 19:14:44
Tolle Wurst
Grad hat sich eine App I/O mässig verheddert...das ganze System stand...Ich konnte nichtmal mehr in den Taskmanager> RESETKNOPF

Man kommt sich echt vor wie in der Steinzeit trotz Quadcore...

Gast
2008-05-12, 19:16:51
Tolle Wurst
Grad hat sich eine App I/O mässig verheddert...das ganze System stand...Ich konnte nichtmal mehr in den Taskmanager> RESETKNOPF

Man kommt sich echt vor wie in der Steinzeit trotz Quadcore...
Bist du sicher das nicht einfach nur der Arbeitsspeicher vollgelaufen ist?

dust
2008-05-12, 19:52:10
generell sind die treiber das problem. wenn ein hersteller nur für ein spiel den treiber "optimiert" haben die anderen programme nichts davon. die hersteller optimieren hauptsächlich für die programme mit denen die tests durchgeführt werden. würden mehr tests mit unterschiedlichen betriebssystemen und programmen durchgeführt werden, würden auch die ergebnisse anders aussehen da die hersteller nicht schlecht aussehen wollen.

andere treiber und schon ist das ergebnis ca. 5 mal besser.
http://forums.guru3d.com/showthread.php?t=255976
Used this in the driver inf:
"ATI FireGL V7701" = ati2mtag_RV630GL, PCI\VEN_1002&DEV_9501

Viewperf maya-02 Report

Viewperf 10.0
fill in config.txt
fill in config.txt

1 11.00 237.00
2 11.00 126.00
3 11.00 106.00
4 11.00 250.00
5 12.00 439.00
6 11.00 309.00
7 11.00 247.00
8 11.00 247.00
9 11.00 569.00
Weighted Geometric Mean = 250.77

Well, I installed Catalyst 8.3 back and Reran the test, I guess there's a "slight" improvement:

Viewperf maya-02 Report

Viewperf 10.0
fill in config.txt
fill in config.txt
Test # Weight () Frames/sec
1 11.00 118.00
2 11.00 41.30
3 11.00 30.60
4 11.00 52.80
5 12.00 60.30
6 11.00 26.20
7 11.00 22.70
8 11.00 22.10
9 11.00 70.90
Weighted Geometric Mean = 42.55

gab hier einmal einen artikel über die verschlechterung des renderings um mehr frames rauszuholen um bei tests besser dazustehen.

daran sieht man wie sehr die kunden verarscht werden und alle machen mit weil "das ist halt so". man gewöhnt sich daran und keinen regt es mehr auf und es wird als normal angesehen.

dust
2008-05-12, 19:55:53
Bist du sicher das nicht einfach nur der Arbeitsspeicher vollgelaufen ist?
it is not a bug it is a feature!

selbst wenn der speicher voll ist darf das system nicht hängen sondern nur die anwendung.

Gast
2008-05-12, 19:57:21
Bei Linux hat man sogar die Wahl:

Anticipatory I/O scheduler The anticipatory I/O scheduler is generally a good choice for most environments, but is quite large and complex when compared to the deadline I/O scheduler, it can also be slower in some cases especially some database loads.

Deadline I/O scheduler The deadline I/O scheduler is simple and compact, and is often as good as the anticipatory I/O scheduler, and in some database workloads, better. In the case of a single process performing I/O to a disk at any one time, its behaviour is almost identical to the anticipatory I/O scheduler and so is a good choice.

CFQ I/O scheduler The CFQ I/O scheduler tries to distribute bandwidth equally among all processes in the system. It should provide a fair working environment, suitable for desktop systems. This is the default I/O scheduler.

Aus "make menuconfig", Kernel 2.6.25.1

Gast
2008-05-12, 20:26:25
Bist du sicher das nicht einfach nur der Arbeitsspeicher vollgelaufen ist?

Ich weiss nicht was es war...ich hatte einer Vista-VM wohl etwas zuviel Speicher zugewiesen (hab 4096MB RAM, hab ihr 1024 zugewiesen) und dann damit rumgespielt.. (Updates machen lassen usw...)

Nunja habe diese in den Hintergrund gesetzt und normal weitergearbeitet..ging auch..bloß nach ner Weile wollt ich mein Word starten und dann hings plötzlich und die HDD ratterte minutenlang....alle 2 Minuten konnt ich mal die Maus bewegen und auf Tab drücken, es kam dann auch die Tab-Anzeige, aber für den Taskmanagern reichte es nicht

Weiss nicht ob es wirklich an VMWare lag....

da.phreak
2008-05-12, 20:27:47
P.S.: Der letzte Gast Post war von mir. Benutzt man den CFQ-Scheduler, kann man das schöne Programm ionice benutzen und die Priorität von Prozessen einstellen. Z. B. bekommt ein auf "Idle" laufender Prozeß nur I/O-Zeit, wenn kein anderer Prozeß diese benötigt.

Gast
2008-05-12, 20:46:29
it is not a bug it is a feature!

selbst wenn der speicher voll ist darf das system nicht hängen sondern nur die anwendung.
Da bleibt aber auch Linux und FreeBSD dann hängen. Is mir schon oft genug passiert. Kann man auch ganz einfach mit einem kleinen C Programm mal ausprobieren.

dust
2008-05-12, 23:49:45
Da bleibt aber auch Linux und FreeBSD dann hängen. Is mir schon oft genug passiert. Kann man auch ganz einfach mit einem kleinen C Programm mal ausprobieren.wieso auch? hatte den fall bei einem xp und firefox, xp lief weiter und firefox ist abgestürzt. mangels speicher ist das system also nicht hängen geblieben. bist am bashingtrip, die haben aber auch? bekommst das bezahlt?

Gast
2008-05-12, 23:54:28
wieso auch? hatte den fall bei einem xp und firefox, xp lief weiter und firefox ist abgestürzt. mangels speicher ist das system also nicht hängen geblieben.
Dann ist ja gut.
Mein Hinweis mit Linux und FreeBSD bezog sich halt auf
selbst wenn der speicher voll ist darf das system nicht hängen sondern nur die anwendung.
Und es bleibt halt seltsamerweise jedes Betriebssystem hängen, wenn der Speicher (RAM + Swap) voll ist.

bist am bashingtrip, die haben aber auch? bekommst das bezahlt?
Also, ich glaube jeder hier sieht, dass du derjenige bist, der auf dem Bashingtrip ist.

dust
2008-05-13, 00:17:53
Dann ist ja gut.
Mein Hinweis mit Linux und FreeBSD bezog sich halt auf

Und es bleibt halt seltsamerweise jedes Betriebssystem hängen, wenn der Speicher (RAM + Swap) voll ist.

Also, ich glaube jeder hier sieht, dass du derjenige bist, der auf dem Bashingtrip ist. warum sollte das so sein? in dem xp firefox fall, 512mb ram kein swap, ist richtigerweise firefox abgestürzt und xp lief weiter ohne irgendwelche hänger. was redest du also von, jedem betriebssystem das hängen bleibt wenn der speicher ausgeht?

deine erfahrung bezieht sich wahrscheinlich aufs swapen wenn es "hängt". das ist ein unterschied zum hängen der i/o operationen weil ein programm alle i/o operationen für sich beanspruchen kann ohne das ein anderes programm oder das system auch nur irgendein bisschen etwas abbekommt.

Gast
2008-05-13, 00:24:15
Ich glaub wir reden aneinander vorbei.
Ich bin halt oben erst davon ausgegangen, dass es am vollaufendem Ram lag, aber dann hast du ja gesagt, dass dem nicht so ist, und damit hat sich die Sache schon erledigt.

=Floi=
2008-05-13, 05:37:45
wieso hängt aber der pc, wenn man eine dvd einlegt? Das ist echt das bitterste überhaupt und soetwas darf einfach nicht sein!

dust
2008-05-13, 05:46:38
wieso hängt aber der pc, wenn man eine dvd einlegt? Das ist echt das bitterste überhaupt und soetwas darf einfach nicht sein!das ist ein typisches verhalten von windows, bei anderen systemen hat man solche probleme nicht. :P

nimm es nicht persönlich, entweder wechsel zu linux oder lebe damit. :wink:

Grestorn
2008-05-13, 07:37:20
Das OS hängt nicht, wenn man eine DVD einlegt. Es kann nur sein, dass der IDE Treiber wegen eines Problems des DVD-Laufwerks auch jede andere IDE Verbindung blockiert. Und das führt letztlich zu einer Blockade des OS (weil u.a. auch keine Pages mehr in oder aus der Swapdatei geladen werden können).

Letztlich ein Problem wie der Treiber die Fehlerbehandlung implementiert. Das hat recht wenig mit der OS Architektur zu tun.

Lasst doch mal Eure überflüssigen OS-Bashes. Die brigen außer Aggressionen niemandem etwas.

robbitop@work
2008-05-13, 08:23:55
Ich meine mal gelesen zu haben, dass diese I/O bedingten Stalls in Vista erheblich verbessert worden sind. Ich weiß leider nicht mehr wo und wann ich das gelesen habe. Kann das jemand verifizieren?

Ectoplasma
2008-05-13, 08:45:43
Vista hat einen voll funktionsfähigen I/O-Scheduler (http://technet.microsoft.com/en-us/magazine/cc162494.aspx)...

@robbitop@work, vielleicht hast du es in diesem Thread gelesen?

Die wichtigste Änderung scheint die Cancel-Fähigkeit von synchronen I/O Operationen zu sein. Und das wichtigste aus diesem Kapitel ist das:

In Windows Vista, device drivers easily register for notification of process terminations and so most of the un-killable process problems are gone.

Grestorn
2008-05-13, 08:58:35
Das mit der Cancel-Fähigkeit ist wichtig, trägt aber nicht zur Performance bei und hat auch nichts mit dem Hängen des gesamten OS zu tun.

Für die "Everyday"-I/O-Performance ist bestenfalls folgende Änderung wichtig:

I/O Priority
While Windows has always supported prioritization of CPU usage, it hasn't included the concept of I/O priority. Without I/O priority, background activities like search indexing, virus scanning, and disk defragmenting can severely impact the responsiveness of foreground operations. A user launching an app or opening a document while another process is performing disk I/O, for example, experiences delays as the foreground task waits for disk access. The same interference also affects the streaming playback of multimedia content like songs from a hard disk.

Windows Vista introduces two new types of I/O prioritization in order to help make foreground I/O operations get preference: priority on individual I/O operations and I/O bandwidth reservations. The Windows Vista I/O system internally includes support for five I/O priorities as shown in Figure 6, but only four of the priorities are used (future versions of Windows may support High).


Dass das OS komplett hängt wenn z.B. ein Lesefehler von der DVD auftritt hat m.E. weiterhin nur etwas mit dem IDE Treiber zu tun und ist weitestgehend unabhängig vom OS selbst. Wobei man natürlich gepflegt darüber streiten kann, wie weit der IDE Treiber Teil des OS ist. Ich weiß schlicht nicht, ob das mit den mitgelieferten IDE Treibern in XP und/oder Vista auftritt oder nur/auch mit Third-Party Treibern.

Ectoplasma
2008-05-13, 09:14:37
Das mit der Cancel-Fähigkeit ist wichtig, trägt aber nicht zur Performance bei und hat auch nichts mit dem Hängen des gesamten OS zu tun.

Stimmt, habe ich aber auch nicht behauptet. Vielleicht hätte ich schreiben sollen, dass es für mich ein wichtiger Aspekt ist.

Gast
2008-05-13, 09:28:34
Also bei mir hängt Windows nicht, wenn ich eine kaputte CD/DVD einlege.
Das Laufwerk macht dann zwar krach ohne Ende, aber das System scheint es nicht zu stören, es sei denn ich geh auf den Arbeitsplatz, und klick da das Laufwerk an. Dann setzt der Explorer für ein paar Sekunden kurz aus.

Ich weiß also nicht was ihr habt.

Grestorn
2008-05-13, 09:37:39
Wie gesagt, das liegt am Treiber. Ich hatte das schon in der Vergangenheit, aber ich weiß nicht mehr, welcher IDE Treiber da im Einsatz war.

Da es doch eine Vielzahl von Treibern gibt, kann es sehr gut sein, dass der eine User darunter leidet, während der andere nicht weiß wovon die Rede ist. Und kaum einer kommt auf die Idee, dass die Ursache nicht das Betriebssystem selbst sein könnte (denn es gilt ja sowieso immer bei jedem Problem: Microsoft hat Schuld!)

dust
2008-05-13, 09:56:05
Wie gesagt, das liegt am Treiber. Ich hatte das schon in der Vergangenheit, aber ich weiß nicht mehr, welcher IDE Treiber da im Einsatz war.

Da es doch eine Vielzahl von Treibern gibt, kann es sehr gut sein, dass der eine darunter leidet, während der andere nicht weiß wovon die Rede ist. Und kaum einer kommt auf die Idee, dass die Ursache nicht das Betriebssystem selbst sein könnte (denn es gilt ja sowieso immer bei jedem Problem: Microsoft hat Schuld!)mangelhaftes multitasking bei windows im i/o ist vorhanden, darum kommst du nicht herum. schönreden macht ein hängendes system nicht wieder flott, da hilft nur warten, warten und nochmals warten.

Gast
2008-05-13, 10:09:58
mangelhaftes multitasking bei windows im i/o ist vorhanden, darum kommst du nicht herum.
Ach ja? Dann beweis uns das doch, und schwätz hier nicht rum.

Ganon
2008-05-13, 10:11:00
Also auch unter Linux stockt bei mir das System regelmäßig. Das geht sogar soweit das die Maus manchmal ins Stocken kommt. Gerade bei stark Festplattenlastigen I/O Operationen wie emerge --sync o. ä. FireFox ist dabei auch meist nicht mehr zu bedienen.

Aber das gleiche unter Windows, mit anderen Sachen.

Grestorn
2008-05-13, 10:11:33
Welches mir fehlende Wissen ermächtigt Dich zu der Aussage, dass das "Multitasking im I/O" unter Windows mangelhaft wäre?

Warum Windows hängt wenn der Treiber die I/O auf alle IDE Geräte blockiert habe ich ja erläutert. Das würde unter Linux genauso passieren, wenn der Treiber so etwas macht.

Gast
2008-05-13, 10:14:50
Das passiert, wenn dem Linux Fanboy die Argumente ausgehen.

Ectoplasma
2008-05-13, 10:32:40
Das passiert, wenn dem Linux Fanboy die Argumente ausgehen.

Zumindest sollte man einmal nachfragen, von welchem Windows eigentlich die Rede ist. Ich glaube er spricht von Windows 95, bzw. DOS basierten Systemen.

dust
2008-05-13, 10:53:31
die rede ist von windows xp!

das passiert ja nicht nur mit optischen laufwerken sondern auch mit festplatten. liest du nicht was du selbst postest?
Für die "Everyday"-I/O-Performance ist bestenfalls folgende Änderung wichtig:

Zitat:
Zitat von Windows Administration
I/O Priority
While Windows has always supported prioritization of CPU usage, it hasn't included the concept of I/O priority. Without I/O priority, background activities like search indexing, virus scanning, and disk defragmenting can severely impact the responsiveness of foreground operations. A user launching an app or opening a document while another process is performing disk I/O, for example, experiences delays as the foreground task waits for disk access. The same interference also affects the streaming playback of multimedia content like songs from a hard disk.

Windows Vista introduces two new types of I/O prioritization in order to help make foreground I/O operations get preference: priority on individual I/O operations and I/O bandwidth reservations. The Windows Vista I/O system internally includes support for five I/O priorities as shown in Figure 6, but only four of the priorities are used (future versions of Windows may support High).
hätte es i/o multitasking bei wix p schon gegeben bräuchte man es nicht bei vista einführen. oder?

und jeder der ein bisschen mehr macht als surfen kennt es aus eigener erfahrung...

Gast
2008-05-13, 10:56:40
die rede ist von windows xp!

das passiert ja nicht nur mit optischen laufwerken sondern auch mit festplatten. liest du nicht was du selbst postest?

hätte es i/o multitasking bei wix p schon gegeben bräuchte man es nicht bei vista einführen. oder?
Du kannst selber nicht lesen oder?
Da geht es um PRIORISIERUNG! Die eigentliche Multitaskingfähigkeit war schon immer da.

Grestorn
2008-05-13, 11:02:04
Ganz genau!

D.h. jede I/O Operation hatte die selbe Priorität, damit konnte ein Diskcheck oder Index-Aufbau auch ein File-Copy oder noch schlimmer das Abspielen eines Streams unterbrechen.

Dadurch dass man bestimmten I/O Operationen jetzt eine höhere oder niedrigere Prio geben kann, lässt sich so etwas vermeiden.

Deswegen wird Vista auch nicht wirklich langsamer wenn gerade der Index aufgebaut oder die Platte gerade defragmentiert wird. Auch wenn immer alle Schreiben, oh Schreck, mein Vista ist so langsam, weil die Platte ja ständig rödelt...

dust
2008-05-13, 11:03:29
Du kannst selber nicht lesen oder?
Da geht es um PRIORISIERUNG! Die eigentliche Multitaskingfähigkeit war schon immer da.und nach welcher priorität werden den i/o tasks ressourcen zur verfügung gestellt? :P

dust
2008-05-13, 11:10:13
Ganz genau!

D.h. jede I/O Operation hatte die selbe Priorität, damit konnte ein Diskcheck oder Index-Aufbau auch ein File-Copy oder noch schlimmer das Abspielen eines Streams unterbrechen.

Dadurch dass man bestimmten I/O Operationen jetzt eine höhere oder niedrigere Prio geben kann, lässt sich so etwas vermeiden.

Deswegen wird Vista auch nicht wirklich langsamer wenn gerade der Index aufgebaut oder die Platte gerade defragmentiert wird. Auch wenn immer alle Schreiben, oh Schreck, mein Vista ist so langsam, weil die Platte ja ständig rödelt...
wenn es multitasking im i/o funktionieren würde, bliebe der rechner aber nicht hängen denn dann würde jedes programm einen teil der leistung bekommen.

vista werde ich mir sicher nicht geben, mir reichts endgültig von microsoft.

Grestorn
2008-05-13, 11:10:37
und nach welcher priorität werden den i/o tasks ressourcen zur verfügung gestellt? :P

Bis unter XP: Jedem die selbe.

Unter Vista: Jedem die selbe, es sei denn, die Anwendung fordert eine andere Prio an. Das machen insbesondere Hintergrund-Prozesse (Index erstellen, Defrag), die eine niedrige Prio verwenden, und Echtzeit-Prozesse (Stream abspielen), die eine hohe Prio verwenden.

Grestorn
2008-05-13, 11:12:15
wenn es multitasking im i/o funktionieren würde, bliebe der rechner aber nicht hängen denn dann würde jedes programm einen teil der leistung bekommen.

Ich hab doch jetzt nun schon oft genug geschrieben, dass kein Programm hängen bleibt nur weil ein anderen Programm I/O macht.

Es muss nur u.U. warten - denn eine Platte kann nun mal nicht an zwei Stellen gleichzeitig lesen. Auch nicht unter Linux!

Warum es z.B. bei defekten DVDs u.U. auch mal längere Wartezeiten gab, habe ich auch schon oft geschrieben und warum das nicht wirklich was mit der OS Architektur zu tun hat.

dust
2008-05-13, 11:39:35
Ich hab doch jetzt nun schon oft genug geschrieben, dass kein Programm hängen bleibt nur weil ein anderen Programm I/O macht.

Es muss nur u.U. warten - denn eine Platte kann nun mal nicht an zwei Stellen gleichzeitig lesen. Auch nicht unter Linux!

Warum es z.B. bei defekten DVDs u.U. auch mal längere Wartezeiten gab, habe ich auch schon oft geschrieben und warum das nicht wirklich was mit der OS Architektur zu tun hat.und wenn du es noch tausend mal schreibst bleibt es falsch.

es passiert, dass ein programm hängt weil ein anderes i/o operationen auf der festplatte macht. der threatstarter ist ja nicht der einzige der das problem bei windows xp kennt.

auch bei einer defekten dvd dürfte es nicht passieren da der zugriff auf ein laufwerk kein anderes blockieren dürfte. hallo multitasking...

Gast
2008-05-13, 11:52:27
auch bei einer defekten dvd dürfte es nicht passieren da der zugriff auf ein laufwerk kein anderes blockieren dürfte. hallo multitasking...

bei mir geht das, kaputte dvd in brenner (liest sich wund dabei)

während der brenner liest, cd/dvd ins dvd-rom

die cd/dvd lädt in der normalen zeit (als wenn keine im brenner hängt)

xp

Ectoplasma
2008-05-13, 11:52:32
@Dust, allerdings scheinst du den wesentlichen Unterschied zwischen Multitasking und I/O Operationen nicht so wirklich auseinanderhalten zu können.

Wenn ich eine defekte DVD in meinen Home PC oder mein Laptop einlege, dann hängt gar nichts. Ausser der dämliche Explorer vielleicht. Alle anderen Programme laufen ganz normal. Es liegt nicht am OS, sondern an den Treibern, wie sich ein System verhält. Einen schlechten Treiber könnte ich auch für Linux schreiben. Wäre kein Problem. Und alle würden heulen, wie schlecht bei Linux die I/O ist.

Nochmal. Windows NT/XP/2000/Vista haben Multitasking auch im I/O Bereich. Windows NT/XP/2000 hat nur keine Priorisierung bei I/O Operationen. Du solltest den Unterschied mal langsam verstehen.

dust
2008-05-13, 12:06:14
Nochmal. Windows NT/XP/2000/Vista haben Multitasking auch im I/O Bereich. Windows NT/XP/2000 hat nur keine Priorisierung bei I/O Operationen. Du solltest den Unterschied mal langsam verstehen. und du solltest langsam verstehen, dass ein programm sehrwohl das ganze wixp system zum stillstand bringen kann, das multitasking also nicht zufriedenstellend funktioniert.

Gast
2008-05-13, 12:12:04
und du solltest langsam verstehen, dass ein programm sehrwohl das ganze wixp system zum stillstand bringen kann, das multitasking also nicht zufriedenstellend funktioniert.
Und du solltest verstehen, dass das ein Problem des Treibers zu sein scheint.
Wenn der einfach so schlampig seine Kernellocks setzen würde, dass ein Deathlock provoziert wird, kann Windows auch nichts dafür.
Könnte unter Linux genau so passieren, der unterschied ist nur, dass die Treiber für Linux von kompetenten Menschen gewartet werden, die genau wissen, wie ein Treiber Ressourcen benutzen darf.

Ectoplasma
2008-05-13, 12:22:46
und du solltest langsam verstehen, dass ein programm sehrwohl das ganze wixp system zum stillstand bringen kann, das multitasking also nicht zufriedenstellend funktioniert.

Dann zeig uns doch endlich mal den Artikel, wo das genau beschrieben steht.

Und wenn du in diesem Thread alles gelesen hast, dann wirst du auch gesehen haben, dass einige Leute bei defekten DVDs ein Problem haben und andere wieder nicht. Wenn es also ein grundsätzliches Problem von Windows wäre, dann hätten alle diese Hänger. Wie kann man nur so ignorant sein? Oder glaubst du den Leuten nur einfach nicht?

Nachtrag:

Und ja, ich kann mit jedem Treiber ein System zum Stehen bringen, auch Linux.

Grestorn
2008-05-13, 12:49:02
und wenn du es noch tausend mal schreibst bleibt es falsch.

es passiert, dass ein programm hängt weil ein anderes i/o operationen auf der festplatte macht. der threatstarter ist ja nicht der einzige der das problem bei windows xp kennt.

Das ist ja mal völliger Quatsch. Du kannst nicht einfach Dinge behaupten, von denen eigentlich jeder weiß, dass sie nicht stimmen.

auch bei einer defekten dvd dürfte es nicht passieren da der zugriff auf ein laufwerk kein anderes blockieren dürfte. hallo multitasking...Richtig, es dürfte nicht passieren, aber das OS kann ja nun nichts dafür, wenn der Treiber alle Zugriffe auf IDE Geräte blockiert. Und auch dann ist das OS erst wirklich blokiert wenn deswegen kein Zugriff mehr auf das Pagefile möglich ist.

Grestorn
2008-05-13, 12:50:28
und du solltest langsam verstehen, dass ein programm sehrwohl das ganze wixp system zum stillstand bringen kann, das multitasking also nicht zufriedenstellend funktioniert.

"Linux läuft an Montagen nur halb so schnell wie sonst".

Eine ebenso gehaltvolle Aussage, wie die Deine. Und ich kann sie ebenso gut beweisen wie Du die Deine.

No.3
2008-05-13, 14:22:23
Wie gesagt, das liegt am Treiber. Ich hatte das schon in der Vergangenheit, aber ich weiß nicht mehr, welcher IDE Treiber da im Einsatz war.

is bei mir ziemlich unabhängig vom Chipsatz, verwendeten Treiber und OS :frown:
ich meinte seinerzeit auf dem SIS Sockel 7 ChipSatz und NT4 wäre die Problematik am wenigsten ausgeprägt gewesen.


Richtig, es dürfte nicht passieren, aber das OS kann ja nun nichts dafür, wenn der Treiber alle Zugriffe auf IDE Geräte blockiert. Und auch dann ist das OS erst wirklich blokiert wenn deswegen kein Zugriff mehr auf das Pagefile möglich ist.

gibts von MS keine Vorgaben bezüglich was ein Treiber darf bzw. nicht darf resepktive soll bzw eben nicht sollte? Ich meine von wegen WHQL und so? :confused:

Grestorn
2008-05-13, 15:14:22
is bei mir ziemlich unabhängig vom Chipsatz, verwendeten Treiber und OS :frown:Was verwendest Du denn aktuell?

gibts von MS keine Vorgaben bezüglich was ein Treiber darf bzw. nicht darf resepktive soll bzw eben nicht sollte? Ich meine von wegen WHQL und so? :confused:

Sicher gibt es die. Ich möchte auch gar nicht behaupten, dass die Treiber von MS(!) in diesem Punkt einwandfrei sind oder dass der Fall im WHQL überhaupt berücksichtigt wird.

Es geht mir darum, dass es kein Architekturfehler ist sondern ein Fehler im Treiber, der vermeidbar ist.

Eigentlich müsste man das Problem alleine dadurch in den Griff kriegen, dass das DVD-Laufwerk einen eigenen Channel bekommt (auch bei SATA sind glaube ich immer 2 Anschlüsse auf einem Channel!). Theoretisch dürfte immer nur der jeweilige Channel blockiert sein. Wäre mal auszuprobieren.

No.3
2008-05-13, 15:30:09
Was verwendest Du denn aktuell?

nForce3 und XP


Es geht mir darum, dass es kein Architekturfehler ist sondern ein Fehler im Treiber, der vermeidbar ist.

ich sage mal so, Fehler im OS und/oder Treiber und beides vermeidbar?!


Eigentlich müsste man das Problem alleine dadurch in den Griff kriegen, dass das DVD-Laufwerk einen eigenen Channel bekommt (auch bei SATA sind glaube ich immer 2 Anschlüsse auf einem Channel!). Theoretisch dürfte immer nur der jeweilige Channel blockiert sein. Wäre mal auszuprobieren.

*grübel* wenn ich mit dem Neuinstallieren des Rechners fertig bin, leg ich mal ein paar CDs / DVDs ein und achte mal speziell drauf.

Tendenziell hing das System aber trotzdem *obwohl* 2 meiner Platten am Raid-Kontroller (PCI-Karte) hängen, eine Platte am ChipSatz SATA und an den 4 PATA Anschlüssen das ZIP100, LS120 (nun leider kaputt :frown:), DVD und DVD-Brenner hängen. Die "langsamen" Geräte hängen also alle isoliert am PATA.

*grübel* *nachdenk* wenn ich ne CD einlegte, dann konnte ich IIRC im Explorer mit den Festplatten arbeiten, wenn ich aber auf das CD Laufwerk klickte, dann hing der Explorer und fast das ganze Sys. Hatte ich zu dem Zeitpunkt noch ein 2. Explorer-Fenster offen, meinte ich in diesem Fenster hätte ich mit den Festplatten gut arbeiten können.

Wobei, im Idealfall dauert das mit einer CD oder DVD nur einige Sekunden und dann läufts wieder. Richtig schlimm ist es wenn ich auf meinem Parallel-Port Tintenstrahldrucker drucke, das dauert dann Minuten bis das geruckel und gelagge vorbei ist :mad:

Gast
2008-05-13, 16:26:37
Also falls nur der Explorer (und damit auch die Taskleiste etc) hängen sollte, dann ist das gar nicht so verwunderlich.
Standardmäßig werden alle Explorer Fenster als ein einziger Prozess ausgeführt.
Wenn dann ein Fenster mal blockt, weil er aufs Laufwerk wartet, dann hängen alle anderen Explorer Fensterchen mit (und damit auch die Leiste).
Könnte man umgehen, indem man dem Explorer sagt, dass er für jedes Fenster einen eigenen Prozess starten soll. Das hat dann aber auch wieder seine anderen Nachteile.

Grestorn
2008-05-13, 16:53:23
*grübel* *nachdenk* wenn ich ne CD einlegte, dann konnte ich IIRC im Explorer mit den Festplatten arbeiten, wenn ich aber auf das CD Laufwerk klickte, dann hing der Explorer und fast das ganze Sys. Hatte ich zu dem Zeitpunkt noch ein 2. Explorer-Fenster offen, meinte ich in diesem Fenster hätte ich mit den Festplatten gut arbeiten können.

Dass der XP-Explorer hängt wenn man auf ein nicht antwortendes Medium klickt ist bekannt und "normal". Auch bei sehr langsamen Netzverbindungen total ätzend. Ich glaube nicht, dass das bei Linux besser ist, oder?

Bei einer hängenden (auf Timeout wartenden) Netzverbindungen steht dann in XP tatsächlich jede andere Netzverbindung auch bis zum Timeout.

Zumindest das mit dem Netz ist in Vista behoben worden (Neuimplementierung des IP-Stacks, der in der Tat nicht reentrant war - böse Sache!).

Aber abgesehen von der Netzwerk-Geschichte müssen andere Explorer weiterhin reagieren. Allerdings: Wenn der Explorer refresht (oder auch nur, wenn man einen neuen aufmacht, der dann ja auch refreshen muss) gibt's oft das Problem, dass er ja die Laufwerke und deren Namen anzeigen will - und damit direkt voll in die Falle tappt und deswegen auch auf das Laufwerk wartet, dass gerade keine Antwort gibt.

Ich glaube, auch diesen Mangel des Explorers wurde irgendwann mal behoben (kann aber schon in einem XP-SP passiert sein).

Alles dies hat aber absolut gar nichts mit dem I/O-Scheduling zu tun. Gäbe es das nicht, würde gar nichts vernünftig laufen in einem OS das die Threads preemptive scheduled.

dust
2008-05-13, 16:58:27
Und du solltest verstehen, dass das ein Problem des Treibers zu sein scheint.
Wenn der einfach so schlampig seine Kernellocks setzen würde, dass ein Deathlock provoziert wird, kann Windows auch nichts dafür.
Könnte unter Linux genau so passieren, der unterschied ist nur, dass die Treiber für Linux von kompetenten Menschen gewartet werden, die genau wissen, wie ein Treiber Ressourcen benutzen darf.ein ide treiber dürfte das system nicht blockieren und zb. verhindern das man den taskmanager aufmacht der die priorität hoch hat. das ist ein design fehler, wenn ein treiber das system zum stillstand bringen kann und man nicht einmal das programm abschiessen kann um die ursache des stillstandes zu beheben.

Grestorn
2008-05-13, 17:03:05
Jeder Treiber, der für die grundlegensten Funktionen des OS benötigt wird, kann das System blockieren.

Da gehört z.B. auch der Grafiktreiber dazu.

Und wenn das OS einen PageFault-Interrupt nicht befriedigen kann, weil der IDE Treiber nicht antwortet, dann steht das System. Auch wenn es Linux heißt.

dust
2008-05-13, 17:08:14
Jeder Treiber, der für die grundlegensten Funktionen des OS benötigt wird, kann das System blockieren.

Da gehört z.B. auch der Grafiktreiber dazu.

Und wenn das OS einen PageFault-Interrupt nicht befriedigen kann, weil der IDE Treiber nicht antwortet, dann steht das System. Auch wenn es Linux heißt.
was hast du dauernd mit linux? die rede ist von wix p!

Gast
2008-05-13, 17:08:39
ein ide treiber dürfte das system nicht blockieren und zb. verhindern das man den taskmanager aufmacht der die priorität hoch hat. das ist ein design fehler, wenn ein treiber das system zum stillstand bringen kann und man nicht einmal das programm abschiessen kann um die ursache des stillstandes zu beheben.
Bitte beschäftige dich erstmal mit den Grundlagen der Betriebssystementwicklung, und dann am besten noch speziell mit einem ganz bestimmten Kernel (am besten Linux) im Detail, bevor du hier rumpöbelst.

Gast
2008-05-13, 17:09:20
was hast du dauernd mit linux? die rede ist von wix p!
Er will damit klar machen, dass das auf alle Systeme zutrifft, nicht nur auf Windows.
Aber war klar das du das nicht begreifst.

dust
2008-05-13, 17:13:40
Bitte beschäftige dich erstmal mit den Grundlagen der Betriebssystementwicklung, und dann am besten noch speziell mit einem ganz bestimmten Kernel (am besten Linux) im Detail, bevor du hier rumpöbelst.
du meinst kernelspace und userspace treiber?

Grestorn
2008-05-13, 17:15:09
was hast du dauernd mit linux? die rede ist von wix p!

Weil Du doch immer Windows als so schlecht hinstellst und Beispiele bringst, welch tolle Scheduling-Strategien man in Linux einbinden kann. Aber auch die würden Linux nichts helfen in einer vergleichbaren Situation.

Monger
2008-05-13, 17:22:58
ein ide treiber dürfte das system nicht blockieren und zb. verhindern das man den taskmanager aufmacht der die priorität hoch hat. das ist ein design fehler, wenn ein treiber das system zum stillstand bringen kann und man nicht einmal das programm abschiessen kann um die ursache des stillstandes zu beheben.
Das Betriebssystem lebt ja nicht von Luft und Liebe - zumindest die elementare Hardware (Mainboard und CPU) muss im Kernel Mode laufen.

Stellen wir uns mal rein hypothetisch vor, der CPU Befehlssatz wäre auf der CPU fehlerhaft implementiert. Da kann sich das Betriebssystem auf den Kopf stellen - es wird trotzdem nicht mal einfach so unten den Chip neu zusammenlöten können.

Bei den Controllern ist das nicht ganz so offensichtlich, aber ein Betriebssystem was den I/O Zugriffen mißtraut?!? In welchem Speicher soll es sich denn bitteschön ablauffähig halten?

Ein Haus ist halt immer nur so stabil wie sein Fundament.

dust
2008-05-13, 17:29:27
Er will damit klar machen, dass das auf alle Systeme zutrifft, nicht nur auf Windows.
Aber war klar das du das nicht begreifst.als ob windows und linux alles wäre und es nichts zu verbessern gäbe...

Grestorn
2008-05-13, 17:34:46
Dann zeig mir mal ein OS dass es schafft noch einen Taskmanager anzuzeigen, wenn z.B. der Grafiktreiber blockt oder der Plattentreiber blockt und ein PageFault aufgetreten ist....

dust
2008-05-13, 17:58:48
Das Betriebssystem lebt ja nicht von Luft und Liebe - zumindest die elementare Hardware (Mainboard und CPU) muss im Kernel Mode laufen.

Stellen wir uns mal rein hypothetisch vor, der CPU Befehlssatz wäre auf der CPU fehlerhaft implementiert. Da kann sich das Betriebssystem auf den Kopf stellen - es wird trotzdem nicht mal einfach so unten den Chip neu zusammenlöten können.

Bei den Controllern ist das nicht ganz so offensichtlich, aber ein Betriebssystem was den I/O Zugriffen mißtraut?!? In welchem Speicher soll es sich denn bitteschön ablauffähig halten?

Ein Haus ist halt immer nur so stabil wie sein Fundament.hast du vollkommen recht, sehe ich auch so. er soll sich im hauptspeicher ablauffähig halten, da man von getrenntem netz oder kaputten festplatten ausgehen muss, passiert einfach in der realität.

das waren alles sachen die beim design vom nt kernel oder linux keine rolle gespielt haben. die ursachen sind historisch bedingt und was wir heute haben ist der darauf aufbauende wildwuchs. es soll halt funktionieren, was in den meisten fällen auch so ist.

ich halte es für aber für einen fehler die grundsätzlichen probleme schönzureden und sich damit zufrieden zu geben anstatt den herstellern die problematik vor augen zu führen und verbesserungen einzufordern. ms würde keinen finger rühren gäbe es keine kundenforderungen oder konkurrenz.

dust
2008-05-13, 18:29:36
Dann zeig mir mal ein OS dass es schafft noch einen Taskmanager anzuzeigen, wenn z.B. der Grafiktreiber blockt oder der Plattentreiber blockt und ein PageFault aufgetreten ist....bei grafiktreiber wenn du headless zugriff hast so ziemlich jedes unix.

mvs, heisst jetzt glaube ich z serie, da kannst so ziemlich alles im laufenden betrieb tauschen oder auf andere rechner verschieben. war so mitte der 90er, da ist gerade windows 95 frisch herausgekommen als quantensprung zu win 3.11, als ich noch mit bankensoftware zutun hatte, die sind nie gestanden. die admins haben geschwärmt davon.

schon klar andere kaliber, sollte aber zeigen, dass es sehr wohl möglich ist und über 10 jahre später auch wirtschaftlich machbar sein sollte.

Grestorn
2008-05-13, 18:41:08
bei grafiktreiber wenn du headless zugriff hast so ziemlich jedes unix.

Ja, wenn... :) Davon ist hier aber nicht die Rede. Wenn man einen rsh Zugriff auf Windows hat, gilt da das selbe.

mvs, heisst jetzt glaube ich z serie, da kannst so ziemlich alles im laufenden betrieb tauschen oder auf andere rechner verschieben. war so mitte der 90er, da ist gerade windows 95 frisch herausgekommen als quantensprung zu win 3.11, als ich noch mit bankensoftware zutun hatte, die sind nie gestanden. die admins haben geschwärmt davon.

schon klar andere kaliber, sollte aber zeigen, dass es sehr wohl möglich ist und über 10 jahre später auch wirtschaftlich machbar sein sollte.

Wozu? Was soll das dem normalen Anwender bringen? Für Hochverfügbarkeitssysteme, ok. Aber für Otto-Normalverbraucher?

Gast
2008-05-13, 18:41:44
Grafiktreiber sind ein schlechtes Beispiel, da die bei Linux nicht (oder kaum) im Kernelspace ablaufen, und somit nur das X System hängen bleibt (ist bei Vista auch so).

Grestorn
2008-05-13, 18:44:07
Trotzdem wirst Du ein Problem haben, auf dem lokalen Schirm eine Anzeige von irgendwas hinzubekommen ohne Grafiktreiber. Und nur darum geht es mir. Das OS ist eben vom funktionieren bestimmter Treiber abhängig.

Gast
2008-05-13, 18:47:45
mvs, heisst jetzt glaube ich z serie, da kannst so ziemlich alles im laufenden betrieb tauschen oder auf andere rechner verschieben. war so mitte der 90er, da ist gerade windows 95 frisch herausgekommen als quantensprung zu win 3.11, als ich noch mit bankensoftware zutun hatte, die sind nie gestanden. die admins haben geschwärmt davon.
Was hat ein System, bei dem man alles austauschen kann, mit Kernelhängern zu tun?

das waren alles sachen die beim design vom nt kernel oder linux keine rolle gespielt haben.
Bei der Entwicklung der ganzen kommerziellen Unice hat es aber schon eine Rolle gespielt, und da gibt es solche Probleme auch.
Es lässt sich halt nicht vermeiden, dass ein Treiber mal den Kernel locken muss, und in genau dem moment könnte potentiell ein kompletter Systemhänger entstehen, wenn der Treiber scheiße baut.

Gast
2008-05-13, 18:50:33
Mit Kernel locken mein ich übrigens Interrupts abschalten.