Moin!
Es ist Aufgabe der Festplatte, einen angeforderten Datenbereich schnellstmöglich zu lesen und zu liefern.
Aha. Aber du verweigerst der Festplatte die volle Leistung, indem du ihr zumutest, bei einer Datei den Schreib/Lesekopf zigfach bewegen muss.
Es muß ja einen Grund haben, warum die aktuelle Optimierungsbemühung bei Festplatten mit Native Command Queuing eben gerade den Ansatz wählt, die unweigerlich auftretenden Seeks auf der Festplatte vom Weg her zu optimieren.
Es reicht doch schon, wenn du eine größere Datei einlesen willst, und parallel dazu das OS Swapping betreibt, weil die eingelesene Datei RAM-Speicher erfordert, der freigeschaufelt werden muß. Zack hast du einen rödelnden Plattenkopf, der zwischen zwei Partitionsbereichen hin- und herspringen muß. Da dürfte es ziemlich egal sein, ob die zu lesende Datei nun in einem Stück vorliegt, oder in fünf Fragmenten.
Defragmentierung von Dateien beschleunigt das aber nur bedingt, denn in Multi-Tasking-Systemen wird ja nie seriell nur eine Datei zur Zeit angefordert, sondern in der Regel parallel mehrere (von Zugriffen auf den Auslagerungsbereich des virtuellen Speichers mal ganz zu schweigen.
Also wenn du kochen willst, den Topf aus dem Wohnzimmer, den Kochlöffel aus dem Keller und die Nubeln aus dem Schlafzimmer holen musst, bist du genauso schnell, als wenn alles in der Küche wäre?
Kochen ist nicht Multitasking. Kochen, Wäschewachen und Staubsaugen wäre Multitasking - und dann komme ich, weil ich staubsaugen will, in Wohnzimmer und Schlafzummer vorbei und schnapp mir den Kochlöffel und die Nudeln, und aus der Waschküche im Keller bringe ich den Topf mit.
Gerade bei vielen geöffneten Dateien ist es entscheidend, ob diese fragmentiert sind, da sich die nötige Bewegung des Schreib/Lesekopfes multipliziert und nicht auf eine einzelne Datei begrenzt ist.
Die Anzahl der geöffneten Dateien ist vollkommen irrelevant, eine Datei offen zu haben transferiert keine nennenswerten Daten - mit Ausnahme des Lesens des Directoryeintrags.
Selbst das Füllen des Cache wird durch eine Fragmentierung verlangsamt und bremst somit das komplette System.
Caches sind ein Thema für sich. Ein übliches Computersystem hat davon ganz viele unterschiedliche, die alle irgendeinen Einfluß nehmen - und das wird sicherlich in den seltensten Fällen negative Auswirkungen haben.
- Sven Rautenberg
"Love your nation - respect the others."