Commodore sayı 33, sayfa 41

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 41

MULTITASKING

Bir bilgisayar normal olarak tek bir görevi (İngilizce: task) yerine getirir. Ancak bu görev tamamlandıktan sonra, bir sonraki göreve geçer. Bu çalışma tarzı aynen insanınkine benzer. Birisinden üç işi aynı anda yapması istendiğinde, çoğu zaman “herhalde kendimi parçalayamam?” itirazlarıyla karşılaşılır. İnsan gerçekten de kendini parçalayamaz, ama herhalde birden fazla işi “aynı anda” yapabilir. Hayalinizde, masasını yalnızca uyumak ya da yemek pişirmek için terkeden bir bilgisayar meraklısını canlandırın. Eğer bir yemek pişirmek isterse, kızartmayı fırına koyduktan sonra AMIGA'sının başına dönerek program yazmaya devam eder. Bir saat sonra sebzeleri doğrar ve çorbayı ocağa koyar. Yine makinesine dönerek birkaç program satırı daha yazar. Kızartmayı döndürmek ya da üzerini ıslatmak için bilgisayar başındaki çalışmasını arada sırada kesmek zorundadır. Prensip olarak bilgisayar meraklımız, “programlama” ve “yemek pişirme” faaliyetlerini aynı anda yürütmektedir. AMIGA'da da benzer bir durum sözkonusudur. Bilgisayar A, B ve C programlarını aynı anda işlemek durumundaysa, Multitasking yeteneklerini kullanır. Önce A programını yürütmekle işe başlar, bu çalışmayı bir saniyeden az bir süre sonra keser, nereye kadar gelmiş olduğuna bakar ve ara sonuçları saklar (bunlar, diğerlerinin yanı sıra MİB sicillerinin içeriğini oluşturur). Şimdi B programı işletilir ve aynı şekilde bir süre sonra C de kesilir. C programına da aynı işlem uygulanır. Sonra sıra ile A programına gelir. AMIGA, A programının saklanmış son halini ekrana getirir ve kaldığı yerden çalıştırmaya devam eder. Sonra A kesilir, B yeniden alınır ve sıra C'ye gelene kadar çalıştırılır. Bir programdan diğerine geçiş o kadar hızlı olur ki, kullanıcı hiçbir şey farkedemez. Onun gördüğü, üç programın da aynı anda çalışmakta olduklarıdır. Belki bazen programların biraz daha yavaş çalışmakta oldukları farkedilebilir. Ne de olsa gerçekte asıl sürenin üçte biri kadar çalışıp geri kalan sürede ara vermektedirler. Fakat AMIGA gibi 16 bitlik hızlı bir bilgisayarda bu durum hemen hiç farkedilemez bile. Dolayısıyla bir program son derece karmaşık bir hesaplama işlemini yapmaktayken, diğer yanda bir başka programla bir mektup yazıyor olmak mümkündür. Aslında Multitasking prensibi yardımıyla bir bilgisayarın verimliliği artmaz. Tüm çalışma verimi iki, üç ya da daha çok programa bölünür. Buna karşılık yardımcı işlemciler, bilgisayarın çalışma verimliliğini artırırlar. Bir yardımcı işlemci (coprocessor), merkezi işlemciden, yani MC 68000'den bağımsız olarak belirli görevleri yerine getiren ikinci bir işlemcidir. Aslında teorik olarak 68000 merkezi işlemcisini, yardımcı işlemci olarak kullanmak mümkündür. AMIGA'yı oluşturanlar ise, uzmanlaşmış yardımcı işlemciler kullanmayı seçtiler. Bunlar özellikle ekran grafikleriyle ilgili görevleri üstlenmişlerdir. Eğer ekranda bir çizgi çizilmesi gerekiyorsa, merkezi işlem birimi karşılık gelen yardımcı işlemciye gerekli doneleri (çizginin başlangıcı, sonu ve rengi) verir, çizgiyi çizmekle görevlendirir ve hemen kendi diğer işlerine geri dönebilir. Özel olarak görevlendirilmiş bu yardımcı işlemcilerin tek yararı, merkezi işlemcinin başka görevlerle meşgul olduğu sırada, görevini yapabilmesi değildir. AMIGA'nın yardımcı işlemcileri (çizgi çekmek, yüzey doldurmak gibi) birçok görevi, MC 68000'den çok daha hızlı yerine getirirler. Bunun nedeni, bu görevler için özel olarak yapılandırılmış olmalarıdır. Bu nedenle AMIGA, ekran grafiklerinin çizilmesi sırasında çoğu zaman inanılmayacak bir hız sergiler. Yardımcı işlemcilerin özellikle verimli çalışabilmeleri için, DMA yetenekli olmaları gerekir. DMA, “Direct Memory Access” (doğrudan bellek erişim) sözcüklerinin kısaltmasıdır. Bu yöntem özellikle çevresel gereçlerle ya da onlardan yapılan veri transferlerinde büyük önem taşır. Örnek olarak bir hard disk ünitesinden yapılan okuma işlemini alalım. Bu kitle belleği okuyucuya inanılmayacak ölçüde hızlı bir alet olarak görünür. Fakat hızlı bir bilgisayar için bu erişim aslında yavaştır. AMIGA bir hard disk üzerindeki belirli bir sektörü okumak istediğinde, öncelikle okuma/yazma kafası karşılık gelen izin (track) üzerine gelmek ve sektörün kendi önünden geçmesini beklemek zorundadır (bu süreç, dizimizin birinci bölümünde etraflıca anlatılmıştır). İlgili sektör okuma/yazma kafasının altından geçerken, orada bulunan veriler byte'lar halinde okunur, merkezi işlem birimine aktarılır ve o da bunları RAM belleğe yerleştirir. Bu süreç, 100 milisaniyeye kadar sürebilir. Hızlı bir işlemci için bu süreç, asıl olarak yapmakta olduğu hard diskin mekaniğinin ona göre çok ağır olan hareketini beklemeye karşılık, çok kısa bir iştir.

Her programda veri transferini sağlayan bir pencere bulunur.

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