Skip to content

CodeLtDave/dpsFS-BS2-Labor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dpsFS

dpsFS ist ein FUSE-Dateisystem, für das Betriebssystemlabor der HSKA.

Aufbau der ConainerDatei

Name Superblock DMAP FAT Rootverzeichnis Dateien
Größe 1 128 256 64 65087
Blockindex 0 1-128 129-384 385-448 449-65535

Superblock:

Struct sbStats:

Anzahl der Dateien: 2 byte

DMAP:

In der DMAP steht für jeden Block ein Character. Dabei steht F (Free) für einen freien Block und A (Allocated) für einen belegten Block.

65087 chars / 512 byte = 128 Blöcke

FAT:

Es wird an die Stelle der Blocknr die nächste Blocknummer geschrieben. Wenn der letzte Block erreicht ist, wird eine 0 geschrieben.

(uint16_t = 2 byte)
65087 Blöcke * 2 byte = 130174 byte
130174 byte / 512 byte = 256 Blöcke
256 Addressen pro Block.

Finde Block: 	        BlockNR / 256
Finde pos im Block:     (BlockNR % 256) * 2

Rootverzeichnis:

Pro Datei:

Name: 256 byte
Stats: 144 byte
Zeiger auf ersten Datenblock: 2 byte

Gesamt: 402 (im Test 408)

Es ist wahrscheinlich geschickt, pro Datei einen Block zu verwenden.

64 Dateien * 1 Block = 64 Blöcke

Datenblöcke:

Es soll Platz für mindestens 30 MB sein:

33.554.432 byte / 512 byte = 65536 Blöcke
65536 Blöcke - 1 Block - 128 Blöcke - 256 Blöcke - 64 Blöcke = 65087 Blöcke
65087 Blöcke × 512 byte = 33324544 byte / (1024^2) byte =~ 31,78 MB

About

FUSE Filesystem

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.7%
  • C 1.7%
  • Other 1.6%