Bu sayfadaki yazılar
Sayfanın metni
Sayfa 21
İşletim sistemi üreten farklı yazılım firmaları, ürünlerinin, her biri farklı bir no ile adlandırılan versiyonlarını da üretmektedirler. Bugün CP/M'in, 1.4, 2.0, 2.2 ve Plus (3.0, 3.1) olarak adlandırılan farklı versiyonları kullanılmaktadır. Bu no.lar, genellikle programda yapılan önemli değişiklikleri ifade ederler. Yapılan bu değişiklikler bazen önemli boyutlara vardığından, yüksek no.lu versiyonlara uygun olarak yazılan kimi uygulama programları daha düşük düzeyli (no.lu) versiyonlarda çalışmayabilir. Örneğin CP/M Plus, daha önceki yaygın versiyon olan 2.2'ye oranla oldukça farklı bir görünüm vermektedir. İncelememizde doğal olarak tüm işletim sistemlerinin tüm versiyonlarını ele almayacağız. Bu yazının amacı, işletim sistemlerinin genel bir tanıtımını yapmanın yanısıra CP/M sisteminin gelişmiş biçimlerinden biri olarak bugün yaygın bir kullanıma erişmiş olan CP/M Plus'ı tanımaktır. Gerçekten de bir işletim sisteminin iyi ve doğru kavranması, bu sistem altında çalışan bir programın diğer bir sisteme uygulanmasını son derece kolaylaştıracaktır. Bir işletim sistemi kullanıcısı olarak bilmeniz gereken, sistemin ne yapabileceğidir; nasıl yaptığı değil... (Bu sözümüz, çoğu zaman bir uzmanın pa-
İşletim sistemi Mikrobilgisayar NEWDOS Tandy TRS-80 (Z80) APPLEDOS Apple II (6502) SOS Apple III (6502B) CDOS Cromemco (Z80A) PIOS Professional (Z80) CP/M (8080 ya da Z80) XENIX (Z80/Z8000/68000) OASIS (Z80/Z8000/8086) UCSD-P (değişik) MS/DOS (8086/8088)
Yazılımcı firma Apparat Inc. Apple Comp. Apple Comp. Co. Inc. Cromemco Inc. Digital Equipment Corp. Digital Research Microsoft Inc. Phase One Systems Inc. Softech Microsystems Microsoft Inc.
CP/M işletim sistemi, zaman zaman değişikliklere uğramakla birlikte pek çok yapımcı firma tarafından üretilen bilgisayarlara uygulanmıştır. Örneğin Commodore Firması'nın ürettiği C-128 disket sürücü veya C-128D mikro bilgisayar sistemlerinde CP/M'in en son versiyonu olan CP/M Plus (CP/M 3) işletim sistemi kullanılabilmektedir. Diğer yandan başka firmalar da CP/M'i andıran farklı işletim sistemleri yazmışlardır.
bucunu dama attırabilecek ölçüde yetenekli bilgisayar ve işletim sistemi korsanlarına (!) değil). Kullandığınız bilgisayar sisteminde disk yoksa, bu, işletim sisteminin ROM bellek üzerine yerleştirildiği anlamına gelir. Diğer yandan bu sistemin nasıl kullanılacağı konusunda gereken bilgi, makine ile birlikte verilen yazılı döküman içinde bulunmaktadır. Daha sonraki dönem içinde bilgisayar sisteminize disk gibi önemli bir donanım eklendiğinde, ge-
rekli ek yazılımı ve dökümanları birlikte alacaksınız. Bu arada satır arasına şunları sıkıştırmadan geçmek istemiyorum: Eğer yukarıda sözünü ettiğimiz türden bir işletim sistemi ve disk korsanıysanız ve elinizin altında CP/M Plus çalıştırabileceğiniz bir Commodore 128 ya da Commodore 128D varsa, aşağıda belirttiğim dökümanları muhakkak edinin; CP/M Plus konusundaki ufkunuzun açıldığını hissedeceksiniz. Sıralayalım: 1) The Anatomy of the Commodore 128 First Publishing Ltd. 2) The anatomy of the 1571 Disk Drive First Publishing Ltd. 3) CP/M Plus Operating System Digital Research Inc. 4) CP/M Operating System (Ver.2.2) Digital Research Inc. 5) The CP/M Software Bus Sigma Press 6) The 1571 Disk Drive User's Guide Commodore Ltd. Hiç kuşkum yok, Teleteknik'teki dostlar bu yayınların sağlanmasında yardımcı olacaklardır. Devam edelim. Disk temelli bir işletim sistemi, gerekli tablo ve programları yerleştirebilmek amacıyla yeterli miktarda RAM (Rasgele Erişimli Bellek, İng. Random Access Memory) belleğe gereksinim duyabilir. Zorunlu bellek miktarı, işletim sistemini tanımlayan ve açıklayan yazılı dökümanda belirtilmiştir. Unutulmaması gereken bir nokta, burada sözü edilen bellek gereksinmesinin, işletim sisteminin kendisine özgü olduğudur. Kullanıcı tarafından yazılan uygulama programlarının bellek gereksinimi bu miktarın dışındadır. Gelişmiş disk işletim sistemleri, genellikle 48 Kb RAM bellek üzerinde çalışabilirler. Daha küçük çaplı sistemler arasında 16 Kb RAM bellek ile yetinenler de vardır.
İşletim Sistemi
Ne Yapar?
Bir işletim sistemi bellibaşlı altı ayrı fonksiyonu gerçekleştirir: 1) Giriş/çıkış denetimi (İng. Input/Output Control), 2) Birim (aygıt) bağımsızlığı (İng. Device independence), 3) Programlama dillerine ve program geliştirilmesine destek, 4) Kütük (dosya) düzenleme işlemleri (İng. Filing system), 5) İş kuyruğu (İng. spooling) işlemleri, 6) Servis programları (İng. Utilities). Çoğu durumda bilgisayar, bir dış donanım biriminden bilgiyi byte'lar halinde almak durumunda kalır - örneğin her seferinde bir byte-. Eğer bu giriş işlemini işletim sisteminin özel program(cık)larını kullanmadan biz yapsaydık, dış donanım birimi ve bilgisayar arasındaki eş zamanlamayı (senkronizasyonu) da bizim gerçekleştirmemiz gerekecekti. Dolayısıyla uygulama programımız, dış birim ile bilgisayar arasında alışverişi sağlamayı amaçlayan bir sürü komutla dolacaktı. Bu sorunu ortadan kaldırmak ve giriş/çıkış işlemlerini kolaylaştırmak amacıyla işletim sisteminin içine giriş ve çıkışı denetleyen programlar eklenmiştir. (Eş zamanlama dediğimiz sorunun ne denli büyük bir sorun olduğunu, bilgisayarlar arası haberleşme yapmayı deneyen ya da diski denetleyen denetim devresini sistem programları yazarak kurcalayan korsan dostlar pek iyi bilirler...) Belirttiğimiz gibi bir dış donanım birimi ve bilgisayar arasındaki iletişim (arabağlantı, arabirim, İng. interface), işletim sistemi tarafından sağlanır. Sistem, destek verdiği değişik donanım birimlerinin özelliklerini kendisi değerlendirir. Örneğin bir BASIC programı yazdığımızda, bu program içinde geçen “print”, “input”, “load”, “save” gibi deyimlerin karşılıkları olan sistem programcıkları, gereken yerlere işletim sistemi tarafından yerleştirilir. Örneğin BASIC programlama dilindeki “print” deyiminin hangi programcık tarafından gerçekleştirildiği tümüyle sizin dışınızdadır ve bu desteğin sağlanması sistem özellikleri uyarınca işletim sisteminin görevidir. Program deyimlerinin fiziksel donanımdan bağımsızlığı, işletim sistemlerinin sağladığı temel yararlardan biridir. Küçük ve ucuz mikro bilgisayar sistemleri, genellikle (donanım ve yazılım eklemeleri yapılmaksızın) bir ya da birkaç programlama dili için destek verir. Daha büyük sistemler ise yorumlayıcı (İng. interpreter) ve derleyici (İng. compiler) türlerinde olmak üzere alt (assembly) ve üst (BASIC, COBOL, PASCAL vb.) düzey dillerinin daha zengin kullanımına olanak tanırlar.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 20
İşletim Sistemlerinin
Tarihsel Gelişimi
İşletim sistemleri, öncelikle makro (büyük) ve mikro bilgisayar sistemlerinde kullanılmak üzere geliştirilmiştir. Bu tür bilgisayarlarda işletim sistemi, farklı amaçları olan çok sayıda kullanıcıya hizmet vermeyi amaçlar. Böylesi işletim sistemlerinin hazırlanması, uzun süreli takım çalışmasını gerektirir. Bu nedenle iyi hazırlanmış ve verimliliği genel kabul görmüş işletim sistemlerine sahip bilgisayarların tercih edilmesi şaşırtıcı değildir. Dolayısıyla işletim sisteminin bilgisayarın donanımıyla aynı düzeyde önemsenmesi yanlış olmayacaktır. Böylece yazımızın ileriki bölümlerinde ele alacağımız, 8-bit makineler için son derece gelişmiş bir işletim sistemi olan CP/M Plus (CP/M 3)'ın örneğin Commodore 128/128D'yi neden C-64'ten çok değişik bir düzeye, bir bilgisayar düzeyine yükselttiği kendiliğinden ortaya çıkmaktadır. Bir işletim sisteminin hazırlanması, daha az deneyimli programcı-meraklılar için olanaksız bir iş olmamakla birlikte, herhangi bir uygulama programının yazılması kadar da kolay değildir. Bu nedenle mikro bilgisayarın fiyatı ile karşılaştırıldığında, işletim sistemine ödenen miktar önemli bir oran oluşturur. Fakat Commodore 128D gibi bir mikro bilgisayar aldığımızda, işletim sisteminin bedeli makine fiyatına eklenmiş olduğundan, ayrı bir ödeme yapmamız gerekmez. İşletim sistemleri kimi zaman bilgisayar yapımcısı firmalar tarafından hazırlanmakla birlikte, özel olarak bu iş üzerinde çalışan bazı yazılım firmaları da (örneğin MS-DOS'u yazan Microsoft gibi) vardır. Bu tür firmalar arasında ismi hemen akla gelenlerden biri de ABD kökenli Digital Research Inc. şirketidir. Bu şirket, Zilog Z80 ve Intel 8080, 8085 işlemcilerini kullanan mikro bilgisayarlar için CP/M hizmet dilini hazırladı. CP/M adı, İngilizce "Control Program and Microprocessors" sözcüklerinin baş harflerinden oluşturulmuştur. Bugün CP/M işletim sisteminin pek çok versiyonu dünya üzerinde yaygın biçimde kullanılmaktadır. Esnek disk (disket) sistemlerine destek veren ilk işletim sistemlerinden biri CP/M'dir. CP/M sisteminin geliştirilmeye başlandığı yıl 1973'tür. Digital Research firmasının kurucularından biri olan Gary Kildall, bu yıllarda Intel firmasında danışman-yazılımcı olarak çalışmaktaydı. CP/M'e ışık tutan ilk çalışmaların amacı, programcılar için yazılım kolaylığı sağlayacak bir servis programları (İng. utilities) paketinin oluşturulmasıydı. Bu paket, programlama dillerinden ve programları hatalarından arındıracak servis programlarından oluşmaktaydı. Esnek disk kullanımının ve Intel'in ürettiği 8080 mikro işlemcisinin giderek benimsenmesi, CP/M konusundaki çalışmaları hızlandırdı ve CP/M, en yaygın mikro bilgisayar işletim dillerinden biri oldu. Etkin kullanımı olan çok sayıda farklı işletim sistemi var olmakla birlikte, CP/M'in gelişim perspektifi, iyi bir sistemin bilgisayarlar için ne denli önemli olduğunu açıkça ortaya koyar. Program geliştirmeyi amaçlayan özel CP/M programları bir yana bırakılırsa, bugün artık pek çok programcı uygulama yazılımlarını doğrudan CP/M altında çalışabilecek biçimde hazırlamaktadırlar. 80'li yılların hemen başlarında CP/M o denli ilgi gördü ki, işletme ve endüstri yönelimli bilgisayar kullanımı için bir standart işletim sistemi olarak kabul edildi. Fakat bu tür bilgisayar uygulamalarının doğası standartlar koymaya uygun olmadığından, bu kabul, aşırı bir önemseme olarak da değerlendirilebilir. Diğer yandan, işletim sistemleri, belli mikroişlemciler ve mikro bilgisayarlar için özel olarak yazılmaktadırlar. Dolayısıyla programlama dilleri konusunda geliştirilen standardizasyon yaklaşımının işletim dilleri için gerekli olması beklenemez. Aşağıda bazı işletim sistemleri örnek olarak verilmektedir: