Newsgroup: it.comp.os.linux.development
Titolo: Write mode

Salve a tutti!
mi interessava sapere con qule modalità il kernel gestisce la scrittura 
dei blocchi del disco, in particolare se è impostato per scrivere cmq un 
quantitativo di dati pari alla dimensione del cluster oppure se si 
preoccupa di scrivere solo un quantitativo che è multiplo della 
dimensione del settore. Se qualcuno lo sa , potrebbe per cortesia 
postare anche qualche link dove recuperare del materiale che tratta 
l'argomento?
grazie
Mauro

 quantitativo di dati pari alla dimensione del cluster
Cos'è il cluser?
Ciao,
-- 
Daniele Orlandi

Il Cluster è il blocco logico con cui è formattato il disco.
Sapresti indicarmi in quale file dei sorgenti del kernel c'è il codice 
dello "scrittore" sui blocchi del disco?
grazie
Mauro


 dello "scrittore" sui blocchi del disco?
Come potrai immaginare non c'è "lo scrittore" ma ci sono vari strati che
vanno dal VFS fino ai sottosistemi ATA/SCSI/USB etc...
Ciao,
-- 
Daniele Orlandi

I settori sono i blocchi fisici in cui è diviso il disco fisicamente 
tramite tracce magnetiche e questo avviene con formattazione a basso 
livello ( di media hanno dimensione di 512 B). Quando formatti ad alto 
livello ( tipo format di windows per capirci o mkfs di linux ) puoi 
decidere la diemnsione del blocco logico del disco , che sarà l'unione 
di 1 o più blocchi fisici e diviene l'unità di memorizzazione per il 
File System. ecco perchè durante la formattazione puoi scegliere di 
formattare con blocchi di 1, 2 ,4 ,8 KB. I blocchi logici appena 
descritti si chiamano cluster.
Per quanto riguarda lo scrittore speravo fosse più facile, peccato.....
ciao
MAuro


 I blocchi logici appena descritti si chiamano cluster.
Questo invece non mi risulta proprio. Il termine cluster non l'ho mai visto
associato a ext2/3, reiser, jfs o xfs, sarei propenso a credere che sia
usato esclusivamente per FAT.
Ciao,
-- 
Daniele Orlandi

 usato esclusivamente per FAT.
Dal bassissimo della mia ignoranza confermo:
mai sentito parlare di cluster creando filesystem ext3, e anche il man 
conferma...
[root@valinor ~]# man mkfs.vfat | grep -i cluster
sectors  per  cluster,  since  GEMDOS doesn’t like other values
Specify the number of disk sectors  per  cluster.   Must  be  a
[root@valinor ~]# man mkfs.ext2 | grep -i cluster
[root@valinor ~]#
[root@valinor ~]# man mkfs.ext3 | grep -i clust
[root@valinor ~]#
-- 
ciao, Renato

Spero con questo di risolvere ogni dubbio in merito, e per maggiore 
chiarezza riporto anche le fonti.
Il concetto di cluster non è collegato al file system in uso o al 
sistema operativo.
cluster : Strorage allocation units composed of sectors. Cluster are 
512, 1024, 2048 or 4096 bytes in lenght ("Computer Forensics and 
investigation",B.Nelson,A.Phillips,F.Enfinger,C.Steuart - THOMSON)
"Since disks internally use 512 byte sectors to store data anyway, most 
FileSystems use some multiple of this size (typically 2,048, 4,096, or 
8,192 bytes) as the smallest unit to store a file."
"The default cluster size for Ext2/Ext3 is 4096 bytes (ie 8 sectors), 
but may be changed at FileSystem creation time. Microsoft tried to 
overcome inadequacies of their FAT FileSystems by using huge cluster 
sizes of up to 64k."
http://www.wlug.org.nz/DiskCluster
insomma mi sembra che anche Ext2/3 abbia il diritto di usare i cluster, 
no? :)
ciao
Mauro


 no? :)
No :)
Ciao,
-- 
Daniele Orlandi

 
dal mio punto di vista l'ext2/3 memorizza i dati nei cluster ( blocchi 
se proprio si preferisce il termine che d'altro canto è utilizzato molto 
anche nella definizione delle strutture dell'ext2 , ma la sostanza non 
cambia)
bye bye
Mauro

 cambia)
E' indubbio che ext2/3 come altri filesystems usino un blocco logico
composto da un numero variabile di blocchi fisici, stiamo solo discutendo
sull'uso del termine cluster.
Ciao,
-- 
Daniele Orlandi

 Questa è la tua tesi, non puoi metterla tra le ipotesi.
aggiungo i miei due cents: Mauro, sul fatto che in file system
diversi i termini blocco e cluster indicano due concetti simili non
ci piove, semplicemente se vuoi essere preciso la terminologia da
usare e' ben definita. Windows ha sempre chiamato i suoi
raggruppamenti logici di settori "cluster", e quello windowsiano e'
l'unico contesto in cui ho sentito usare questo termine riferendosi
al file system. Ext2/3 e probabilmente molti altri file system usano
il termine "blocco", come puoi constatare anche dalla documentazione
che puoi trovare allegata ai sorgenti di linux. 
E' verissimo che il termine "cluster" in inglese ha il significato
generico di "raggruppamento", ma nell'ambito dei file system la
parola indica un unico, ben preciso concetto, legato ad un
particolare tipo di file system. 
Una delle prime cose che mi insegno' il mio prof. di programmazione
all'universita' fu che, in ambito scientifico, bisogna sempre usare
lo stesso termine per indicare la stessa cosa. L'uso di sinonimi,
tanto consigliatoci dalle maestre  elementari, in questi casi e' una
pratica da evitare accuratamente, perche' genera confusione. I
raggruppamenti logici della FAT si chiamano cluster, quelli di ext2
si chiamano blocchi, punto, non c'e' nulla da discutere :).
Detto questo, come forse ti avranno gia' fatto notare, non c'e' una
risposta semplice alla tua domanda, perche' non esiste IL file system
di linux, come invece sono la fat o ntfs per windows (a seconda della
versione del sistema operativo). Sotto linux hai la possibiltia' di
scegliere tra molti tipi diversi di file system: uno molto diffuso
(e praticamente lo standard fino a qualche anno fa) e' ext2, che puo'
essere anche un buon punto di inizio se vuoi studiare come funzioano
queste cose, perche' e' probabilmente tra i piu' semplici di quelli
attualmente in uso. ext3 e' una versione "estesa" di ext2 con il
supporto per il journaling. Reiserfs ha un sacco di soluzioni
tecniche molto interessanti, xfs e' un altro fs notevole, poi c'e'
jfs e altri ancora... tutto questo e' tenuto insieme da un layer di
astrazione, il VFS (virtual file system) che permette al kernel di
utilizzare i servizi del sottostrato del fs senza curarsi dei singoli
dettagli implementativi di ogni fs.
Insomma... buono studio ;)
-- 
addio, e grazie per tutto il pesce