Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Threads und Hardwarezugriffe

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
27.04.2005, 23:04 Uhr
Cardian



Hi,

mal ne Frage zum Verständnis: Ich habe zwei Threads, die auf die selbe Festplatte zugreifen, aber nicht auf dieselbe Datei. Sind diese Zugriffe über das Betriebssystem bereits threadsicher? Und wodurch sind sie threadsicher?

Ich selbst vermute ja; aber ihr kennt das bestimmt auch wenn zwei Programme auf dieselbe Festplatte zugreifen und z.B. ein großes File kopieren, dann kann es manchmal zu solchen Rucklern oder einem kurzen Stillstand kommen. Ich weiß nicht wie das in Betriebsysteme mit der Dauer eines Hardwarezugriffs und der Unterteilung des Multitasking gelöst wurde. Denke auch daß der DMA da noch ein Wörtchen mitredet, aber es ist andererseits doch auch wieder nur ein Bus. *zweifel ... und Gehirn verrenk*

Da ich in einem Programm aber zwei Threads habe (die ich auch haben muß), die häufige Dateizugriffe durchführen, interessiert mich eure Meinung, ob es sich lohnt sozusagen die "Festplattenbenutzung" threadsicher zu machen oder ob das bloß rausgeworfene Arbeit wäre?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.04.2005, 09:16 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


normalerweise sollte es threadsicher sein, windows ist glaub ic hschon so gebaut. Ansonsten von der hardware läuft ja alles über nen riscemu bei intel/amd cpus, also sollte da auch jeder befehl gleichlang dauern.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
28.04.2005, 09:56 Uhr
ao

(Operator)



Zitat von Cardian:
Sind diese Zugriffe über das Betriebssystem bereits threadsicher? Und wodurch sind sie threadsicher?

Ja, sind sie. Und zwar dadurch, dass das BS auf tiefer Ebene weiß, dass bestimmte Abläufe an Geräten nicht durch andere Abläufe unterbrochen werden dürfen (sog. "atomare" Aktionen). Diese Aktionen werden vom BS streng serialisiert, so dass eine neue erst dann beginnen kann, wenn die letzte abgeschlossen wurde.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.04.2005, 12:14 Uhr
Cardian



Aha, danke, wieder was dazugelernt! :-) ... und Arbeit gespart.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.05.2005, 13:46 Uhr
RHBaum




Zitat von Verfasser:

normalerweise sollte es threadsicher sein


Nich nur normalerweisse, und nich nur bei W32.

Das sich parallele Prozesse/Threads ned in die quere kommen is im zeitalter von "multitasking" BS ne primaere anforderung an nen BS :-)

Selbst gleichzeitige zugriffe auf eine datei duerfen nicht zu abstuerzen fuehren ... nur fuer die ergebnisse iss der user teilweisse selbst zustaendig , und manchmal ist es verblueffend :-)

Ciao ...

Dieser Post wurde am 03.05.2005 um 13:46 Uhr von RHBaum editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: