Newsgroup: it.comp.lang.c++
Titolo: self contained file system, con codice sorgente

come da oggetto, ho cercato un poì in giro (CNET e SourceForge) 
ma probabilmente non azzecco la terminologia adatta oppure quel 
che cerco non esiste, cmq ...
Stavo cercando un self contained file system, con codice sorgente.
Per self contained, intendo dire delle classi che, mappando 
tutto in un singolo file fisico del O.S. e usando un solo file 
handle, emulino un intero file system virtuale con 
caratteristiche di base (con directory e varie funzioni 
"virtuali" di creazione, apertura, R/W, cancellazione e ricerca 
di files, e attributi come date etc).
Però mi serve soltanto se è opensource (e quel source è C++), o 
eventualmente, ma molto meno bene, se trattasi di librerie 
compilate freeware con interfaccia API molto ben documentata 
(sempre in C++).
Diciamo che è meglio il primo caso, perché più che usarla vorrei 
studiarla e confrontare come altri hanno risolto certi problemi 
che mi hanno creato rogne o che non ho saputo risolvere. La 
seconda potrei giusto ispirarmi alla sintassi dell'interfaccia, 
ma dovrei immaginare molto (e ho dubbi)
GRazie in anticipo
Ciao
Soviet_Mario

 caratteristiche di base (con directory e varie funzioni
Non so di niente del genere, ma non essendo mai stato interessato al
problema questo non vuol dire molto. Non capisco però perché non
parti da una libreria multipiattaforma di accesso al F.S., e ci metti
sopra un po di tuo codice di astrazione.
Come base di partenza potresti partire dal "run-time" di apache. Non
posso essere più preciso perché è da almeno un anno che non cerco
qualcosa in materia.
Ciao

 Come base di partenza potresti partire dal "run-time" di apache. 
che cosa "fa" questo runtime ? Apache non è un web server ?
ciao
SOviet


 
sono disponibili, in C ( non C++ ), alcune implementazioni della 
FAT12-FAT16 per sistemi embedded, in genere l'utilizzatore aggiunge le 
routine di lettura/scrittura del settore per l'hardware che ha a 
disposizione
una per esempio e' questa:
http://www.zws.com/products/dosfs/index.html
tipicamente sono ottimizzate per le risorse rispetto la velocita' e 
francamente non ricordo se implementano tutte le tue necessita'.

 ricerca di files, e attributi come date etc).
Non so se ho capito bene, ma magari potresti prendere spunto da qui:
http://www.truecrypt.org/
 Č un'applicazione che fa tutto quello che dici
tu, č open-source e in aggiunta critta i dati contenuti nel filesystem.
Andrea.

 disposizione
uhm, proverò a guardarci.
L'accenno alla lettura/scrittura di settori fisici però mi mette 
un po' in crisi. Nel senso che un sistema come quello (vabbè, 
devo ancora guardare, per ora ho solo la sensazione), mi sembra 
più un sostituto standalone del file system, tipo se vuoi fare 
il boot tu, gestire tutto tu e bypassare l'OS.
La mia necessità era invece, sul lato OS, di conviverci 
pacificamente, chiedergli un handle di file e usare accessi 
logici (file-level) a disco. Ad es. windows xp (ma già il 98), 
non è felice se tento di scavalcarlo chiamando il bios del disco 
rigido. Accedere a livello di porte fisiche del controller, con 
INB e OUTB, non ho mai provato (tranne che accendere il led del 
floppy secoli fa), e non oserei, per timore di corrompere il 
file system principale.
cmq ti ringrazion del link
ciao
Soviet


 Andrea.

 cmq ti ringrazion del link
vanno benissimo, l'implementazione che ti ho proposto richiede che 
vengano implementate due funzioni: readsector e writesector ( o nomi 
simili )  in modo che ogni sviluppatore possa poi adattarle alle proprie 
necessita'. Nel tuo caso leggere e scrivere su di un file del file 
system nativo ( nella foga di postare su iclc++ non mi ero spiegato 
abbastanza :-) ).
probabilmente come esempio viene addirittura fornito proprio quello che 
vuoi fare ( ma non sono sicuro ).


 che cosa "fa" questo runtime ? Apache non è un web server ?
Certo, ma hanno sviluppato l'ennesima libreria portabile che astrae il
file system, la gestione della memoria, e altre cose simili. Alcune di
queste cose (parte della gestione della memoria per esempio) sono
comprese con la libreria standard del compilatore, ma loro preferiscono
avere il controllo totale.
Niente però di quello che interessa te, però. Almeno credo.

 Stavo cercando un self contained file system, con codice sorgente.
forse non ho capito cosa intendi esattamente,
comunque potresti guardare anche questo,
magari ci puo' essere qualcosa che ti puo'
interessare :-)
http://icculus.org/physfs/
Ciao!