Dove posso sapere come i programmi gestiscono i file system come NTFS?

2

Sto scrivendo un programma per gestire i file STFS di xbox 360. Sto incontrando tutti i tipi di problemi su come tenere traccia dei blocchi usati e inutilizzati, leggere file non sequenziali, ecc. Questi non sono tanto problemi con la struttura di STFS - è solo un'altra struttura di file - ma non lo faccio so come dovrei fare certe cose.

Ho pensato di trovare una grande quantità di informazioni su come i programmi di file system come NTFS e Fat32 vengono letti dai programmi, ma sto solo trovando risorse su come lavorare con i file system usando il software pre-creato e non tanto come per fare questo tipo di software.

Ecco un riferimento per STFS: link

    
posta mowwwalker 30.04.2012 - 22:04
fonte

4 risposte

4

Posso consigliare "Progettazione pratica del file system con il sistema Be File" ( download gratuito da il sito web dell'autore ). È una grande introduzione (che entra in molti dettagli) ai concetti rilevanti nei filesystem.

    
risposta data 01.05.2012 - 10:45
fonte
2

NTFS è ingombrante e brevettato, non troverai nulla di utile ufficialmente su Microsoft da parte del pubblico. Microsoft carica un sacco di soldi per distribuire i dettagli su di esso e la capacità di usarlo commercialmente.

Anche FAT32 è ingombrante, ma è stato aggirato dalla comunità Linux / Open Source. Microsoft non ha ancora intentato alcuna causa contro alcun fornitore Linux ma Microsoft ha fatto causa a TomTom per il loro uso.

La soluzione migliore per leggere i file system open source disponibili, il codice parla dei volumi. Studiare anche la struttura dei file di database, quelli sono in teoria più vicini a STFS rispetto ai file system attuali in molti casi.

    
risposta data 30.04.2012 - 22:27
fonte
1

Stai parlando di un driver del filesystem . Non sono sicuro di quante informazioni troverai su come scriverle, perché pochissime persone hanno bisogno di farlo e quelle che sanno per lo più cosa stanno facendo.

Una risorsa potrebbe essere quella di codice del kernel linux .

    
risposta data 30.04.2012 - 22:22
fonte
0

Probabilmente dovrai leggere i blocchi grezzi e analizzarli da soli. I documenti che hai collegato per fornire i layout dell'intestazione, devi leggerli e analizzarli e quindi utilizzare tali informazioni per ottenere il contenuto. Consiglierei un linguaggio come C che ti permetta di usare puntatori e strutture di dati di mappe direttamente su buffer di byte, ma non c'è ragione per cui non potresti leggere un flusso di byte e costruire i tuoi metadati da quello, se la tua lingua preferita non darti il controllo del layout della struttura dei dati. Vorrei anche consigliare i blocchi di dumping in esadecimale e analizzarli manualmente per iniziare: spesso è utile sapere quali sono i byte effettivi in modo da poter individuare rapidamente problemi di endian o di tipo.

    
risposta data 01.05.2012 - 15:44
fonte