vdm_encode - Bulutta Çevrimiçi

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen vdm_encode komutudur.

Program:

ADI


vdmfec - Dosyalar için ECC'yi engelle

SİNOPSİS


vdmfec [-v] [-d] [-b blok boyutu] [-N N] [-k K] [dosya]
vdm_encode [-v] [-b blok boyutu] [-N N] [-k K] [dosya]
vdm_decode [-v] [-b blok boyutu] [-N N] [-k K] [dosya]

AÇIKLAMA


vdmfec bir giriş akışını okur ve hata düzeltme blokları ekler, böylece ardışık büyük
çıktı akışının bölümleri bozulabilir ve veriler kurtarılabilir. Örneğin,
disketler tipik olarak tüm sektörleri bir kerede veya ilgili sektör gruplarını veya hatta
tüm parçalar. Bu programla diskete yazılan veriler,
birçok okuma hatası.

Kullanılan algoritma, Vandermonde (VDM) tabanlı bir İleri Hata Düzeltme (FEC) kodudur.
Luigi Rizzo nedeniyle GF(2^8) içindeki matrisler. FEC parametreleri K ve N verildiğinde, N daha büyük
K'den çok, her K giriş bloğu için herhangi bir K bloğu olacak şekilde N blok yazılır.
verileri yeniden yapılandırmak için yeterlidir. Yani, her N grubundan N - K bloklarına kadar
bloklar veri kaybı olmadan kaybolabilir.

Çıkış akışındaki ek yükün miktarı, K.N ve değiştirilerek kolayca ayarlanabilir.
blok boyutu, yazılan toplam veri miktarını kontrol eder. Yaptığınız hata türlerine bağlı olarak
farklı ayarlar az çok faydalı olabilir. Örneğin, beklemeyebilirsiniz
her yolda iki veya üç bozuk sektör var (eğer yaparsanız
disket!), ancak iki veya üç bitişik yolda üç bozuk sektör bekleyebilirsiniz.
(disket hataları kümelenme eğilimindedir).

SEÇENEKLER


-v için kodlama veya kod çözme işlemi hakkında bilgilendirici mesajlar yazdırın. Stderr,
genişleme faktörü dahil. Kullanmak -vv her blok hakkında bilgi almak için
okuyun veya yazın.

-d Girdiyi kodlamak yerine kodunu çözün. Bu seçeneği kullanmak eşdeğerdir
programı şu şekilde çağırmak vdm_decode.

-b blok boyutu
FEC blok boyutunu baytları blok boyutuna ayarlayın. Blok boyutunda 'k' veya 'K' olabilir
eklenir, bu durumda blok boyutu blok boyutu * 1024 bayt olarak ayarlanır. Bu
genellikle çıktı ortam bloğunun veya sektör boyutunun bir katı olmalıdır (örneğin, 512,
1024, 18K vb.) ve sürüm 26'de en az 1 bayt olmalıdır. Varsayılan 1024.

-n N -k K
FEC N ve K parametrelerini ayarlayın. N, 2'den büyük ve şundan küçük veya ona eşit olmalıdır
256. K, 0'dan büyük ve N'den küçük olmalıdır. Varsayılan N=18, K=14.

N, K ve blok boyutu parametrelerinin çıktıya YAZILMADIĞINI unutmayın! Mecbursun
belirtmek aynı kod çözücüyü çalıştırdığınızda parametreler. (Aslında, kod çözücü
geçersiz bir K değerini açıkça tespit etme, ancak yanlış blok boyutu veya N değerleri
hatalı bloklara ve kod çözme hatasına neden olur.)

Kod çözücü, borular gibi aranamayan ortamlardan okuma yapabilir, ancak arabellek
yetersizlikler algılanmaz ve başarısızlıkla sonuçlanır. Ayrıca, bir borudan okurken
dosyanın tamamı okunmalıdır. Aranabilir bir akıştan okuma daha hızlı olabilir çünkü yalnızca K
N'den iyi blokların okunması gerekir.

Kodlayıcı, sıra dışı blokları tespit etmek için kullanılan yığın ve blok kimliklerini saklar, ancak
bu hatalar (bazen dosya sistemi bozulması nedeniyle meydana gelebilir) düzeltilmez.
Düzeltilebilecek tek hata türü, in yer verilerin bozulması. İçinde
özellikle, eksik bloklar (kayıp paketlerden olduğu gibi), K olduğunda bile kod çözme hatasına neden olur.
iyi bloklar mevcuttur. Bu program öncelikle aşağıdakilerden dolayı kaybolan verileri kurtarmayı amaçlamaktadır.
disketler gibi sabit ortamlardaki hataları okuyun; diğer birkaç program ve kitaplık
Diğer (tipik olarak ağ paketi) hataları işlemek için FEC kullanan kullanılabilir.

ÖRNEKLER


80 iz, 2 kafa ve iz başına 18 512 bayt sektör içeren bir disket düşünün (standart bir
1.44MB disket).

bzip2 < dosya | vdmfec > /dev/fd0

-b1k -n18 -k14 varsayılan parametrelerini kullanır, ~1.1MB'a kadar sıkıştırılmış girdi depolar
veri, bir seferde bir (çift taraflı) iz (18K) yazılır ve 4 kötü kümeye (8
sektörler) parça başına.

vdmfec -d /dev/fd0 | bunzip2 > dosya

orijinal dosyayı kurtarır.

vdm_encode -b18k -n80 -k70 file.img > /dev/fd0

tüm disketi yazar, ~1.23MB'a kadar veri depolar ve 10'da birden fazla hataya izin verir
farklı çift taraflı izler.

vdm_decode -b18k -n80 -k70 /dev/fd0 > file.img

verileri kurtarır ve en az 70 parça okur. vdm_decode öğesinin bir ile çıktığını unutmayın.
başarısızlık durumunda sıfır olmayan durum, böylece yapılar gibi

vdm_decode /dev/fd0 > moo && tar -xvf moo

mümkündür.

dd if=/dev/tape ibs=1024 conv=noerror,sync |
vdm_decode > dosya

Bu, bazı aranamayan ortamlardan veri kurtarmak için gerekli olabilir. elbette yapabilirsin
kodlanmış çıktıyı aşağıdaki gibi normal bir dosyaya yazmanız yeterlidir.

tar -cf - dizin | gzip | vdm_encode -v > dir.tgz.vdm

RAPORLAMA BÖCEK


Hataları Tom Holroyd'a bildirintomh@po.crl.go.jp>.

onworks.net hizmetlerini kullanarak vdm_encode'u çevrimiçi kullanın



En yeni Linux ve Windows çevrimiçi programları