İŞletim sistemleri


İŞLETİM SİSTEMLERİNİN TARİHÇESİ



Yüklə 0,52 Mb.
səhifə2/16
tarix29.05.2018
ölçüsü0,52 Mb.
#46561
növüYazı
1   2   3   4   5   6   7   8   9   ...   16

İŞLETİM SİSTEMLERİNİN TARİHÇESİ

İlk gerçek “Sayısal Bilgisayar” İngiliz matematikçilerinden Charles Babbage (1792-1871) tarafından tasarlanmıştır. Ancak onun yaşadığı yıllarda teknoloji yetersizliklerinden, tasarladığı makinelerde işletim sistemleri mevcut değildi.





  1. Birinci Nesil İşletim Sistemleri (1945-1955)

Babbage’ ın başarısızlıkla sonuçlanan çalışmalarından sonra, II. Dünya savaşına kadar olan dönemde yok denecek kadar az bir gelişme olmuştur. 1940’ lı yıllarda ise, Harvard Üniversitesinde Howard Aiken; Princeton Üniversitesinde, John Von Neumann ve Amerika ile Almanya’ daki bazı diğer araştırmacıların çalışmaları sonucunda vakum tüpleri kullanılarak sayısal bazı makinelerin geliştirilmesi mümkün olabilmiştir. Ancak bu geliştirilen makineler son derece büyük ve odalar dolusu on binlerce vakum tüplerinden yapılmış ve bugün evlerde kullanılan bilgisayarlardan yüzlerce kez daha yavaş çalışmaktaydılar.

Bu dönemde makinenin hem tasarımını yapan, hem imalatını yapan, hem programlayan, hem işleten ve hem de bakımını yapan hep aynı küçük bir gruptu. Bütün programlama, kontrol panelindeki ilgili yerlere, ilgili kabloları takarak makine dili ile yapılırdı. İşletim sisteminin ise adı bile anılmamaktaydı. Sonraları 1950’ li yılların başında kartlı makinelerin gelişmesi ile programların kartlara yazılıp buradan okutulması sağlanmakla beraber, diğer olaylar tümüyle aynıydı.




  1. İkinci Nesil İşletim Sistemleri (1955-1965)

1950’ li yıların ortasında transistörlerin geliştirilmesi ile büyük bir devrim oldu. Bu dönemde bilgisayarlar müşterilerin işlerini yapabilecekleri düzeye geldiği için üretici firmalar tarafından satılmaya başladılar. Bu yıllarda, bilgisayar tasarımcıları, üreticileri, operatörler, programcılar ve bakım personeli kesin olarak birbirinden ayrıldılar.


Bu makineler yine de çok büyük ve çok pahalı olduklarından, çok büyük kapasiteli klima cihazları ile soğutma gerektirdiğinden ve çok büyük devlet daireleri ya da çok büyük özel sektör kuruluşları tarafından satın alınabildiler. Bu nesil bilgisayarlarda, kullanıcı her bir satırını bir karta yazdığı programını getirip eliyle sistem operatörüne verirdi.
Operatör kartları kart okuyucu cihazında okutur ve okunmuş seklini teyp bantına aktarırdı. Sonra sisteme derleyici bantını yükler ve arkasından da kullanıcının programının bulunduğu bantı yükleyerek derleme işlemini yapardı. Bu derleme işlemi tamamlandıktan sonra programın çalıştırılabilir halini 3. banta çıkar ve bunu tekrar sisteme götürüp çalıştırarak programın sonucunu yazıcıdan yazdırırdı.
Bu dönemde bundan sonra sağlanan en büyük aşama, derleyicinin bir defa yüklenmesinden sonra, çok sayıda farklı programcının programlarının 1 bant üzerine arka arkaya yüklenip çalıştırılması olanağı ile Yığın İşlem (Batch Processing) kavramının getirilmesi ve uygulamaya koyulmasıdır. Bundan önce bilindiği gibi her programcının programı için derleyici bantınıda bir defa yükleme zorunluluğu vardı. Bu nesil bilgisayarlar bilimsel ve mühendislik işleri için ve Fortran dili ile kullanılırdı. İşletim sistemi ise IBM’ in geliştirdiği ve 7094 makinelerin de kullanılan IBSYS’ di.


  1. Üçüncü Nesil İşletim Sistemleri (1965-1980)

1960’ lı yılların başına kadar üretici firmalar iki farklı üretim çizgisinde gittiler. Bir taraftan mühendislik ve bilimsel işlerde kullanılan bilgisayarlar, diğer taraftan da bankacılık ve sigortacılık şirketleri gibi ticari kuruluşlar tarafından kullanılan bilgisayarlar üretildi.


Ancak bu durum çeşitli sorunlar yarattığından IBM firması bu iki farklı yaklaşımı tek bir yapı üzerinde birleştirmek ve sorunları gidermek amacı ile 360 mimarisini duyurdu.
Bu nesil bilgisayarların mimari yapısındaki en önemli yenilik transistörlerin yerine entegre devlerin kullanılmış olması idi. Böylece makinelerin boyutları küçülürken, çıkardıkları sıcaklıkta binlerce kat azalmıştı. Bununla beraber kullanım açısından bu mimari yapının getirdiği en önemli yenilik ise “mutiprogramming” tekniği idi.
Eski nesil bilgisayarlarda, kart ya da bant okuma süresi boyunca CPU tamamen boş olarak beklemekte iken, bu nesilde belleğin parçalara ayrılıp, her parçada başka bir programın çalıştırılması sayesinde, örneğin bir program teypten okuma yaparken CPU atıl (boş) olarak durmamakta ve diğer programın gereksindiği hesaplama işini yapmakta idi.
Üçüncü nesil bilgisayarların getirdiği bir diğer önemli özellikle, aynı anda gelen çok sayıda program destelerinin, kendinden önce gelenin çalışıp bitmesini beklemeden arka arkaya okutulup disk üzerinden sıra ile çalışmayı beklemelerinin sağlanması idi. Bu olanağa “SPOOLİNG” (Simultaneous Peripheral Operation On Line) adı verilmiştir. Spooling tekniği, yazıcı gibi paylaşımlı kullanıma uygun olmayan ünitelerin kullanıcılar tarafından hiç beklemeksizin kullanabilmelerine olanak sağlamıştır.
Örneğin var sayalım ki, aynı bir yazıcıda yazılmak üzere aynı anda 3 farklı kullanıcı programı tarafından 3 tane çıktı gönderilse ne olur? Eğer işletim sistemi ve onun kaynakları yöneten fonksiyonları olmasaydı, kağıt üzerinde ilk 5 satır mesela 1. kullanıcının, sonraki bazı satırlar 2. kullanıcının ve diğer bazı satırlar da 3. kullanıcının olurdu ki bu tam bir kaos yaratırdı. İşte işletim sistemi örneğin sahip olduğu Spooling mekanizması sayesinde bu kullanıcılar tarafından gönderilen işleri disk üzerinde sıra ile biriktirir ve yazıcı ünitesinden de sıra ile birbirine karışmadan yazdırır.
Özet olarak Spooling;


  1. Paylaşımlı kullanıma uygun olmayan çevre ünitelerinin, kullanıcılar arasında birbirlerini beklemelerine gerek olmaksızın paylaşıyorlarmış gibi kullanmalarını sağlar.

  2. Hız bakımından birbirinden çok farklı üniteleri arasındaki bilgi transferinin etkin bir şekilde yapılabilmelerini sağlar.

Yine üçüncü nesil bilgisayarlarla gelen diğer bir özellik zaman paylaşımıdır (Time-Sharing). Bu yazılım teknolojisi ile de, aynı anda çok sayıda kullanıcının terminalleri başındayken çalıştırdıkları işlere yada terminal vasıtası ile olmasa da sistem üzerinde yığın işlem “Batch Processing” olarak çalıştırılan işlere CPU’ nun sıra ile ve kısa sürelerle tahsis edilmesi sağlanabilmiştir. Bu sayede hem sistemde çalıştırılan işlerin hepsi CPU’ yu kısa aralıklarla kullanabilmiş olmakta, hem de sistemde çalışan örneğin ekran başında oturan kullanıcılar CPU’ nun yalnızca kendilerine servis verdikleri hisisne sahip olurlar.




  1. Dördüncü Nesil İşletim Sistemleri (1980-....)

LSI (Large Scale Integration circuits) entegre devrelerinin gelişmesi ile ve binlerce transistörü ihtiva eden chiplerin 1 cm2 üzerine yerleştirilmesi ile kişisel bilgisayar (PC – Personal Computer) devri doğmuş oldu.


O dönemdeki kişisel bilgisayarlar mimari bakımından mini bilgisayarlardan farklı olmamakla beraber, fiyatı bakımından çok daha ucuzdular. PC’ lerin gelişmesi ve bunlar üzerinde çalışabilecek yazılımların, hiç bilgisayar bilgisi olmayan kişiler tarafından da kullanılabilir olması bu nesil bakımından evrim olmuştur. Bu nesilde iki tane işletim sistemi sektöre hakim olmuştur. Bunlardan bir tanesi Ms-Dos, diğeri de Unix’ dir.
1980’ li yılların ortalarında ilginç bir teknolojik yapılanmada başlamıştır. PC’ lerin Ağ İşletim Sistemleri (Network Operating System) ve Dağıtık İşletim Sistemleri (Distributed Operating System) ile kullanılmaya başlamasıdır.
Bir ağ işletim sisteminde, kullanıcılar ortamda çok sayıda bilgisayarın mevcut bulunduğunun farkında olurlar ve aynı zamanda uzaktaki başka bilgisayarlara Uzaktan Bağlanma (Remote Login) olabildikleri gibi dosyalarını bir bilgisayardan diğerine kopya edebilirler. Ağ işletim sistemindeki, en önemli özelliklerinde biri de, her makinanın kendi yerel işletim sistemi tarafından işletilmesi ve her makinenin kendi kullanıcılarına sahip olmasıdır.
Dağıtık işletim sistemlerin de, bunun tersine, gerçekte ortamda çok sayıda CPU, olduğu halde, ortamın kullanıcıya sadece geleneksel tek işlemcili gibi görünmesidir. Bir gerçek dağıtık sistemde, kullanıcılar programlarının nerede çalıştırıldığının ve dosyalarının nerede yerleşmiş olduğunun farkında olmazlar. Bu işlemlerin hepsi otomatik olarak ve etkin olarak işletim sistemi tarafından gerçekleştirilir.

  1. İŞLETİM SİSTEMLERİNDE TEMEL KAVRAMLAR





    1. Proses (Process)

Bir işletim sisteminde anahtar kavram Proses’ dir. Bir proses temel olarak “çalıştırılmakta olan bir program” dır. “Çalıştırılabilir bir program”, programın verileri, program sayacı, ve diğer bölümlerinden oluşan bir “veri yapısı” şeklindeki çatıdır.


Proses, yukarıda da belirtildiği gibi, bir “programın işletimi” ne verilen isimdir. Bir “kaynak program” durgun bir komutlar dizisi şeklinde bulunurken, proses bu komutlar dizisinin işletilmesi anındaki durumuna verilen isimdir. Kişisel bilgisayarlarda (PC), genellikle ortam tek kullanıcılı olmasına rağmen, zaman zaman işletim sistemine ilişkin prosesler de işletime alınmaktadır. Ancak yine de bu bilgisayarlarda çalışan işletim sistemlerinin bazılarının (MS-DOS) gibi tek iş düzeni (monoprogramming), bazıları ise kullanıcının kendisine ait farklı programları aynı anda işletime alabilmeleri nedeni ile (Windows işletim sistemi gibi) çok görevli (multitasking) özelliği taşıdığı söylenebilir.
Çok kullanıcılı olan, (multiuser) ve çok iş düzeni (multiprogramming) uygulanan sistemlerde ise, aynı anda birden çok işin işletilmesi zorunluluğu, CPU, bellek ve diğer sistem kaynaklarının bu işler (prosesler) arasında paylaştırılmasını gerektirir. Bu sistemlerde bu nedenle proses işletimi daha karmaşık bir hal alır.


  1. Dosyalar (Files)

İşletim Sisteminin temel bir fonksiyonu, disklerin, çevre üniteleri vs. ile ilgili özelliklerini tutmaktır. Dosya (file) yaratmak, okumak veya yazmak için sistem çağrılarına ihtiyaç vardır. Bir dosya okunmadan önce mutlaka açılmalıdır. Dosyalar ile ilgili bilgiler “ Dizinler (Directory)” şeklinde bir yapıdır.


Prosesler ve dosyalar hiyerarşik (iç içe dallanmış) bir yapıdadır. Ancak, proselerdeki hiyerarşi, dosyalardaki kadar derin ve kalıcı değildir. Proseslerin hiyerarşik yapıdaki yaşamları en fazla birkaç dakika sürerken dosyaların hiyerarşik durumdaki yapıları yıllarca sürebilir.


  1. İş (Job)

Kullanıcıların, bilgisayar sisteminde bağımsız bir bütün olarak ve belli bir sıra dahilinde işlenmesini istedikleri hizmetler kümesine “İş (Job)” denilebilir. Bilgisayarın sistemlerine gönderilen işler, bir veya birden fazla programın ayrı ayrı işletileceği alt adımlardan oluşabilir. İşler genellikle adımların art arda uygulanacağı biçimde düzenlenir. Her adım, bir öncekinin sonuçlanması üzerine işletime girer.


Bir örnek verecek olursak, günümüzdeki işletim sistemi olan MS-DOS işletim sisteminde “*.bat” uzantılı dosyalar bir anlamda iş adıyla adlandırılabilir.

  1. İstemci / Sunucu (Client/Server)

Modern İşletim Sistemlerin de genel eğilim, çekirdek (kernel) (DOS’ daki Command.com gibi düşünülebilir) en düşük düzeye indirip kullanıcıları etkileyen utility (yardımcı program) leri zenginleştirmektir. Örneğin, bir dosyadan bir blok bilgi okumak için bir istek talebi olsun. Bu durumda istemci proses’ i (client process), dosya sunucusuna (file server) bir istem gönderir. File server işi yapar ve sonucu işlemciye gönderir.


Bu model de Kernel (Çekirdek) istemcilerle sunusular arasında iletişimi sağlar. İşletim sistemini, “file server”, “proses server”, “memory server” gibi parçalara bölmek yönetimi daha kolaylaştırmıştır. Örneğin bir yazılım hatası (bug) sebebiyle sistemdeki “file server” in çalışmaz duruma gelmesiyle, dosya servisi durur ama sistemin tümü çökmemiş olur.


  1. Terminal (Sonda Bulunan)

Modern İşletim Sistemlerinde, istemci konumunda olan ve son uç olarak bulunan sistemlerdir. Fakat bu sistemler, iki türlüdür. Bunlardan birisi şu an kullanmakta olduğumuz şekli ile olandır. Yani, kendi işletim sistemini kullanarak istemci konumunda olanlardır. Diğeri ise, sistemi olmayan yani sadece monitör ve klavyeden oluşan sistemlerdir. Bunlara Dumb Terminal (aptal terminal) denir ve bunlar kendi içinde, özel kartla küçük bir server’ a bağlı olarak çalışır ve istemci durumunda bulunur. Örnek olarak bankalardaki memurların kullandığı bilgisayarları gösterebiliriz.




  1. Boot (Yeniden Başlatma)

İşletim sisteminin yaptığı işler bitirilip veya kayıtları tutularak yarıda kesilip işletim sisteminin tamamen kapatılması veya elektriğinin kesilip yeniden verilmesi ve işletim sisteminin yeniden başlatılmasıdır.



  1. İŞLETİM SİSTEMİNİN BAŞLICA ÖZELLİKLERİ

Bir işletim sistemi bir anda yalnızca bir kullanıcının bilgisayarı kullanmasına izin veriyor ve birden çok kullanıcının kullanmasına izin vermiyorsa, böyle bir işletim sisteminden bir grup çalışanın ortak kullanım sağlaması mümkün olmaz. Buna benzer olarak örneğin bir kullanıcı aynı bilgisayar üzerinde birden fazla programı aynı anda işletime almak istiyorsa, o işletim sisteminde “çok görevlilik” (Multitasking) özelliğinin bulunmasını aramalıdır.


İşte bunun gibi işletim sistemlerinin bir kısmında bulunan bir kısmında bulunmayan çeşitli özellikler, özellikle endüstride bir işletim sisteminden bahsedilirken üzerinde en fazla konuşulan hususları oluşturmaktadır. Bu nedenle endüstrideki günlük konuşma dilinde çok geçen bazı kavramlar incelenecektir.


    1. Batch Processing (Yığın İşleme)

İşletim Sistemine, okutulan programlar (Spooling sahası) denilen ve disk üzerindeki özel bir alanı kapsayan bölüme sıra ile ve arka arkaya okutulup biriktirilmeye ve sonra bu saha da derlenmek ve çalıştırılmak için bekleyen programların sıra ile derleme ve çalıştırılma işlemine tabii tutulması yöntemine geçildi. İşte bu yöntem “yığın işlem” in (Batch Processing) temellerini atmış oldu.


Yığın İşlem, bilgisayar sistemlerinin daha verimli kullanılmalarını sağlayarak, iş başına düşen sistem giderlerini azaltmıştır. Ancak bu olumlu yönünün yanı sıra 2 önemli sakıncası vardır. Bunlardan ilki iş yönetiminin durgun ve iş denetim dilinin olanakları ile sınırlanmış olmasıdır. Kullanıcı işletimde oluşan hataları çözümlemek için işin sonuçlanıp sonucun kendisine dönmesini beklemek zorundadır. Yani, işletim kullanıcının tamamen kontrolü dışındadır. İkinci sakınca, çoğu işletim ortamında işler sonuçlanmış olsalar bile çıktıların kullanıcıya ulaşması saatler sürebilmekte, buda verimliliği azaltmaktadır.
Kişisel bilgisayarlardaki “MS-DOS” işletim sisteminde “Batch Processing” yığın işleyen programları çalıştıran komutların bir dosya içine arka arkaya (ardışık) yazılması ile oluşan tek bir dosyanın çalıştırılması ile sağlanır. Bu dosya *.BAT uzantılı bir dosyadır. Örneğin, “Autoexec.bat” dosyası DOS yüklenirken otomatik olarak çalışan ve bu dosyanın içinde ardışık olarak yazılı durumda olan her deyimi sıra ile işleten bir nevi “Batch Processing” işidir.


    1. İnteractive Processing (Etkileşimli İşlem)

Etkileşimli işlem kullanıcılara, işlerini dinamik biçimde yönetme, çalıştırılan programların sonuçlarını doğrudan elde edip, her an müdahale edebilme olanağı sağlayan çalışma türüne ilişkin bir özelliktir. Bu çalışma türünde kullanıcılar, bir işin çalışma süreci boyunca işe, monitör ve klavye vasıtası ile her an müdahale edebilmektedirler. Yani bir başka söylemle, ekran başında oturan bir kullanıcının bilgisayara bir komut vermesi ve o komuta bilgisayardan yanıt alması türünde, bir nevi karşılıklı konuşma yapar gibi çalışma biçimine “Etkileşimli İşlem” denir.


Bu tanımdan da anlaşılacağı gibi, kullanıcılar program geliştirme, metin dosyaları oluşturma, program derleme ve test etme, veri tabanı sorguları işletme, bilgisayar ağı komutları girme, internet servislerini kullanma gibi kısa süreli işlerini Etkileşimli İşlem olarak yürütürler.
Bu yöntemin kullanıldığı işletim sistemleri tek kullanıcılı bir PC olabildiği gibi birlikte çalışan kullanıcı sayısı oldukça fazla olan bir ana bilgisayardaki işletim sistemi de olabilir. Terminal başındaki veya kişisel bilgisayar başında oturan kullanıcının çalışma şekli buna örnek olarak verilebilir. Etkileşimli işlemde, hizmet süreci:


  1. İşlenecek bilginin bilgisayara yöneltilmesi

  2. İşletim için beklemesi

  3. İşletim

  4. Sonuçların dökümü

  5. Kullanıcının inceleme süreci

Biçiminde 5 evreye ayrılır. Bilginin girilmesinden başlayarak, sonuçların dökümüne kadar geçen süre, Yanıt Süresi (response time) olarak adlandırılır. Yanıt süresi, işletim için gereksenen süreler kadar, işletim evresine geçmek için beklenen süreyede işletim dilimleri arasında ana işlem biriminin (CPU) başla kullanıcılara servis verdiği zamanlarda bu kullanıcının CPU’ yu beklediği sürelere de bağlıdır. Etkileşimli işlemde işletim sisteminin önemli fonksiyonlarından biri bu dilimlerin, kullanıcıların hiç birini fazla bekletmeyecek biçimde adil dağılmasını sağlamaktır. Yanıt süresi için, kesin bir üst sınırın çizildiği etkileşimli uygulamalar, yani uygulamaların yürütülebilmesi için tahammül edilebilir en uzun sürenin ne kadar olabileceğinin belirlenmesi, Gerçek Zamanlı (Real Time) sistemlerde yapılır.



Şekil 3. Etkileşimli İşlemlerde İşletim Süreci




    1. On Line Processing (Çevrim İçi İşlem)

“On Line” işlem, otomasyon (bankacılık işlemi gibi) uygulamalarında verilen sisteme sunuluş biçimini tanımlayan bir terimdir. Eğer veriler bilgisayar sistemine doğrudan bir biçimde ve işin sahibi tarafından bizatihi aktarılıyorsa yapılan uygulamaya On Line Processing denir.


Bu tür çalışma biçiminde bilgisayar sistemine bağlı uç birimlerde (başka illerdeki banka şubesindeki çalışanlar gibi), menüler aracılığı ile belirli bir otomasyon projesine yapılması istenilen bir işin gerçekleştirilmesi amacı ile veriler girilir. İşlemde bilgisayar sistemi tarafından anında uygulanır.
Örneğin bankacılık uygulamalarında müşteriler tarafından bankamatik cihazlarından geçekleştirilen para çekme, para gönderme, borsa işlemleri yapma gibi değişik bankacılık işlemlerine ilişkin veriler telefon hatları aracılığı ile doğrudan uygulamanın yürütüldüğü bilgisayar sistemine ulaşıyorsa yürütülen uygulama “On Line” işlemdir.


    1. Off Line Processing (Çevrim Dışı İşlem)

Off Line Processing, On Line İşlemlerin bir noktaya kadar uygulanıp daha sonrasında Batch Processing olarak yürütüldüğü uygulamalardır denilebilir. Belli bir mekan içinde bulunan bilgisayar sitemine veriler doğrudan girilmek suretiyle belli bir süre On Line olarak yürütülen otomasyon projesinde, biriktirilen veriler bir süre sonra asıl bilgisayar sistemine topluca aktarılarak işlenirse bu tür uygulamalara Off Line Processing adı verilir.


Örneğin, bir şehirdeki fabrikanın departmanlarındaki terminallerinden bir takım satış, envanter, sipariş gibi veriler fabrikanın merkezindeki bilgisayar sisteminde anında işlenirler. Akşama kadar girilen bu veriler daha sonra, fabrikanın bilgisayar sisteminden bir başka şehirdeki genel müdürlük binasında bulunan asıl bilgisayar sistemine aktarılırsa, yürütülen bu uygulama biçimine Off Line İşlem adı verilmektedir.


    1. Serial Processing (Seri İşleme)

Kişisel bilgisayar için kullanılan çoğu tek kullanıcılı (Single User) işletim sistemi, temel olarak Serial Processing yapmaktadır. Bu özellik, kullanıcının, komutları yada çalıştırmak istediği programların isimlerini klavye aracılığı ile arka arkaya girmesi yoluyla gerçekleşir. Kullanıcının yapmak istediği işleri bilgisayar ortamına birbiri ardı sıra aktarması işlemi Seri İşleme olarak anılır.


Örneğin, kişisel bilgisayarlardaki Ms-Dos işletim sisteminin bir kullanıcı kullanırken doğal olarak bir Seri İşlem uygulamaktadır. Çünkü, kullanıcı bir program çalıştırıyorsa bir sonraki yapmak istediği işi ancak bu programın çalışması tamamlanıp bittikten sonra uygulayabilecek, ondan sonrakini de ikincinin tamamlanıp bitmesinden sonra ancak yine yöneltebilecektir. Böylelikle yapılmak istenen işler kullanıcı açısından birbiri ardı sıra seri olarak bilgisayara yöneltilebildiği için bu tür bir kullanım biçimi seri işleme olarak adlandırılır.


    1. Monoprogramming (Tek İş Düzeni)

Monoprogramming yani tek iş düzeni, bir anda, bir işletim sisteminin yalnızca bir programı çalıştırabilmesidir. Bu yöntemde kullanıcı, CPU’ yu tümü ile tek başına kullanmaktadır. İşletimde oluşan hatalar, başka bir kullanıcıya yansımayacağı için, korunma önlemleri yalnızca İşletim Sistemi ile kullanıcı arasında ön görülür. Ancak, verimlilik düzeyi düşük bir özelliktir.


Bugüne kadar endüstride yerleşmiş olan PC’ ler de örneğin MS-DOS işletim sistemi ortamında bir muhasebe paket programının çalıştırılması gibi uygulamalar bu türdendir. PC’ ler de kullanılan MS-DOS işletim sistemi bilgisayarın CPU’ yu Monoprogramming özelliği ile kullandırmaktadır. Çünkü zaten tek kullanıcılı olduğundan, başka kullanıcıların da aynı bilgisayarı kullalanabilmelerine olanak tanımadığı gibi aynı kullanıcının aynı anda başka programların da işletilmesine mümkün kılmadığından, bir anda yalnızca bir kullanıcının bir programı işlete bilmekte, dolayısı ile tek iş düzeni (monoprogramming) ortamı olmaktadır.


    1. Time-Sharing Systems (Zaman Paylaşımı)

İşletim Sisteminde zaman paylaşımı, genel program geliştirme ortamına ek olarak, bilgisayar destekli tasarım ve metin işleme (text processing) sistemlerinde yaygın olan, Multiprogramming ve Multiuser özelliklerini kapsayan bir yaklaşımdır. Multiuser sistemlerin başlıca özelliklerinden bir tanesi, özellikle Time-Sharing desteği sayesinde de iyi bir yanıt süresi (response-time) göstergesi sağlamasıdır. İşletim sisteminin bu özelliği sayesinde, her kullanıcı, Mainframe sisteme tümü ile yalnız kendisi sahipmiş gibi çalışsa da, aslında time-sharing özelliği sistem kaynaklarını eşit bir şekilde kullanıcılara paylaştırma amacını taşır.


Bu yaklaşımda programlara belli zaman aralıklarında CPU’ yu kullanma hakkı verilir. Bu sürenin sonunda da program, (ya da kullanıcı) tekrar CPU kullanma sırasının kendisine gelmesini beklemesi için, bir bekleme kuyruğuna koyulur. Zaman paylaşımlı sistemlerde bellek yönetimi, birlikte çalışan programların birbirlerinden izolasyonunu ve bellek korunmasını iyi bir şekilde sağlar.


    1. Multiprogramming (Çok İş Düzeni)

Çok kullanıcılı bilgisayar sisteminde, bir çok farklı kullanıcılara ait işler aynı anda işletime alınabiliyorsa, bu işletim sistemi ortamına “Multiprogramming” yada çok iş düzeni denir. Multiprogramming başlangıçta, CPU’ nun boş olarak beklediği süreleri değerlendirmek için tasarlanmıştır. Sistemde çalışan bir kullanıcıya ait herhangi bir iş, bir Giriş/Çıkış (I/O) veya başka bir nedenle beklemeye geçtiğinde, CPU’ nun başka bir kullanıcının programını işletmeye tahsis edilmesini (atanması) ve böylece bu pahalı birimden daha fazla yararlanılması amaçlanmıştır. CPU ile I/O birimlerinin çalışma hızları arasındaki fark büyüktür. Örneğin dakikada 300 kayıt (record) okuyabilen bir teyp ünitesinden veri okuyan bir program, bir kayıt için 200 milisaniye beklemek zorundadır.


Not : 1sn = 1000 milisaniye, 1dk = 60000 milisaniye

1sn = 1000000 mikrosaniye ,

1sn = 1000000000 nanosaniye,
60000/300 =200 milisaniye =200000 mikrosaniye (1 kayıt okuma için geçen süre)
200000 / 2 = 100000 komut
Bir bilgisayar sisteminde işlem hızının 2 mikrosaniye olduğunu varsayalım. Bu durumda, bu örnekte teyp ünitesinden bir kayıt okumak için CPU’ nun bekleyeceği 200 milisaniyelik süre içinde CPU 100000 komut işleyebilirdi.
Görüldüğü gibi Multiprogramming genellikle ana bilgisayarlarda kullanılan işletim sistemlerinde olabilecek bir özelliktir. Bu özellik Multiuser özelliğininde olmasını gerektirir. Burada örneğin tek bir CPU bulunan sistem üzerinde çalışan işletin sistemi, bu sisteme aptal (Dumb) terminaller vasıtası ile erişen kullanıcıların programlarını aynı anda işletime alır ve her kullanıcının programına çok kısa sürelerle CPU’ yu kullandırarak bütün kullanıcıların programları aynı anda çalışıyormuş gibi olur.
Bir bilgisayarda belli bir anda CPU ancak bir kullanıcının programını çalıştırır. Yani, sistemde örneğin 25 kullanıcı varsa ve bunların hepsi kendi programlarını çalıştırıyorsa, multiprogramming ortamında bunların hepsi işletime alınır, fakat çalıştırma ile kast edilen CPU’ nun o sırada, yani çok kısa bir zaman süresi için (4’ er milisaniye gibi) bunlardan yalnızca sırası gelen bir programı işletmesi anlatılmaktadır.


    1. Multitasking (Çok Görevlilik)

Multitasking, bir işletim sisteminde bir kullanıcının, birden fazla sayıda prosesini aynı anda işletime alınabilmesi özelliğidir. Yani multitasking, bellekteki birkaç prosesi veriyi aynı anda işlemesi ve işlemci ile I/O ünitelerinin de bunlar arasında aynı anda kullandırılması ortamının yaratılmasıdır. Ancak bir bilgisayar sisteminde, işletim sisteminin kendisine ait birden fazla proses’ in aynı anda çalıştırılması, bu sistemde “multitasking” özelliği olduğunu göstermez. Bu nedenle bir işletim sisteminde multitasking özelliği, ancak bir kullanıcının birden fazla sayıdaki kendi prosesi aynı anda işletebiliyorsa vardır.


Bir çok uygulamanın (programın) aynı anda çalıştırılmasıdır. Bunun sağlanması için , görevler (uygulamalar) kısa zaman dilimleri içinde işlemcide çalıştırılır. Bu zaman dilimlerinin oldukça küçük zaman dilimleri olması nedeniyle yapay da olsa bir eş zamanlılık söz konusu olur (İşlemci aynı anda iki işi yapamaz). Bir örnek verelim;
Toplam çalışma süreleri aşağıdaki gibi olan 6 adet görev(task) olsun.
A işi 100 ms(milisaniye), B işi 1 ms, C işi 50 ms, D 3 ms, E 25 ms, F 90 ms
Bu prosesleri işletecek, iki sistem olduğunu farz edelim, bu sistemlerden birisi görevleri, bir görev bitmeden diğerine geçmeyecek biçimde işletsin. İkinci sistem de, görevleri çok görevliliğe göre çalıştırsın ve görevlerin çalışması için gereken kısa zaman dilimini 1 ms olarak alsın. Birinci sistemde A görevi bitmeden B görevi başlayamayacaktır. Yani 1 ms' lik görev çalışabilmek için 100 ms’ lik görevin bitimini bekleyecektir. B görevinin, bitimi için toplam geçecek süre, 101 ms olacaktır. İkinci sistemde ise bu A görevi 1 ms çalışır. Ardından B görevine 1 ms verilir. Zaten B görevi 1 ms’ lik bir görev olduğundan hemen bitecektir. Yani B görevinin bitimi için gerekli süre 2ms’ dir.
Bütün görevlerin toplam bitim süresi bakımından iki sistem arasında fark yoktur. Tek farklılık yukarıda anlatılan örnekte belirtilen avantajdan kaynaklanır. Kısa görevler daha çabuk biter ve kendisinden önce gelen uzun görevleri beklemez. Windows işletim sisteminde birden çok pencere açmak gibi.

    1. Multiuser systems (Çok Kullanıcılı Sistemler)

Multiprogramming’ i destekleyen işletim sistemleri, genellikle çok sayıda kullanıcının sistemi çeşitli amaçlarla kullanmalarını sağlar ki, bu sistemlere çok kullanıcılı sistemler (Multiuser System) denir. Bu özellik sayesinde her kullanıcı sisteme ayrı bir terminalden ya da bir bilgisayar ağına bağlı kendi bilgisayarından kendisine ait hesabını (userid) şifresi ile birlikte girerek sisteme erişmiş olur. Bu nedenle multiuser sistemler kullanıcı seviyesinde daha yüksek bir güvenlik (security) ve koruma (protection) mekanizmaları sağlamaya ek olarak kullanıcının sistem jaynaklarını kullanma düzeylerini (accounting) saptamaya ve izlemeye yarayan mekanizmalar içerir.


Buradan anlaşılmaktadır ki, bir işletim sisteminin multiuser özelliği varsa, o sistem genellikle multiprogramming de desteklenmektedir.


Yüklə 0,52 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   16




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə