Amiga Dünyası sayı 17, sayfa 31
Sayfanın metni

Sayfa 31

Merhabalar! Amiga, özellikle fiyatı göz önüne alındığında eşi az bulunur bir bilgisayar. Ancak bu güzel alet, zaman zaman canımızı sıkabiliyor. İlk örnek meşhur GURU'muz. İkinci sırada ise arada sırada bilgisayarımıza gelen cehalet rüzgarlarından olsa gerek, okuma yazmayı unutması, yani READ/WRITE ERROR vermesi. PC kullanıcıları benim gibi fanatik Amiga hayranlarını bu gibi minyatür hataları ön plana çıkararak kızdırmaktan her nedense büyük haz duyuyorlar. Sanki hayatlarında PC'de hiç Bad CRC read on Drive A: veya Stack Overflow System Halted mesajları görmemişler gibi. Bunları bir kenara bırakalım ve kendi sorunlarımıza dönelim. Maalesef size Guru mesajlarından kurtulmak için garanti bir yöntem veya program öneremeyeceğim. Programlama ve ek donanım kaynaklı olan bu Guru'lar bizi bir süre daha meşgul edecek.

Biz gelelim Read/Write Error'larına. Bu yazıda Amiga'nın disket hatalarının bir kısmına değineceğiz ve bunları yok edebilmek, yarattıkları zararları kaldırmak için kullanılabilecek birkaç programı açıklayacağız. Kullanılan terimleri ve çalışma prensipleri hakkında bir iki bilgiyi yazının başında kısaca açıklamak istiyorum.

Disketler ve Harddiskler bilgisayar programlarını saklamak için tasarlanmış yapılardır. Bilgisayar bu ortamlara veri kaydedebilmek için belli bir standart izler. Bu sayede programlar ve veri dosyaları, aynı sistemi kullanan tüm bilgisayarlarda kullanılabilirler. Amiga'da program kayıt edeceği ortamları belirli bir standarta göre düzenler, buna kısaca format adını veriyoruz. Standart bir Amiga-Dos, disketi 80 adet ize (Track) böler. Bu Track'leri ağaçların yaş halkalarına benzetebiliriz. Bu şekilde, disketimizin içten dışa doğru 80 halka manyetik olarak bilgi depolamaya uygun hale getirilir, bu halkaları gözle görmenize imkan yok meraklılarına belirteyim. Disketin iki yüzeyi var ve disk sürücüsü (DiscDrive) bu iki yüzeyi okuyabilmek için 2 adet okuyucu/yazıcı kafaya sahiptir. Track'ler her iki yüzey için eşit olarak düzenlenir. Daha sonra disket, 11 adet eşit boyda dilime ayrılır. Bu dilimler her Track'i eşit uzunlukta parçalara bölerler ve bu parçaların her birine bir sector denir. Amiga bu sektörlerin hepsine 512 byte'lık bilgi yazabilir. Bilgiler bu track'lerin alt birimleri olan sector'lerde saklanır. Erişimi kolaylaştırmak amacıyla sector'lerin hepsi sırayla numaralandırılmış ve bunlara Block adı verilmiştir. İlk track'in alt kısmındaki ilk sector'üne sıfır numaralı Block denilmiş ve numaralamaya her track'te önce alt sonra üst sector'ler sayılarak devam edilmiş.

Şimdi ufak bir hesap yapalım. Bir diskette 80 track var. Bu track'ler iki yüzeyde: 80 x 2 = 160. Her track 11 sector'e bölünmüş: 160 x 11 = 1760. Ve block adı da verilen bu sector'lerin herbirine Amiga 512 Byte'lık bilgi yazabiliyor: 1760 x 512 = 901120 Byte. Sonunda burada hesabıma itiraz edeceksiniz. Çünkü yeni formatlı disketleriniz bu kapasiteye sahip değiller. Haklısınız, çünkü Amiga her block'a 488 byte'lık bilgi yazar, geriye kalan 24 byte'lık kısmını (toplamın yaklaşık %5'i) ise, o block hakkında çeşitli bilgileri saklamak için kullanıyor. Hesabımızı düzeltelim. 1760 x 488 = 858880 Byte. İşte bu sayı, tanıdık gelmeli size.

Bu 24 byte içinde, en başta block'un ne tür bir block olduğu belirtilecek; diğer bilgiler bu türe bağlı olarak değişecektir. Yine de her block için Checksum adı verilen ve block'un içeriğini karakterize eden bir sayı bulunur. AmigaDos bir block yüklerken, bu sayıyı block'tan hesaplar ve block'ta yazılı olan ile karşılaştırır, arada fark bulunması sonucu, meşhur Read / Write hatası oluşacaktır.

Block'ların çeşitli türleri mevcut. Bu türler arasında en çok fikir sahibi olduklarınız, belki de Bootblock ve Rootblock. Disketin ilk iki block'una Bootblock adı verilir ve bu block'lar belirli bir formata sahiplerse, Amiga doğrudan burada bulunan bir programı çalıştırmaya başlıyor. Rootblock ise, 880 numaralı block'tan başlayan ve disketin içeriğinin saklı bulunduğu block türüne verilen isimdir. 880 numaralı block, bu açıdan çok önemlidir (Bu block illa da 880 olmak zorunda de-

F. Kağan GÜRKAYNAK ğil, ama neredeyse her zaman burada bulunuyor). Disketin hangi bloklarının dolu olduğunu gösteren haritanın yeri, disketin ismi, kayıt tarihi burada kayıtlıdır. Bazılarınız hemen Error Validating Disk 880 Checksum Error, laflarını hatırlamaya başladı. Bunun temel sebebini basitçe şu şekilde özetleyebiliriz: Her block gibi 880'in de bir Checksum'ı var ve eğer bu checksum'la hesaplanarak bulunan gerçek checksum değeri birbirini tutmuyorsa, Amiga bu block'un taşıdığı bilgilerin doğru olmadığını düşünerek (haklı olarak) hata verecektir.

Root'ta bulunan disketin neresinin boş olduğunu belirten bir yapıdan bahsetmiştim. Buna Block Allocation Map, yani Block işgal haritası (fazla strateji kokan bir terim oldu galiba) veya kıvama BAM adı verilir. Nerede olduğu Root block'ta yazılı olup, bir veya nadiren birkaç block yer kaplar. Aynı yapıya, ekran gibi bitlerden oluştuğu için Bitmap de dendiği olur. Disketinizden belirli bir programı sildiğinizde, Amiga, programı diskette arayıp sileceğine sadece yerini teşhis eder ve bu programın bulunduğu block'ları boş kabul eder. Bu sayede silinen programları yeniden bulmak olasıdır. Ancak silinen programın bulunduğu yere ilk fırsatta yeni birinin kopyalanacağını belirtelim. Son günlerde çıkan bazı kopyalama programları BAM özelliğini kullanarak kopyalama yapmakta, böylece gereksiz yere boş block'ları kopyalamaktan kurtulmaktadırlar. Bu tür bir kopyalama yapacaksanız, hedef disketinizin (fazla simülasyon oynamak tercümelere yansıdı) formatlı olması şart. Belki dikkat etmişsinizdir, Root ve Boot block'larının silinmesi, bir diskette bulunan tüm bilgilerin kaybolmasını sağlayacaktır. Bu yöntemi kullanarak bir disketi acele formatlamak mümkün. Kaliteli kopyalama programları ve disket utility'leri bu özelliği kullanırlar.

Gelelim diğer block tiplerine... Alt directory bilgilerinin bulunduğu User directory block, File header block ve Data block, size bahsedeceğim diğer block çeşitleri. Bir directory ile bir programın disket üzerinde saklanması oldukça farklıdır. Bu yüzden kopyalamaları ve silinmeleri de birbirlerinden farklıdır. En önemli soru, "bir program diskette nasıl saklanır?" sorusudur. Her program bir başlıktan (header) ve gerektiği kadar data block'larından oluşur. Başlık, programın kaç block yer kapladığını, ilk ve son block numaralarını, programın hangi directory'ye ait oldu-

Bilgisayarınız OKUMA - YAZMA'yı Unutunca.....

Klavyeyle gezinmek için ← ve → tuşları.