Amiga Dünyası sayı 11, sayfa 49

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 49

Diğer bilgisayarlarda kullanılan DOS sistemleriyle karşılaştırıldığında, AmigaDOS oldukça esnek bir işletim sistemi olarak görülebilir. DOS komutlarının sistemin ROM'unda saklanmamaları, bunun yerine Workbench disketinin c directory'si içinde yer almaları, bu komutların istenen herhangi bir dilde daha hızlı ve kısa yazılmalarına imkan tanır. Ayrıca, bu şekilde çok sayıda değişik komuta sahip olabilirsiniz. Burada tek sınırlama disketinizin saklama kapasitesidir.

CLI komutlarının en belirgin özelliği, diğer programlara göre oldukça kısa ve hızlı yüklenebilir olmalarıdır. Komutun kısa olması için komutun yazıldığı dil önemlidir. En kısa ve kompakt komutlar doğal olarak assembly dilinde yazılabilirler. Bugün bazı özel Workbench versiyonları (örneğin ARP 1.3.5 gibi), assembly diliyle yazılmış komutlarla çalışmaktadırlar. Assembly diline alternatif olabilecek bir başka dil de, C dilidir. Amiga'nın önemli sistem rutinlerinin çoğu bu dilde yazılmıştır. Compile edildiğinde meydana gelen komut assembler kadar kısa olmasa da C dili, bu dili iyi bilenlerin elinde çok güçlü programlama dili haline geliyor. Bununla birlikte Workbench 2.0 dışındaki versiyonlarda dos komutları BCPL denen ve artık pek kullanılmayan bir dilde yazılmışlardır. C dili de BCPL'in geliştirilmesiyle ortaya çıkmıştır.

CLI komutlarının ortak özelliklerine gelince şu noktalar göze çarpmakta:

1 - Bütün CLI komutları bağımsız çalışırlar, yani bir komut çalıştırıldıktan sonra kullanıcıdan başka bir bilgi girişi beklemez. Gerekli bilgiler komut parametreleri olarak başta belirtilir.

2 - Komutlar genellikle çalıştırıldıkları CLI/SHELL penceresine çıkış verirler. Çıkış için başka bir pencere açılmaz.

3 - Standart CLI komutlarında ayrıca, komut ? şeklinde çağırılabilen bir komut şablonu bulunur. Eğer komutu yanlış kullanırsanız doğru parametreleri gösteren bir şablon otomatik olarak gösterilir.

AmigaDOS CLI komutlarını yükleyebilmek için, önce içinde bulunduğunuz directory'ye bakılır. Eğer komut bu directory içinde değilse, bilgisayar açıldığında otomatik olarak assign edilen c directory'sine bakılır.

Herhangi bir komut verdiğinizde, bu komutun disketten yüklenmesi için izlenen sıra şöyledir. Önce DOS komutu arar. Komut bulununca kullanmakta olduğunuz

Can ÖZTÜRK filesystem (oldfilesystem veya fastfilesystem) handler'ı devreye girer. Dosya veya directory ile ilgili bilgiler incelenir ve sistem tamponuna (buffer) alınmaya hazırlanır. Bu noktada trackdisk.device devreye girerek track ve sectorlerden ilgili dosyayı disket sürücüyü çalıştırarak okur. Bir track okunduğunda track buffer'ı ve doğru sektörlerin yüklenip yüklenmediği kontrol edilir. Son olarak da track buffer'ının içeriği filesystem buffer'ına dosya halinde kopyalanır. Hardware seviyesine en yakın çalışan trackdisk.device formatlama vb. işlemleri de yapan handler'dır.

Görüldüğü gibi dosya yükleme ve diğer DOS işlemleri birçok işlem yapılarak gerçekleşmektedir. AmigaDOS bu yüzden diğer DOS'larla karşılaştırıldığında biraz yavaş kalmakta. Bunu daha yakından görmek için DOS disketten okuma işlemini nasıl yaptığına bakalım:

En başta, Kickstart ROM'da yer alan DOS.library adlı kütüphane çağırılır. Bu kütüphaneyi açarken iki parametreyi belirtmemiz gereklidir. Bu parametreler dosya adı ve erişim tipidir (okuma/yazma). Bundan sonra DOS yukarıda anlattığımız biçimde dosyayı arar ve açmaya çalışır. Burada bazı özel durumlar söz konusu:

- Dosya adı * ise DOS giriş ve çıkış işlemleri CLI penceresine yapılır. Eğer * işaretini, giriş ve çıkış işlemlerinin ayrı olarak yapıldığı bir komutla kullanıyorsanız (ör: copy * to ram:), bu işaret CON handler'ı yani bu örnekte klavye ve CLI penceresi kullanılarak yapılan girişi belirtir.

- Dosya adı NIL ise okuma ve yazma esnasında hiçbir şey gösterilmez.

- Dosya adında : işareti kullanılmışsa bu işaretten önce yazılan adın araç adı listesinde yer alıp yer almadığına bakılır. Eğer böyle bir araç adı mevcutsa öncelikle bu aracın handler'ı yüklenir ve çalıştırılır. Bu işaretten önce disket adını da kullanabilirsiniz. Bundan sonraki işlem dosyayı okuma işlemidir ve bu noktada filesystem devreye girer. Filesystem buffer'ını addbuffers komutuyla genişleterek daha az yükleme yapmasını sağlayabiliriz.

Öte yanda RAD ve RAM için yukarıda anlattığımız işlem sırası biraz farklıdır. RAM diskte hem handler hem de device aynı anda çalışır. Fakat formatlama, diskdoctor gibi işlemler yapılamaz. Workbench 1.3'te kullanılan RAD disk ile bu kısıtlamalar ortadan kaldırılmıştır. RAD, trackdisk.device'ı değil ramdrive.device adlı başka bir device kullanmaktadır. Bahsettiğimiz device'lar Workbench disketinin devs directory'sinde, handler'lar da 1 directory'sinde yer alırlar.

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