2017-12-03 10 views
0

Ich habe mit Festplatten-IO auf Flash-Laufwerken, HDDs und SSDs gespielt, indem ich /dev/sd* Pfade in Linux geöffnet habe, so wie ich es bei jeder anderen Datei tun würde.Entspricht Datenträger-IO direkt seinem physischen Sektorstandort?

Ich verstehe, dass der Speichercontroller auf der Festplatte True-Block Auftrag (über ein Mapping) aus dem Betriebssystem verstecken kann.

Dies läuft darauf hinaus, diese Fragen nach unten:

  1. Sind die Blöcke in /dev/sd* in der Reihenfolge von den OS wahrgenommen wird, oder in der Reihenfolge von der Festplatte der Speicher-Controller wahrgenommen wie?

  2. Ist die Reihenfolge der Blöcke in /dev/sd* subjektive zwischen POSIX OSes?

  3. können diese Eigenschaften ändern auf einem NT oder Cygwin System erfolgen, wenn?

  4. Ist diese Eigenschaft unterschiedlich zwischen Blitz, HDD und SSD?

  5. Kann ein bestimmter Index in einem geöffneten /dev/sd* Pfad geschrieben werden oder wird dies vom Speichercontroller bestimmt?

Vielen Dank im Voraus!

Antwort

0

Wenn Sie die Geräteknoten für ganze Festplatten verwenden (/dev/sda, /dev/sdb usw.), entsprechen die Dateioffsets für das Blockgerät den logischen Blockadressen und sind systemübergreifend übertragbar (unter der Annahme, dass die Plattensektorgröße unterstützt). Dies ist unabhängig von der Speichertechnologie.

Die Namen der Geräteknoten unterscheiden sich jedoch von System zu System.

Wenn Sie Subdevices (Partitionen) verwenden, ist dies nicht unbedingt der Fall, weil Interpretation und Unterstützung für Partitionstabellen erheblich variieren.

+0

Ich sehe. Ich danke dir sehr! – hiten

Verwandte Themen