Bu sayfadaki yazılar
Sayfanın metni
Sayfa 38
Amiga'nın işletim sistemini incelemeye kaldığımız yerden devam ediyoruz. Bu ay DOS komutlarına geçmeden önce biraz disketlerle yapılan işlemlerden, dosyalardan ve directory'lerden söz edeceğiz.
Çeşitli DOS işlemleri yaparken sürekli olarak, geçen yazımızda DEVICE ADI başlığı altında bahsettiğimiz araçlardan birine bağlı olarak çalışırız. Bilgisayar ilk açıldığında bu araç, bilgisayarın disket sürücüsünü ifade eden DF0: olarak (bu adın en sonuna iki noktayı koymayı unutmayın) belirlenmiştir (bu aracı daha sonradan ASSIGN komutuyla değiştirebilirsiniz). DF0:'da çalışan disketlere DOS Disk adı verilir. Bir disketin sürücüde okunabilir hale gelmesi için formatlanması, boot edilebilir (bilgisayarı açıp disketi taktıktan sonra disketin kendi kendine CLI ekranını yüklemesi) hale gelmesi için de install işleminden geçmesi gereklidir. Disketi formatlama işlemi hemen hemen bütün ev bilgisayarlarında yapılır. Bir disketi formatlamaktaki amaç, önceden bomboş olan disketi belli bir şekilde bölümlere ayırıp numaralandırarak bunların içinde değişik bilgilerin saklanabileceği bölgeler yaratmaktır. Böylece bilgisayar bilgileri disketin neresine kaydettiğini bilir, gerektiğinde bu yeri hatırlayarak bilgileri bulur ve buradan tekrar geri çağırır.
Amaç aynı olduğu halde, bütün bilgisayarlar disketi aynı şekilde formatlamazlar. Commodore 64 bir disketi toplam olarak 360K'lık bilgi saklayabilen 40 bölüme ayırır. Amiga ise, 80 ayrı bölüme 880K'lık bilgi kaydedebilir. Şimdi Amiga'da formatlanmış bir diskete daha yakından bakalım.
Amiga'nın kullandığı 3.5 inçlik disketler formatlandıklarında cylinder (silindir) adı verilen 80 bölüme ayrılırlar. DF0: sürücüsünde iki ayrı kafa bulunduğundan bu kafaların herbiri disketin bir yüzünü formatlar. Bu durumda bir cylinder altlı üstlü iki track'tan oluşur. Yani track'ı yarım cylinder olarak tarif edebiliriz. Her track'ta sector adı verilen 11 ayrı bölge bulunur ve bu bölgeler asıl bilgilerin saklandıkları yerlerdir. Sector'lere bazen blok (block) da dendiği olur fakat iki terim temelde farklı şeyleri ifade ederler. Gerçekte sector, bilginin bulunduğu bölge, blok ise bu bölgenin saklayabildiği bilgi miktarı için kullanıldığı halde, iki terim birbirinin yerine geçmektedir. Bir block 512 bayt'lık bilgi demektir ve diskette toplam 1760 block (sector) bulunur.
Ancak yukarıdaki gibi formatlanmış bir diskette dosyalar ve directory'ler oluşturulabilir. Dosya, disketin herhangi bir yerinde bulunan sectorler üzerine kaydedilebilen bilgi topluluğudur. Daha önce kaydedilmiş bir dosya yüklenirken, sectorler belli bir sırada okunurlar.
Bilgisayar, dosyaları diskete gelişigüzel kaydetmez. Bütün dosyalar directory'ler içinde yer alırlar. Directory'ler sayesinde çeşitli dosyalar bir grup altında toplanabilir. Formatlanmış boş bir diskette tek bir directory vardır ve buna root directory denir. Root directory içinde kendiniz de directory yaratabilir ve bunun içinde yeniden bir altdirectory açabilirsiniz. Bunu daha iyi anlamak için şöyle bir örnek verelim. Büyükçe bir gardırop düşünün. Gardırobun hemen içinde elbiselerin asılabildiği genişçe bir boşluk vardır. Bu kısmı root directory'ye, elbiseleri de dosyalara benzetebilirsiniz. Alt kısımda yine elbiselerin ve diğer eşyaların konabildiği geniş çekmeceler de altdirectory'ler olarak görülebilir.
Her dosyanın ve directory'nin otuz karaktere kadar uzunlukta adı olabilir. Dosyaları ve içlerindeki bilgileri bu adlarla tanımlayıp çağırabilirsiniz. Root directory'deki bir dosyayı çağırmak için önce device adı, arkasından dosya adı yazılabilir:
1> DF0: Dosya-Adı Eğer çağırmak istediğiniz dosya başka bir directory içinde yer alıyorsa araya bir bölü işareti (/) yazmanız gerekli:
1> DF0: Directory-Adı/Dosya-Adı 1> df0:utilities/notepad 1> yazılar/temmuz/amiga-dost Başka bir directory içinde bulunan dosyayı çağırmanın bir yolu da, o directory içine girip doğrudan dosya adını yazmaktır:
1> CD Utilities 1> notepad Dosya adlarını belirlerken, device adı belirten (:) ve directory belirten (/) işaretlerini kullanmayın. Ayrıca boşluk ( ), eşittir (=), artı (+) ve çift tırnak (") işaretlerini dosya adı içinde kullanmak isterseniz dosya adını çift tırnak içinde vermelisiniz:
1> DF0: "Ahmet + Mehmet" Dosya adlarından önce ve sonra boşluk bırakmayın, çünkü bu durumda CLI, büyük olasılıkla şaşıracaktır. Bu arada dosyayı diskete kaydederken, diskette aynı isimde bir dosya varsa önceki dosya herhangi bir uyarı yapılmadan silinecektir. Ancak dosya başka bir directory içinde yer alıyorsa silinmez. Workbench disketinde bazı özel directory'ler bulunmakta. Bu directory'leri genel olarak sıralayacak olursak: : Sistem root directory
C: Komut directory'si L: Kütüphane directory'si
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 39
S: Sıra (sequence) directory'si LIBS: Open library çağrıları için kütüphane.
DEVS: Open device çağrıları için kütüphane. FONTS: Open fonts çağrıları için fontlar. T: Geçici veri saklama bölgesi. Herhangi bir disket yüklenirken, AmigaDOS DF0:'daki disketin root directory adını (disk adı) SYS: yani sistem disketi olarak seçer. Bu disketin yüklemesi bittikten sonra başka bir disket takıp DOS işlemleri yapmak istediğinizde SYS:'yi çağıran bir komut verirseniz bilgisayar ilk yüklediğiniz disketin adını vererek onu df0:'a takmanızı ister ve o disketin root directory'sini kullanır.
C directory'sinde komutlar yer alır. CLI'de iken bir komut veya komuta benzeyen herhangi bir şey yazdığınızda, AmigaDOS bu komutu önce içinde bulunduğunuz directory'de arar. Eğer komut burada yer almıyorsa, C directory'sine bakar.
L directory'si, ROM'da bulunmayan kütüphaneleri saklar. Örneğin bellekte bir RAM Disk yaratmak için gerekli olan Ram-Handler kütüphanesi burada bulunur. AmigaDOS'un kendisi de çalışmak için bu directory'ye ihtiyaç duyar.
EXECUTE komutuyla çalıştırılabilen sıra veya batch dosyaları S directory'sine konmuştur. Bu komut CLI içinden verildiğinde dosyayı önce root directory'de arar. Burada yoksa S directory'sine bakar. LIBS: ROM'da yer almayan Open Library fonksiyon çağrıları, kütüphaneler belleğe yüklenmemişlerse buraya yapılır. DEVS: Bu directory'de Open Device çağrılarının ihtiyaç duyduğu dosyalar saklıdır. Yazıcınız hakkında bilgiler ve giriş-çıkış operasyonları için modüller burada yer alır.
FONTS: Yazı fontlarının bulunduğu directory.
Bunlara ek olarak bazı programlar (text editörleri vb.) diskette özel bir T directory'si açarak bunun içinde birtakım geçici bilgiler ve backup'lar saklarlar. Bütün bu directory'lerin aynı zamanda mantıksal device adı olarak isimleri vardır, örneğin DEVS: bir mantıksal device adıyken DF0: ve PRT: fiziksel device adı olarak kabul edilir.
AmigaDOS'un V1.3 versiyonu toplam 64 komuta sahip. Bu komutlar, yukarıda da bahsettiğimiz gibi C directory'si içinde saklanırlar. Bir kısmı V1.2 versiyonundan değişmeden gelen bu komutların bazıları, ileri düzeydeki kullanıcılar için düşünülmüş. Aslında bu komutlar, isimlerini yazdığımızda yüklenen ufak programlar. Yani biz CLI ortamında çalışırken, herbirinin özel işlevi olan belli programları çalıştırıyoruz. Biz burada komutları incelerken daima biraz BASIC bilgisine sahip orta düzeydeki kullanıcıyı göz önüne alacağız. Zaten geçen ayki yazıyı okuyup örnek CLI çalışmasını başarıyla yaptıysanız, buraya kadar olan kısmı okuduktan sonra komutları kullanabilecek düzeye gelmişsiniz demektir.
AmigaDOS'u kullanırken komutlarla birlikte bazı özel operatörlerden yararlanabilirsiniz. Bu operatörler (;), (<) ve (>)'dan oluşuyor. Noktalı virgül (;), komutlardan önce veya sonra kullanılabiliyor ve AmigaDOS'un, arkasına gelen komutu veya yazıyı işleme koymamasını sağlıyor. Bu kullanım BASIC dilindeki REM komutuna benzemekte:
1>DIR ALL; bütün dosyaları göster. Bu komutla disketin genel bir directory'si alınırken "bütün dosyaları göster." yazısı görmezden gelinir.
Büyük (>) ve küçük (<) işaretleri, komutların içinde giriş veya çıkış yönünü belirlemekte kullanılıyor. Herhangi bir komutun çıkışı, genellikle ekrana gider ancak (>) sembolünü bir device adından önce yazarsanız, çıkış o araca yapılır.
1>TYPE S/Startup-sequence >PRT: komutuyla startup dosyası ekran yerine yazıcıya gönderilir.
(>) sembolü bir dosya adından önce yazılırsa, çıkışlar o dosya içine kaydedilir.
1>DIR >içindekiler Disketin directory'si "içindekiler" adlı dosyaya kaydedilir. Bunu görmek için TYPE içindekiler yazabilirsiniz.
1> bilgiler <içindekiler komutunu verdiğinizde "içindekiler" dosyasına ne kaydedilmişse, bilgiler dosyası oradan bilgi girişi kabul eder.
Bundan sonraki komutları orijinal formatlarını vererek açıklayacağız. Burada komutlar büyük harfle yazılırken opsiyonel seçenekler köşeli parantezler içinde belirtilecek. Komut için gerekli parametreler de küçük harflerle yazılacak. Bu arada komutun kullanımı konusunda pratik yapmanız için bazı örnekler de vereceğiz.
ADDBUFFERS
Format: ADDBUFFERS Sürücü: nn ADDBUFFERS komutu, belli bir ölçüde, disketten daha hızlı yükleme sağlar. Her biri yaklaşık 500 bayt tutan 20-30 buffer (tampon) açarak, diskete daha hızlı erişebilirsiniz. 30'un üzerinde buffer açmak, eğer bir harddisk değilse, sürücüyü daha fazla hızlandırmaz.
Örnek:
1>ADDBUFFERS DF0: 20
ASK
Format: ASK Mesaj ASK komutu BASIC dilindeki INPUT komutuna benzer, ancak daima evet veya hayır yanıtlarını kabul eder ve daha çok bir komut dosyası (batch file) içinde IF ve EXECUTE gibi komutlarla birlikte kullanılır.
Örnek:
1>ASK devam?
ASSIGN
Format: ASSIGN device-adı directory-adı [List] [Exists] [Remove]
ASSIGN komutu herhangi bir mantıksal device adını veya directory'yi, başka bir directory'ye devrederek oradan çağrılmasını sağlar.
LIST seçeneği, ASSIGN edilen directory'yi ASSIGN listesinden siler.
EXISTS seçeneği verildiğinde, ASSIGN komutu ASSIGN listesini tarar ve mantıksal device adının ASSIGN edilmiş olduğu directory'yi gösterir.
REMOVE seçeneği ile, disk veya device adını vererek bilgisayarın bu aracı görememesini sağlayabilirsiniz. Örneğin harddiskiniz varsa ve içine virüs girecek diye korkuyorsanız, harddiski bu opsiyonla devre dışı bırakabilirsiniz.
Örnekler:
1> ASSIGN fonts: "özel-fontlar: fonts'"
Bu komuttan sonra fontlar için "özelfontlar" adlı disketin fonts directory'sine bakılır.
1>ASSIGN dh0: remove (harddiski kapatır)
1>ASSIGN C: RAM: Bu komutla bilgisayar C directory'sini DF0:'da değil RAM:'da arar.
1>ASSIGN L: DH0:L L directory'si için harddisk'e bakılır.