--- Mario Prato <aticatac70@xxxxxxxxxxx> wrote: > Dunque ragazzi, mi sembra che per la storia dell'interfaccia hd ci stiamo > disperdendo un po', cosa ne dite di buttare giu' qualche specifica per > quanto riguarda l'hardware? Io qui non ho competenza. A me basta solo sapere qual e' la porta da leggere e scrivere e poi implementiamo le due readsector() e writesector() che stanno alla base di tutto quanto. Quando tutto cio' funziona abbiamo le primitive di base. La gestione del filesystem e' un qualcosa che usa le readsector() e writesector() e su questo ci pensiamo con calma. La mia idea di uno ZXFS e' una cosa del genere, probabilmente non e' una idea originale perche' l'avro' sicuramente desunta da qualche documentazione. Ogni settore e' un record di 512K Il primo byte indica il tipo di settore i successivi N (con N che puo' essere 2, 3 o 4 a seconda di quanti settori al massimo vogliamo gestire) e' il numero del successivo settore dello stesso tipo nella catena dei settori, i restanti byte del settore sono dati, di natura che dipende dal tipo di settore. Per esempio il tipo 00H e' il settore libero, utilizzabile dal filesystem Un disco vuoto appena formattato sara' una catena di settori liberi. Il tipo 01H potrebbe essere il settore di tipo directory che contiene l'elenco dei nomi dei files, ed in questo caso nello spazio dati ci saranno tanti record uno per ogni file di quella directory, con il nome, la lunghezza, la data di creazione e il numero di settore in cui il file risiede fisicamente. Il tipo 02H e' il settore file, contenente i dati veri e propri. Quando creo un file inserisco un record nel settore della directory, e prelevo tutti i settori che mi servono dalla lista dei settori liberi, ci metto il mio file e riconcateno tutto. Ah, dimenticavo. Il primo settore del disco (con opportuni backup da qualche parte), contiene i numeri di settore di inizio di tutte le catene, quella dei settori liberi, quella delle directory, quella dei dati, etc... E' un sistema semplice, facilmente implementabile, non necessariamente velocissimo ma chissenefrega, e con relativo spreco di spazio. C'e' uno spreco certo per ogni settore, ma ogni settore viene usato praticamente tutto in questo modo. E la frammentazione non e' un grosso problema. ===== // // In a world without walls and fences // you would not need windows and gates. // (Confucio) == P'n'P: http://maicrosoft.italiamac.com __________________________________ Do you Yahoo!? Get better spam protection with Yahoo! Mail. http://antispam.yahoo.com/tools