puzzle

Franz Linter wrote:

Cosa calcola lo script?

Calcola la piu' grande potenza di 2 che divide un numero, ed il resto.

Cosa si può fare con esso?

Calcolare la piu' grande potenza di 2 che divide un numero, ed il resto.

Perché nessuno lo usa o ho trascurato qualcuno?

Perche' nella stragrande maggioranza dei casi non importa.
Adesso che hai menzionato `dd`, ho capito il contesto. Il parametro `bs`
(blocksize) non e' necessario la potenza piu' grande che divide il
numero di bytes che vuoi trasferire, ma e' legato al OS ed il
dispositivo di memoria di destinazione (RAM, flash, tape drive, ecc).

Il numero ottimale (secondo il OS) si puo' determinare con una chiamata
alla funzione `stat(2)`, e leggendo il membro `.st_blksize` della
struttura ritornata da stat.

Spesso il blocksize default usato da `dd` oppure un numero "rotondo"
pari a 4k o maggiore e' piu' che sufficiente.

Saluti,
Thomas

Supposizione sbagliata. Non si tratta tanto di come copiare un'immagine
su una chiavetta, ma di come verificare il processo di copia il più
rapidamente possibile utilizzando l'hash noto.

Per ottenere lo stesso hash in un processo di copia senza errori, devono
essere letti esattamente tanti byte quanti ne sono stati scritti.

Affinché ciò non richieda troppo tempo, si dovrebbe evitare la soluzione
banale bs=1 e count=size.

I parametri calcolati dello script forniscono un rimedio. Se viene
calcolato un bs più piccolo di 512, cosa che non mi è mai capitata, la
lettura richiede un po' più di tempo. I bs con diversi MiB vengono
comunque elaborati in parti più piccole.

La domanda rimane: sono l'unico a fare questo controllo? Perché l'hash
viene controllato quando si scarica ma non quando si scrive?

Ho cercato a lungo 2 errori causati da stick difettosi, ho cercato una
soluzione e mi sono costruito uno script. Non molto tempo fa ho avuto
strani fenomeni dopo un'installazione. Ho controllato la chiavetta
perché non avevo usato il mio script per copiare e l'hash non
corrispondeva, ho copiato di nuovo e i fenomeni erano spariti.

A proposito, la tua variante di isolare semplicemente il bit meno
significativo per ottenere la più grande potenza di due possibile che
divide la lunghezza del file senza resto è ingegnosa. È un peccato che
non ci abbia pensato io stesso, i miei 10 anni di programmazione in
assembler risalgono a 35 anni fa.

Saluti,
Franz

PS eigentlich bin ich dafür, dass jeder in seiner Sprache antwortet.
Hier habe ich wirklich gegen meine Intention gehandelt und mich jeweils
auf den vorigen Post eingestellt. Ich werde die Auflösung noch auf
englisch bringen und dann wieder auf deutsch schreiben, auch wenn dann
noch weniger antworten, obwohl sie es auf englisch oder italienisch tun
könnten.

Vielleicht sollte mal jemand vom Board einen Diskussionsthread dazu
initiieren.

attachment.html (3.49 KB)