1 Kasım 1987 Tarihli Commodore Gazetesi Sayfa 54

1 Kasım 1987 tarihli Commodore Gazetesi Sayfa 54
Metin içeriği (otomatik olarak oluşturulmuştur)

RUN/STOP tuşuna basarsanız, di- rectory okunması duracaktır. Başka bir tuşa bastığınızda ise, bir sonraki 20 dosya adı listelenecektir. Diyelim ki bu disketi formatlayıp, deneme disketi olarak kullanmak is- tediniz. Bu durumda ekrandaki nok- tanın yanına yazacağınız komut şu olacaktır: .ON:disket adı, ID Bir önceki bölümde de gördüğü- müz disket formatlama komutunu OÖPEN, CLOSE gibi komutlara gerek kalmadan, sadece komutun başına O ekleyerek kullandık. Bu, diğer disket komutları için de geçerli. Diskete göndereceğiniz, Seratch, Rename, Validate, Copy vs. komutlarının hep- sini başlarına O karakterini eklemek şartı ile DISKMON içerisinden kul- lanabilirsiniz. Komutların formatla- rı, sön iki bölümümüzde anlattığımız gibidir. Tek dikkat edeceğiniz, O ka- rakterinden sonra boşluk olmaması. Şimdi deneme disketimiz şu veya bu şekilde hazır ise, DISKMON ile disketimize ilk saldırıyı yapalım: Bir blok okuma. Birazdan ayrıntısına gi- receğimiz directory, disketimizde 18. TRACK'ın Ü. SECTOR'ünde başlar ve 19 blok kaplar. İster misiniz, bu zincirin ilk bloğunda neler olduğuna bir gözatalım? Hemen şu komutu ve- relim: .R 12 00 Yani READ (oku) komutu. Yanında gelen iki sayı ise sırasıyla TRACK ve SECTOR numaralarını veriyor. Pe- ki TRACK yerine neden 18 değil de 12 yazdık? Bu disket monitörümüz (DISKMON) sayıları onluk sistemde değil de onaltılık sistemde kabul edi- yor. Bu sistemden defalarca söz et- tik. Eğer hâlâ bilmiyorsanız, Ayhan Kalaylıoğlu'nun Makine Diline Mer- haba yazısına ve benim bazı diğer ya- zılarıma bir gözatın. Böylece 12'nin, 1*1642— 18 sayısına tekabül ettiği- ni göreceksiniz. Eğer disketle bu de- rece yakından ilgilencek aşamaya gel- mişseniz, onaltılık (hexadecimal) sis- temi sular seller gibi bilmeniz gerek- mekte... Yukarıdaki komutu verdikten son- ra disketin kırmızı ışığının kısa bir sü- re yanıp söndüğünü göreceksiniz. Hemen arkasından da şu komutu ve- rin: F BERTE 54 .M Ekranda bir sürü sayının geçtiğini ve ekranın sağ tarafında da sol taraf- ta yeralan sayıların karakter karşılık- larının yeraldığını göreceksiniz (Eğer byte'ın değerine karşılık düşen bir harf, rakam veya işaret yok ise, nok- ta basılacaktır). İşte bu komut (Me- mory, hafıza), R ile disketten bilgi- sayara okuduğunuz blok içindeki 256 byte'lik bilgiyi ekrana çıkarır. Gör- düğünüz gibi, blokun ortalarında bir yerde, formatlarken verdiğiniz disket adı ve İD'si var. Neyse, buna biraz- dan geri döneceğiz. Peki, şimdi bir sürprize ne dersi- niz? Eğer M komutunu verdikten sonra başka bir şey yapmadıysanız, cursor ekranın en alt satırında yanıp iskete yazılan bilgilerin üstüste yazılmaması için bir disket haritası tutulması lazım. Bunu directory yapıyor. sönüyor olacak. Şimdi HOME tuşu ile cursor'u ekranı silmeden sol üst köşeye getirin. Şimdi de CRSR tuşu ile cursor'u ekranın üst kenarına doğ- ru itmeye çalışın. N'oldu? Sayı liste- si, aşağıya doğru kaymaya, ekranın üstünden listenin ilk satırları gelme- ye başladı, di mi? Şimdi de, aynı şe- yi ekranın alt kenarı ile yapın. Bu se- fer listenin yukarıya kaydığını ve alt satırdan listenin geri kalan kısmının satır ekrana yazıldığını göreceksiniz. Güzel mi? Bir ufak komut daha... Hâlâ kaç numaralı TRACK/SECTOR'de ol- duğumuzu hatırlıyor musunuz? Eğer hatırlamıyorsanız, şöyle bir komut- la bilgisayara sorabilirsiniz: .S Show (göster) komutu, size o an- da hafızada bulunan 256 byte'lık bil- ginin en son hangi bloktan okundu- Bunu belirtecektir. Bilgisayarın bu bilgiyi saklamasının bir iyi tarafı da, Commodore R komutunu herhangi bir blok adre- si beliritmeden de kullanabilmeniz. Eğer aşağıdaki komutu kullanırsanız, bilgisayarlar en son okuduğu bloku bir daha okuyacaktır: .R Böylece, yazımızın devamında gö- receğimiz işlemlerle hafızayı bozarsak tekrar düzeltme imkânımız ortaya çı- kıyor. DISKMON'u şimdilik bir köşeye bırakıp, disket yapımıza geri döne- lim. Genel kullanım açısından disket üzerindeki bloklar üçe ayrılabilir: Di- rectory'nin 19 blokluk zincirinin önemli sistem bilgilerinin saklandığı ilk bloku, disketteki dosyaların adı, uzunluğu ve diğer bilgilerinin saklan- dığı geriye kalan 18 blok ve dosyala- rı oluşturan esas byte'ların saklandı- Zi 664 blok. Disket üzerine herhangi bir bilgi bir dosya adı ile yazılmaya başlandı- ğında (örneğin bir SAVE işlemi veya bir veri dosyasının OPEN ile yazılma- ya başlanması), 1541'in işletim siste- mi (DOS, Disk Operating System) ta- rafından sırasıyla şu işlemler yapılır. Önce programın adı, birazdan göre- ceğimiz kurallara uygun olarak direc- tory zincirindeki ilk boş yere yazılır. Daha sonra da bilgi yazılabilecek en uygun boöş blok bulunur. Ancak bir bilgi bir bloktan uzunsa, yani 254 byte'dan (256 değil, ilk iki byte 1541 tarafından kullanılıyor) daha fazla yazılacaksa ne olacak? İşte buna çö- züm olarak şöyle bir yöntem gelişti- rilmiş. Yazılacak bilgi yığının ilk 254 byte'ı bir bloka yazılır ve bu blokun adresi TRACK/SECTOR numarası olarak directory'de bu dosyaya ay- rılmış uygun yerde kaydedilir. Son- ra disket üzerinde yeni bir uygun ve boş blok bulunur. Bilginin bir sonra- ki 254 byte'lik kısmı da bu bloka ya- zılır. Bu arada ilk blok ile ikinci blok arasında bir bağ kurabilmek için, ikinci blokun TRACK ve SECTOR numaraları ilk blokun ilk iki byte'ı- na yazılır. Şimdi neden bize blok ba- şına 254 byte kaldığını anladınız mı? Bu işlem, üçüncü, dördüncü ve da- ha sonraki 254'er byte'lik kümeler halinde devam eder. Böylece o dos- yanın bilgilerini içeren bir bilgi zin- ciri oluşur. Bu zincirin en son halka- sını oluşturan blokun ilk iki byte'ı ise, arkadan gelen başka bir blok olma- dığını göstermek üzere özel değerler

Bu sayıdan diğer sayfalar: