Willkommen! Einloggen Ein neues Profil erzeugen

erweitert

FAT 16/32

geschrieben von PascalW 
FAT 16/32
10.01.2021 15:25:35
Hallo!

Prof. Scholl hat in der Vorlesung einige Rechnungen bezüglich der Fat gemacht. Ich wollte nur nochmal wissen wie zwei Dinge zu unterscheiden sind.

Nehmen wir an, wir betrachten eine FAT16 mit 32KB Blöcken.

Wir haben also 2^16 viele Zeiger, das verstehe ich. Wenn jetzt 1 Zeiger 2 Byte sind, was wäre dann die Rechnung:
2^16 * 2^4 = 2^20 = 1 MB. Dies wäre ja die Anzahl der Zeiger multipliziert mit der Größe der Zeiger. Sagt mir diese Größe irgendetwas aus? Bedeutet das, ich muss alleine schon für die Zeiger so viel Speicher freihalten/verwenden ohne jetzt schon Dateien zu betrachten?

Die Rechnung: 2^16 * 2^5 * 2^10 = 2 * 2^30 = 2GB ist mir auch noch nicht ganz klar. Dies wurde als "verwaltbare Partition" bezeichnet. Gibt mir dies einfach an, wie viel Speicherplatz ich in meinem gesamten Dateisystem zur verfügung habe? Weil man ja eben #Zeiger * Blockgröße an Platz hat oder?

Es wäre nett wenn das nochmal kurz unterschieden und erläutert werden könnte :)!

Mit freundlichen Grüßen,

Pascal
Re: FAT 16/32
10.01.2021 16:47:47
Zusatzfrage zu Inodes:

Was passiert wenn die maximale Anzahl an Zeiger die man mit einer bestimmten Blockgröße b und Zeigergröße z erhält eine Zahl ist die größer ist als die größte Zahl die man mit z darstellen könnte? Würde es dann zu problem kommen bzw würde das ganze System dann nicht funktionieren?



1 mal bearbeitet. Zuletzt am 10.01.2021 16:47 von PascalW.
Re: FAT 16/32
11.01.2021 14:58:34
Hallo,


> Nehmen wir an, wir betrachten eine FAT16 mit 32KB
> Blöcken.
>
> Wir haben also 2^16 viele Zeiger, das verstehe
> ich. Wenn jetzt 1 Zeiger 2 Byte sind, was wäre
> dann die Rechnung:
> 2^16 * 2^4 = 2^20 = 1 MB. Dies wäre ja die Anzahl
> der Zeiger multipliziert mit der Größe der Zeiger.
> Sagt mir diese Größe irgendetwas aus? Bedeutet
> das, ich muss alleine schon für die Zeiger so viel
> Speicher freihalten/verwenden ohne jetzt schon
> Dateien zu betrachten?

2^16 * 2^1 Byte = 2^17 Byte muss es natürlich sein bei Zeigergröße von 2 Byte.
Und es ist genauso wie Sie sagen. Alleine die Zeiger kosten uns hier 2^17 Byte, ohne überhaupt irgendwelche Dateien betrachtet zu haben. Das ist bei dem Beispiel natürlich nicht viel, aber beim FAT-32 Beispiel hat man in der Vorlesung ja gesehen, dass die FAT (also die Zeiger) selbst schon 1 GB an Speicher benötigt (wenn man es unklug macht).


> Die Rechnung: 2^16 * 2^5 * 2^10 = 2 * 2^30 = 2GB
> ist mir auch noch nicht ganz klar. Dies wurde als
> "verwaltbare Partition" bezeichnet. Gibt mir dies
> einfach an, wie viel Speicherplatz ich in meinem
> gesamten Dateisystem zur verfügung habe? Weil man
> ja eben #Zeiger * Blockgröße an Platz hat oder?

Ja. Diese Rechnung gibt an, wie groß quasi der Speicher maximal sein kann, den Sie mit der FAT-16 verwalten können. Da man mit jeden Zeiger genau einen Plattenblock adressieren kann, kann man natürlich nur #Zeiger * Blockgröße an Speicher insgesamt verwalten. Wenn Sie also z.B. einen USB-Stick hätten, der mit FAT-16 formatiert ist und 32KB Blockgröße besitzt, dann kann dieser nicht mehr als 2GB groß sein. Mehr Speicher kann man mit der FAT-16 nicht ansprechen.

Also Sie hatten das schon von sich aus richtig verstanden gehabt.

Viele Grüße,
Alexander
Re: FAT 16/32
11.01.2021 15:45:14
PascalW schrieb:
-------------------------------------------------------
> Zusatzfrage zu Inodes:
>
> Was passiert wenn die maximale Anzahl an Zeiger
> die man mit einer bestimmten Blockgröße b und
> Zeigergröße z erhält eine Zahl ist die größer ist
> als die größte Zahl die man mit z darstellen
> könnte? Würde es dann zu problem kommen bzw würde
> das ganze System dann nicht funktionieren?

Die Zeigergröße selbst kann natürlich auch der limitierende Faktor sein.
Man kann nur so viele Speicherblöcke adressieren, wie man auch maximal mit den Zeigern
darstellen kann.

Viele Grüße,
Alexander
Re: FAT 16/32
11.01.2021 16:14:57
Vielen Dank!

Ups ja da habe ich irgendwie an 4 Byte gedacht gehabt. Man muss natürlich mit 2^1 multiplizieren. Mein Fehler!


Noch eine Zusatzfrage, mir fällt Aufgabe 4 a) schwer da mir eine Sache nicht klar ist:

Wenn man bei FAT32 einen Hardlink machen würde, würde dieser dann eigene Plattenblöcke bekommen oder einfach in die Verzeichniseinträge mit dem selben ersten Plattenblock wie das Referenzobjekt reingeschrieben?

Mit freundlichen Grüßen,

Pascal
Re: FAT 16/32
11.01.2021 16:24:34
> Noch eine Zusatzfrage, mir fällt Aufgabe 4 a)
> schwer da mir eine Sache nicht klar ist:
>
> Wenn man bei FAT32 einen Hardlink machen würde,
> würde dieser dann eigene Plattenblöcke bekommen
> oder einfach in die Verzeichniseinträge mit dem
> selben ersten Plattenblock wie das Referenzobjekt
> reingeschrieben?

Das kann man jetzt natürlich nicht genau sagen, da es bei FAT-32 eben keine Hardlinks gibt.
Aber nach der allgemeinen Funktionsweise von Hardlinks sollen diese ja ein weiterer Verzeichniseintrag für ein ein Dateiobjekt sein. Von daher wäre es so gesehen sinnvoller, wenn es ein neuer Verzeichniseintrag auf die selben Plattenblöcke wäre. Wenn der Hardlink seine eigenen Plattenblöcke bekommt, wäre es ja eigentlich eine Kopie des Referenzobjektes.

Viele Grüße,
Alexander
Re: FAT 16/32
11.01.2021 16:31:53
Ja genau darum ging es mir um die unterscheidung von Referenz und Kopie. Ich wollte eigentlich auch nicht sagen wenn man "einen Hardlink machen würde" (etwas ungeschickt ausgedrückt) sondern eher fragen, wenn es doch "möglich wäre" was da Sinnvoller wäre. Aber ich denke, damit kann ich jetzt etwas anfangen, danke für die schnelle Antwort :)!

Mit freundlichen Grüßen,

Pascal
Sorry, in diesem Forum dürfen nur registrierte Benutzer schreiben.

Hier klicken, um sich einzuloggen