Le persone veramente intelligenti e con esperienza che hanno studiato questo problema hanno creato bug che hanno mangiato i dati degli utenti. La differenza tra un bug nel livello di computazione (ad esempio un arresto anomalo del kernel) e un bug nel livello di archiviazione è che i dati degli utenti che mangiano silenziosamente sono molto male - molto peggio che dare risposte errate nei fogli di calcolo (Excel è bacato ma popolare) o intermittently sigfaulting preservando i dati su disco (questo è facilmente mitigato dal frequente salvataggio automatico).
Inizia a studiare progetti più semplici, come i filesystem minix dal vecchio libro dei sistemi operativi [1] (lo stesso con cui Linus Torvalds aveva iniziato, venti anni fa).
Come altri hanno detto, ext2 senza journaling, estensioni o ACL è un punto di partenza migliore di ext4. Il codice sorgente è nel kernel di Linux e nel pacchetto di strumenti dello spazio utente e2fsprogs [2]. Il formato è ben documentato.
Per quanto riguarda i tutorial, considerare chi li fa e perché spendono gli sforzi per questo compito. I tutorial sono generalmente realizzati dalle parti interessate nelle piattaforme per consentire a nuove persone di svilupparsi utilizzando quella piattaforma, utilizzare l'effetto di rete per far crescere la piattaforma e trarre profitto da attori già affermati in un ecosistema più ampio.
Vedete un modello di business in crescita il numero di persone che implementano i loro file system buggy [3] incompatibili? Solo se vendi titoli di ingegneria del software. Quindi Microsoft scrive solo tutorial su come utilizzare NTFS, non su come implementare . Lo stesso per Sun e ZFS, Red Hat e Google con EXT2/3/4, SGI con XFS, IBM con JFS, Oracle con BTRFS, ecc.
Se vuoi istruzione invece di formazione, devi leggere libri e studiare codice di smart peoples che usano nella produzione, non cercare tutorial.
- http://en.wikipedia.org/wiki/Operating_Systems:_Design_and_Implementation
- http://e2fsprogs.sourceforge.net/
- Quanto uso, in quanti modello diverso uso con esso vedere? Considera bug scoperti nelle FS di produzione dopo anni di utilizzo su milioni di computer. È improbabile che il tuo codice sia meno buggato, anche se sei intelligente come Matthew Dillon.
fonte
2012-04-16 01:11:57
Si consiglia di prendere in considerazione il tentativo di implementare e il vecchio tipo di file system. ext4 offre molte garanzie di durata che probabilmente non è necessario iniziare. Prova a guardare ext2 che ha le stesse idee di base. – Michael
@ Michael - Esiste una specie di codice sorgente per generare/implementare un file ext2 fs?Se sì, dove posso trovarlo? –
@JamieEdwards: il codice sorgente per 'mkfs.ext2' è pubblicamente disponibile, così come il codice sorgente del kernel di Linux. –