Bu sayfadaki yazılar
Sayfanın metni
Sayfa 54
Geçen ay CLI komutlarını tek tek incelemeye başlamıştık. Bu ay ki yazımızda da komutları öğrenmeye devam edeceğiz, ancak AMIGA DOST'un tamamını komutlara ayırmanın gereksiz olduğunu düşünerek yazının içinde Amiga DOS'la ilgili başka konulardan bahsetmeye karar verdim.
CLI içinden DIR komutuyla Workbench disketinizin bir directory'sini alacak olursanız göreceğiniz directory'lerden bazılarının adı "libs", "devs" ve "1" olacaktır. Bu directory'lerin içinde neler olduğunu hiç merak ettiniz mi? Belki merak edip buradaki dosyaların ne işe yaradıklarını araştırdınız veya henüz bunlara ihtiyacınız olmadığını düşünerek bu directory'lerden uzak durdunuz. Fakat yine de bu directory'leri büyük itimalle farkında olmadan kullanıyorsunuz çünkü bunlar aslında Amiga'nın işletim sisteminin bir parçasını oluşturuyorlar.
Amiga'nın işletim sistemi rutinleri hem bellekte hem de diskette libs (libraries) yani kütüphaneler şeklinde yeralırlar. Bu kütühanelerin bazıları makinenin çalışması için çok önemli olup, sık sık kullanıldıkları için ROM'a konmuşlardır. Örneğin Amiga'nın ekranlarını, pencerelerini, menülerini ve istek pencerelerini oluşturmada kullanılan Intuition kütüphanesi programlar tarafından sıkça kullanılır. Amiga'nın Kickstart 1.2 ve 1.3 ROM'ları 256K'Iık yer kapladıkları halde bütün sistem rutinlerini saklayacak kadar geniş değildirler ve bu yüzden daha az önemli ve az kullanılanlar Workbench disketinde libs directory'sinde saklanırlar. Amiga bu rutinlere ihtiyaç duyduğunda önce libs directory'sine bakar sonra da rutinleri buradan okuyarak RAM'a yükler.
Kütüphanelere girebilmek ve programlarınız içinde kullanabilmek için "kütüphane açma" işlemini yapmalısınız. Bu işlem için Amiga'da çalışan Assembler ve C dillerinde özel rutinler kullanılmakta. Bir kütüphane ile işiniz bittikten sonra aynı kütüphaneyi kapatmalısınız. Bu konuda daha" fazla bilgi için Assembler ve C yazılarını takip etmenizi öneririm. Ayrıca Amiga BASIC içinden de, özel FD dosyalarını kullanarak, kütüphaneleri yüklemek mümkün.
ROM'da yer alan ve en çok kullanılan kütüphaneler arasında EXEC, INTUITION ve GRAPHICS sayılabilir. Bu arada ilginç bir nokta da bu kütüphanelerin belleğin belirli bir köşesinde saklanmak zorunda olmamaları. Kütüphane açma işlemi sırasında bellekte yeri belirlenen kütüphanelere daha sonra yenilerini ekleyebilir veya bu eklediklerinizi silebilirsiniz. İşletim sisteminin bu özelliği Amiga'yı çok esnek bir bilgisayar haline getiriyor.
Workbench 1.3'ün ROM'unda ve libs directory'si içindeki kütüphaneler ve görevleri şunlardır:
(ŞEKÎL-1)
Devs ya da araçlar directory'sinde çevresel araçlar veya RAM disk ve clipboard gibi dahili araçlarla bağlantı, iletişim işlemlerini yürüten rutinler ile bu araçların nasıl çalıştırılacağını bilgisayara gösteren açıklamalar yeralır. ROM'da bulunan rutinlere (örneğin ROM'daki TRACKDISK device rutini, Amiga DOS'tan verdiğiniz FORMAT, INS-TALL gibi komutların kullandığı bir rutindir) ek olarak burada da çok sayıda önemli rutin saklanmaktadır:
KÜTÜPHANE TANIMI
Workbench1.3:Libs diskfont.library Yazı fontlarını bulma ve yükleme için gerekli fonksiyonları içerir. icon.library İkon dosyalarını yaratmak, okumak ve yazı dizilerini işlemek için gerekli fonksiyonları içerir. info.library VVorkbench'in info fonksiyonu için gerekli kodu içerir. mathieeedoubbas.library Çift duyarlıklı IEEE temel matematik fonksiyonlarını (toplama çıkarma vb.) içerir. mathieeedoubtrans.library Çift duyarlıklı IEEE transandantal matematik fonksiyonlarını içerir. mathtrans.library Mathffp transandantal matematik fonksiyonlarını içerir (sin, cos vbi). translator.llbrary İngilizce bir metni narrator.device için uygun fonemlere çeviren bir rutin içerir. verslon.library Workbench'in versiyon ve revizyon numaralarını içerir. Kickstart 1.3ROM dos.library AmigaDOS araçlarını, disk dosyalama sistemini ve CLI işlemlerini yürüten rutinleri içerir. exec.library Sistem görevlerini, mesajlarını, kesintilerini (interrupt) ve l/O işlemlerini yürütme ve kütüphanelere, araçlara ve kaynak kodlara erişimi sağlayan rutinleri içerir. expansion.library Ek araçların konfigürasyonunu sağlayan ve onların sistemle birleştiren rutinleri içerir. graphlcs.library Düşük seviyeli grafik fonksiyonlarını, daha ileri animasyon rutinlerini içerir ve yaratık (sprite) ve BOB'ları destekler. Intultlon.library Amiga arabirimini oluşturan ve programlar tarafından en fazla kullanılan bu kütüphane; ekranları, pencereleri, menüleri, kutucukları, istek pencerelerini, tercihleri yaratmak ve yönetmek için kullanılan rutinleri içerir. layers.llbrary Fiziksel bir ekranı mantıksal pencerelere bölmek için gerekli fonksiyonları içerir. Pencerelerle ilgili işlemlerde Intuition tarafından sıkça kullanılır.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 55
(ŞEKÎL-2)
Mountlist dosyasında, mount komutuyla Amiga'ya bağlanan HARD disk veya RAD disk (RAM disk'ten farklı biçimde bellekte çalışmasına rağmen fiziksel bir sürücüyü taklit eden araç) gibi araçlarla ilgili bilgiler yeralır. Bu dosyayı herhangi bir editör programıyla inceleyebilir ve isterseniz mevcut tanımlamaları kendiniz için daha uygun biçimde ayarlayabilirsiniz. Örneğin geniş bir ek belleğe sahipseniz RAD diski çin End Cylinder seçeneğini 79 yaparak normal disket büyüklüğünde (880K) bir RAD disk'e ve sonradan da Workbench'i buraya kopyalayarak bellekte çok hızlı çalışan bir Workbench'e sahip olmayı düşünebilirsiniz.
Clipboards içinde ise Workbench'teki Cut seçeneği ile belleğe alınan yazı parçaları saklanır. Aslında clipboard sadece Workbench kullanımı ile sınırlı değildir ve grafiklerle ilgili bilgileri de saklayabilir. Ancak bu özellik ProWrite gibi birkaç programın dışında pek desteklenmemektedir. Workbench 1.3'ün startup işlemi sırasında hız kazanmak açısından bellekte bir CLIPS: directory'si açılır ve yazı parçalan buraya assign edilerek gönderildiğinden clipboards directory'si boş kalır.
L directory'sine de yine bir bakıma kütüphane olarak çağırabileceğimiz handler'lar konmuştur. Bu kütüphaneler içinde yine ROM'da yeralmayan fiziksel araçların işletim rutinleri saklıdır (aksi takdirde Amiga'ya bağlabilen heryeni araç için yeni bir Kickstart ROM gerekecekti). Bu fiziksel araçların özellikleriyle ilgili bilgilerin devs directory'si içindeki mountlist dosyasında tanımlandığını yukarıda söylemiştik. L directory'sindeki handler kütüphaneleri şunlardır:
(ŞEKİL-3)
KOMUTLAR
AVAIL
Format: AVAIL [CHIP] [FAST] [TO-TAL]
Avail (Available) komutu, mevcut RAM bellek miktarını gösterir. Yalnızca Avail komutunu verdiğinizde değişik bellek türlerini belirten chip, fast ve total argümanlarının tamamı, mevcut (available), kullanılan (in-use), maximum (sistemdeki belleğin tümü) ve largest (RAM'daki en geniş bellek parçası) olarak gösterilir.
Örnek:
1) avail fast
BINDDRIVERS
Format: BINDDRIVERS Bu komut Expansion directory'sine konmuş herhangi bir araç sürücüsünü (devs/printers içindeki printer sürücülerinden farklı olarak) bilgisayara eklenmiş olan ilgili araca (A2000'in JH0 dahili harddisk'i gibi) bağlar. ROM'daki expansion kütüphanesi tarafından kontrol edilen araç, eğer kendine ait araç sürücüsü expansion directory'si içindeyse, sistem açıldığında doğrudan konfigüre edilir.
BREAK
Format: BREAK işlem [ALL] [C] [D] [E] [F]
Dar anlamda bu komutun işlevi CTRL-C,D,E,F tuş kombinasyonlarına
ARAÇ TANIM
Workbench DEVS: clipboard.device Küplerin (yazı ve grafik parçası) CLIPS: veya DEVS:clipboards'a yazılmasını ve okunmasını kontrol eder. Mountlist Sisteme bağlanacak araçların özelliklerini içerir. narrator.device Konuşma sentezleyicisine girişi kontrol eder. parallel.device Paralel port'a girişi kontrol eder. printer.device Yazıcıya girişi kontrol eder. ramdrive.device Geri çağırılabilen (resetlemeden sonra bellekte kalan) ram sürücüsünü kontrol eder. serial.device Seri porta girişi kontrol eder. system-configuration Preferences ayarlamalarını saklar. Keymaps altdirectory'si Çeşitli dillerde klavye formatlarını içerir. Printers altdirectory'si Çeşitli printer sürücülerini içerir (normalde sadece generic) Clipboard altdirectory'si Klipler, CLIPS: mantıksal aracı yoksa burada saklanırlar.
Kickstart 1.3 ROM audio.device Amiga'nın dört ses kanalını kontrol eder. console.device Klavye'den girişleri kabul eder ve ekrana çıkış olarak gönderir. Kursor tuşlarının hareketlerini düzenler. gameport.device Mouse/ joystick portlarını kontrol eder. Ayrıca bu portların, özel giriş araçlarına göre (lightpen vb.) ayarlanabilmesi için gerekli rutinleri de içerir. input.device Mouse ve joystick girişleri hakkındaki bilgileri sağlar ve keyboard.device ile gameport.device'tan gelen bilgileri tek bir bilgi akımı haline getirir. Tuş tekrar hızını kontrol eder. keyboard.device Klavyeden gelen ham bilgiyi (tuşa dokunma) inceler ve bunu bir giriş haline dönüştürür. timer.device CIA timer donanımını veya ekran tarama süresini kullanarak görev sinyallerini veya kesintileri (interrupt) belli aralıklarla başlatma olanağı sağlar. trackdisk.device Floppy-disk sürücülere düşük seviyeli erişim olanağı sağlar.