İ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.
a)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ı.
b)İ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.
c)Üçü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;
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.
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.
d)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.