Klaus Mock: Grundsätzliche Frage zu Dateien

Beitrag lesen

Hallo,

Da ich leider keine Ahnung habe, wie auf einer Festplatte Daten abgelegt werden, habe ich eine grundsätzliche Frage zum Öffnen von Dateien:

AFAIK werden Daten auf der Festplatte grundsätzlich blockweise abgelegt. Auch bei Disketten oder CD-ROMS erfolgt die Speicherung blockweise.

Betriebssysteme verwenden heutzutage auch, soweit mir bekannt, blockweise arbeitende Filesysteme (FAT, HPFS, NTFS, ext, ext2...). Allerdings können sich dabei die Blockgrößen von denen der Datenträger unterscheiden.
Außerdem verfügen die meisten Betriebssysteme über einen mehr oder weniger ausgeklügelten Cache-Mechanismus, um den Datenzugriff für die Anwendungen zu optimieren.
Die Betriebssysteme stellen aber den Programmen Funktionen zur Verfügung, womit diese die Dateien entweder blockweise oder zeichenweise auslesen und schreiben können.
Die wenigsten Betriebssysteme bieten allerdings Funktionen zum zeilenweise Einlesen, das erledigen die Programme/Programmiersprachen intern.

In welcher Form die Dateien nun betriebssystemintern wirklich organisiert und verwaltet sind, ist in den meisten Anwendungsfällen eher unerheblich. Ich denke, nur wenn es um zeitkritische Anwendungen geht (Video, Audio...), wird es wirklich interessant zu wissen, wie das ganze 'Werkel' wirklich arbeitet.

wird wenn ein Programm eine Datei öffnet eigentlich immer gleich die gesamte Datei von der Festpallte ausgelesen oder kann dies auch Zeile pro Zeile geschehen?

Bei kleinen Dateien (ein logischer Datenblock) wird sicherlich die ganze Datei vom BEtriebssystem eingelesen, allerdings werden die Daten dann häppchenweise an das Programm weitergereicht. Benötigen die Dateien mehr als einen logischen Block, ist das Verhalten stark abhängig vom System und dessen aktuellen Zustand, als daß hier eine allgemein gültige Aussage für das Betriebssystem getroffen werden kann. Das Programm erhält allerdings die Daten wieder häppchenweise.

Grüße
  Klaus