Warum liest der Prozess Offset / Länge von Laufwerk C:?

313
Tyler Durden

Unten ist ein Clip von SysInternals Filemon in Aktion.

Was ich nicht verstehe ist, warum verschiedene Prozesse das Laufwerk C: im Offset lesen, anstatt bestimmte Dateien zu lesen.

verarbeitet das Lesen von Offsets

Ich habe festgestellt, dass Windows Explorer dasselbe tut, obwohl der Dateimanager nicht geöffnet ist.

0

1 Antwort auf die Frage

0
ddemuro

Es gibt viele Gründe, warum ein Programm einen bestimmten Versatz erreichen möchte. Unter den Gründen müssen Dienste wie Shadow Copy dies möglicherweise tun, und es ist unmöglich zu sagen, warum, es sei denn, wir sehen, was sie tatsächlich lesen. Ein Beispiel ist die Verwendung einer Schattenkopie zum Spiegeln eines Volumes. Dann würden Sie einen Datenstrom ausführen (wenn dies ein Hex-Datenstrom wäre), und zwar sequenziell, und Sie würden auf beiden Laufwerken den folgenden Prozess sehen:

1) Lesen von Offset 0, 4096 Bytes (einen Block lesen).

2) Schreiben an einen anderen Ort bei Offset 0, 4096 Bytes (Einen Block schreiben)

3) Lesen von Offset 4096, 4096 Bytes ... Und so weiter und so weiter ... im Wesentlichen bei der Zeit Offset = Disk Size (Plattengröße) haben Sie das Volume gespiegelt.

Allerdings könnte dies ein Problem sein, wenn die Beobachter-App das Gelesene überprüft. In Wirklichkeit gibt es Abstraktionsebenen, die direkt dort interagieren.

Das Programm fordert eine Datei an -> prüft, wo sie sich befindet -> fordert das Betriebssystem auf, die Datei abzurufen -> das Betriebssystem fordert den Treiber auf, dorthin zu gelangen und die angeforderten Bytes abzurufen, und die App erhält einen Zeiger auf die zu verwendenden Daten.

Natürlich habe ich diesen Prozess so weit wie möglich vereinfacht. Aber im Wesentlichen durchlief jedes Mal, wenn etwas auf einem Computer ausgeführt wurde, viele Abstraktionsebenen, und die von einer App angeforderten Daten können sich auf diesen Offsets befinden oder nicht. Wir haben dies gesehen, während wir mit fuse gearbeitet und die Read-Write-Aufrufe auf einem Volume abgefangen haben. Sie sind nicht sequentiell, aber um weiter zu erklären, muss ich zu technisch werden, was ich glaube, es ist nicht das, was Sie fragen.

Ich hoffe, diese Antwort hilft, auch wenn Sie seit einem Jahr nicht mehr gefragt haben.