[Linux-Biella] Frammentazione file
PaulTT
paultt a bilug.linux.it
Gio 12 Maggio 2011 11:22:21 CEST
On 11/05/2011 17:21, ledi salillari ?:
>
>
> Il giorno 11 maggio 2011 16:50, Jumping Jack <jumpingjack a mclink.it
> <mailto:jumpingjack a mclink.it>> ha scritto:
>
>
>
> Il 11/05/2011 16:31, Daniele Segato ha scritto:
>
> 2011/5/11 Jumping Jack<jumpingjack a mclink.it
> <mailto:jumpingjack a mclink.it>>:
>
> Non so se sia possibile ora fare quello che hai scritto.
> La struttura del
> disco interno non è accessibile al SO, infatti il disco
> può rimappare
> settori a suo piacimento, quando li trova danneggiati o
> prossimi al
> danneggiamento. Per cui uno spazio continuo logicamente
> può non essere
> contiguo fisicamente. E' però possibile che la logica di
> struttura di ext
> sia, in fase di creazione, compatibile con il tipo di
> disco. In ogni caso la
> maggior parte dei dischi ora è composta da un solo piatto
> e spesso ne viene
> usata una sola faccia, per cui, l'adiacenza spaziale è
> limitata a 5 e
> nemmeno sempre. Ci possono anche essere intere tracce
> saltate e
> l'allineamento tra tracce adiacenti non è logico, ma è
> relativo al tempo di
> spostamento della testina, per cui dubito che ci sia
> corrispondenza tra
> piatti diversi.
>
>
> l'unica cosa che può fare un hard disk è di posizionare le testine e
> leggere/scrivere sulla traccia sottostante ad esse. ovviamente alla
> massima velocità possibile e con la massima precisione possibile.
> TUTTO il resto viene fatto dal sistema operativo e/o da qualche driver
> se ce ne sono.
>
>
> un disco fisso magnetico è formato da un insieme di dischetti
> uno sopra l'altro
> la testina si infila tra un disco e l'altro leggendo sopra e
> sotto ad ogni disco
> il disco ruota e la testina può scorrere avanti e indietro
>
> I disci attuali, quelli economi/comuni per intenderci, sono
> generalmente composti da un solo piatto ed usa una o due
> superfici. Tutti i dischi di spessore inferiore allo standard da
> 3.5" sono composti da un solo piatto.
>
> i dischi da 3.5 hanno almeno 2 piatti (4 superfici). quelli superiori
> ai 500gb hanno molto probabilmente da 3 in su.
> i dischi da 2.5 hanno 1 piatto fino a 120gb. attualmente ne stanno
> facendo anche da 250 su un singolo piatto. generalmente ne hanno 2. il
> mio da 500g ne ha 2.
>
> guardate almeno le figure prima di proseguire se non sapete com'è
> fatto un disco:
>
> http://en.wikipedia.org/wiki/Cylinder-head-sector
> http://en.wikipedia.org/wiki/Disk_sector
> http://en.wikipedia.org/wiki/File:Disk-structure2.svg
>
> un blocco o cluster del disco è un insieme di settori.
>
> il sistema operativo sa quanto è grande un blocco e anche se
> qualche
> settore può essere rimappato questo in genere non avviene su
> tutti i
> settori ma su pochi "sfigati".
>
> Nei dischi moderni il remap viene già fatto dal costruttore, in
> quanto la densità è tale che gli errori sono comuni. Infatti i
> disci ad alte prestazioni hanno capacità decisamente inferiori.
>
>
> il remap viene fatto da sistemi di calcolo di somme per correggere
> automaticamente gli errori se presenti. per gli amici si chiama CRC.
> può essere implementato sia a livello hardware che software. linux lo
> fa. se è presente anche sul disco è una protezione in +.
>
>
> questo non inficia il funzionamento...
>
> il disco è veloce a girare, il limite non è nel passare da un
> settore
> all'altro della stessa traccia ma nel cambiare traccia.
>
> la testina [meglio, le testine] (heads) sono lente a cambiare
> direzione (lento è un concetto relativo...)
> quindi se i dati sono tutti vicini e soprattutto non devo
> continuare a
> fare avanti e indietro con le testine.
>
>
> un disco da 5400 rpm è più lento a girare di un 7600 rpm
> (round per
> minute, giri al minuto)
>
> se il file si trova in tracce contigue arriverò al massimo della
> velocità leggendolo
>
> il seek time è quanto ci mette la testina ad arrivare in qualunque
> punto del disco, in genere qualche millisecondo.
>
> se vado a leggere tanti piccoli file in punti sparpagliati nel
> disco e
> in ordine "stupido" la testina dovrà saltare da una parte
> all'altra
> è uno dei motivi per cui ci va più tempo a trasferire tanti
> piccoli
> file che un grosso file.
>
> I controller AHCI, sui dischi che lo supportano, abilitano un
> sistema di disposizione dati intelligente, il sistema è gestito
> dal driver e non è sotto il controllo del SO (che sia windows o
> linux).
>
>
> vale anche qui il commento di prima. se il sistema operativo
> implementa già una disposizione ottimale dei dati, tale driver diventa
> pressoché inutile. altrimenti è necessario, ma come dici tu stesso:
> solo se il disco lo supporta ;)
>
>
> Linux poi fa cache in ram del disco riempiendo totalmente la
> ram (se
> hai 8 gb di ram li avrai pieni, Linux li usa tutti visto che l'hai
> pagata).
> non so windows, anni fa non lo faceva.
>
> Se fai 8mb di cache e salta la corrente i danni sono enormi... Non
> mi pare una bella furbate se linux lo fa a priori. In windows è
> abilitalitabile la cache write back, in ogni caso non userà mai
> 8Gb in quanto inutile e penalizzante in fatto di prestazioni (se
> richiedo 4gb, hai idea di quanto ci metterebbe a scaricare la cache?).
>
>
> non hai idea di come funzioni la cache a livello hardware vero? per
> cache si intende una memoria temporanea, che viene versata su un
> supporto veloce per andare a finire sul supporto lento in seguito. i
> dati NON stanno nella cache. se devi caricare (dall'hd) un blocco di
> dati non presente in ram, viene caricato insieme a tutti i blocchi
> adiacenti (e questi insieme ai loro blocchi adiacenti ecc) fino a
> occupare la ram. così, se ti servono dei dati, per delle statistiche
> che non sto a scrivere qui, è molto probabile che tali dati siano
> quelli adiacenti che hai caricato prima. quindi, se hai tanta cache,
> le prestazioni *non possono fare altro che aumentare*.
> ovviamente questo richiede una sincronizzazione per i dati modificati,
> ovvero vengono modificati il prima possibile anche sul supporto lento.
> non c'è bisogno di scaricare tutta la cache. ogni volta che ce n'è
> bisogno vengono aggiornati i dati modificati. se salta la corrente
> perdi una quantità molto piccola di dati (ovvero quelli non ancora
> sincronizzati). non è assolutamente vero che perdi 8gb di dati.
> facendo una cifra, su 1gb di cache perdi si o no qualche kilo. questo
> perché i dati sono costantemente aggiornati.
ies
tra l'altro, i sistemi 'veri' la cache non la ripuliscono manco delle volte
(come l'iseries ad esempio ;P, se si pianta davvero tutto, puoi ancora
recuperarla, e farla riscrivere dopo)
--
Non che non sia possibile rompere un server di posta su una piattaforma
diversa, ma exchange arriva già rotto. E' un enorme risparmio di tempo.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://ml.bilug.linux.it/pipermail/linux/attachments/20110512/ee6cca35/attachment.htm>
Maggiori informazioni sulla lista
Linux