İŞLETİM SİSTEMLERİNİN SINIFLANDIRILMASI

İşletim sistemlerini değişik şekilde sınıflandırabiliriz. Bu sınıflandırma ana belleğin düzenlenmesi, aynı anda kaç değişik program çalıştırdığı ya da kaç kullanıcıya hizmet verdiği gibi özelliklere dayanabilir. Biz burada, aşağıda ayrıntıları açıklanan yedi değişik sınıflandırma yapacağız:

 1. Tek Kullanıcı Tek Görev

En basit işletim sistemleri aynı anda tek kullanıcıya hizmet verebilir ve tek program çalıştırabilir. Bu programların bilgisayardaki tüm kaynaklara (bellek, disk gibi) tam erişim hakkı vardır.

Çalışmakta olan program zaman zaman kesilerek işletim sisteminin yapmakla sorumlu olduğu işler yerine getirilebilir. Bu işlemler sistemin saatinin ve tarihinin ilerletilmesi ya da klavyeden girilen bir tuşun kaydedilmesi olabilir.

İşletim sisteminin tek kullanıcılı sistemlerde bu şekilde program kesebilme özelliği bellekte “yerleşik” programların geliştirilmesini sağlamıştır. Bir kesme üretildiği zaman işletim sistemi daha önce belleğe yüklenmiş fakat çalıştırılmamış bir programı devreye sokabilir. Bu programın durmasıyla birlikte kontrol tekrar eski programa döner. Bu yolla tek kullanıcılı sistemlere değişik programları aynı anda çalıştırabilme özelliği eklenmiştir. Birden fazla yerleşik program bellekte birlikte tutulabilir. Burada dikkat edilmesi gereken nokta toplam bellek kapasitesinin aşılmamasıdır.

MS-DOS bu işletim sistemlerine örnektir.

2. Tek Kullanıcı Çok Görev

 Birçok bilgisayar kullanıcısı için bilgisayarında tek bir program çalıştırmak yeterli olacaktır. Birçok uygulama için bu yeterlidir. Bununla birlikte bir program çalıştırmak bilgisayar kaynaklarını etkili bir biçimde kullanmayı engeller. Örneğin, bir bilgi işlem programında yazılan programın yazıcıya aktarılması yazıcının bu dokümanı basmasına oranla çok daha hızlıdır. Eğer tek program çalıştırılabiliyorsa merkezi işlemci yazıcının işinin bitmesini beklemek zorundadır.

Çok görevli çalışabilmeye çok programlı çalışmak denir. Bu terim birden fazla programı paylaşımlı şekilde çalıştırabilme yeteneği için kullanılır. Merkezi işlemci değişik programları sırayla çalıştırdığında ve sürekli olarak birinden diğerine çok süratli geçiş yaptığında bu programların paralel çalıştıkları izlenimi doğmasına yol açar.

Değişik kaynakları kullanan programlar bir arada çalıştırıldıklarında bu yöntem çok verimli olur. Bu durumda bir program örneğin, yazıcıyı beklerken, diğer bir program merkezi işlemciyi kullanabilir.

 

Bu tür işletim sistemlerine örnekler IBM OS/2 ve Microsoft Windows’tur.

3. Çok Kullanıcı Tek Görev

Bilgisayar kaynaklarının verimli kullanılmasına bir çözüm de kaynaklara birden fazla kullanıcının erişmesine izin vermektir. Burada koşul her kullanıcının aynı programı kullanmasıdır. Bu sistemde her kullanıcı merkezi bilgisayara bir terminal yoluyla bağlanır ve bilgisayar sistemindeki kaynaklara diğer kullanıcılarla zaman paylaşımlı olarak erişir. İşletim sistemi, merkezi işlemciyi programlar arasında hızlı bir şekilde anahtarlar.

Bu tür uygulamalar için güçlü merkezi işlemcilere gereksinim vardır. Eğer bilgisayar arızalanırsa tüm kullanıcılar çalışmalarını durdurmak zorunda kalır.

Buna karşılık çok kullanıcı tek görev ilkesine göre çalışan işletim sistemleri kullanıcıların veri tabanı türü kaynakları paylaşmalarına ve birbirlerine mesaj göndermelerine olanak sağlar.

 

Bu işletim sistemleri özel uygulamalarda kullanılmaktadır.

4. Çok Kullanıcı Çok Görev

Bu işletim sistemleri zaman paylaşımı ve çok görevli çalışma kavramlarını birleştirir. Birçok kullanıcı aynı anda birden fazla programı çalıştırabilir.

Genellikle daha güçlü bilgisayarlarda çalışan bu tür işletim sistemlerine UNIX iyi bir örnektir.

5. Çok işlemcili Çalışma

Çok işlemcili bilgisayarlarda birden fazla merkezi işlemci bulunur ve bunları denetleyen işletim sistemleri programlardaki komutları bu işlemciler üzerinde paralel olarak çalıştırır.

Çok işlemcili sistemlerde programlar tam anlamıyla paralel olarak, aynı anda çalışırlar. Bu bağlamda en büyük avantajları hızdır.

Çok işlemcili sistemler genellikle büyük boy bilgisayarlarda ve süper bilgisayarlarda çalışır. Günümüzde mikro işlemci tabanlı çok işlemcili sistemler de gelişmektedir. Çok işlemcili sistemleri dört ana gruba ayırabiliriz.

 

  • Homojen çok işlemciler

Bu sistemlerde tüm işlemciler birbirlerinin aynısıdır. İşletim sistemi işlemlerin ana belleğe erişimini koordine eder.

 

  • Homojen olmayan çok işlemciler

Bu sistemlerde merkezi işlem birimleri birbirlerinin aynısı değildir ve her biri özel amaçlı olarak kullanılır.

 

  • İki boyutlu (matris) işlemciler

Bu matrisler birbirlerine eşdeğer işlemcilerden oluşmuşlardır ve tek kontrol birimince

yönlendirilip senkronize edilir. Genellikle bilimsel ve matematiksel uygulamalarda kullanılan veriler üzerindeki hesaplamaları yapmak için kullanılır.

 

  • Boruhattı (Pipeline) işlemciler

Bu sistemlerde bir programın değişik komutları aynı anda çalıştırılır. İşlemciler bir fabrikanın üretim hattı gibi düzenlenmiştir. Matris işlemciler gibi hesaplamaları hızlı yaptıkları için daha çok bilimsel ve matematiksel hesaplamalar için kullanılır.

 

6. Ağ İşletim Sistemleri

 

Bilgisayar ağları, kullanıcılara programları çalıştırmak için oldukça güçlü bilgisayarlar sağlamanın yanında disk, yazıcı, yazılım ve verileri paylaşma olanağı vermektedir. Bu işlemler yapılırken genellikle Ağ İşletim Sistemleri (Network Operating Systems) istemci/sunucu (client/server) arasındaki ilişkiyi düzenlemekle yükümlüdür. Bu ilişkilerin içinde en önemlisi aynı dosyalara erişen kullanıcıların yaptıkları değişikliklerin algılanması ve dosyanın en son halinin her zaman kullanıma açık tutulabilmesidir.

Diğer bir gereksinim de, paylaşılan kaynakların en verimli şekilde kullanılmasının sağlanmasıdır. Örneğin; ortak kullanılan yazıcı ve disklere kullanıcılar adil olarak ve yetkileri dahilinde erişebilmelidirler.

Mikrobilgisayarlar üzerinde çalışan işletim sistemleri genellikle bilgisayar ağlarını desteklemektedir.

7. Gerçek zamanlı (Real Time) İşletim Sistemleri

Bu işletim sistemleri genellikle endüstriyel kontrol uygulamalarında çalışan bilgisayarlar için yararlıdır. Kontrol ettikleri sistemler ya da işlemler ile ilgili veriler alarak gerçek zamanda yapılması gerekeni yaparlar.

İşletim Sistemi Kavramları

 

Tüm işletim sistemlerinde ortak olan ve çeşitli görevleri yerine getirirken uygulanan bazı temel prensipler vardır. Aşağıda bunların bazılarını ve karşılaşılabilecek kilitlenme (deadlock problemini özetleyeceğiz.

1. Sanal Bellek

Bilindiği gibi programlar çalıştırılmadan önce ana belleğe yüklenmeli ve oradan çalıştırılmalıdır. Eğer yazılımlar ana belleğe sığmazsa ne olur? Bu durumda sanal bellek (Takas Dosyası- Swap File) olarak adlandırılan teknikten yararlanılır. Bu teknikte ikincil bellek ana belleğin devamı gibi görülür ve program parçaları ana bellek ve disk arasında taşınarak çalışan parçaların ana bellekte kalması sağlanır. Bu işlem, işletim sistemi tarafından otomatik olarak gerçekleştirilir.

İşletim sistemleri, sanal belleği uygulayabilmek için programları eşit büyüklükte parçalara (sayfa) böler. Bu sayfalar program mantığından bağımsız olarak belirlenir. İşletim sistemi bir sayfa tablosu tutar ve bunun sayesinde hangi sayfanın ana bellekte hangi sayfanın diskte olduğunu izler. Eğer bir program parçası çalıştırılacaksa ve bu sayfa o anda ana bellekte ise program çalıştırılır. Buna karşılık eğer o sayfa diskte ise önce çalıştırılacak program parçasının bulunduğu sayfa diskten ana belleğe aktarılır. Daha sonra bu program çalıştırılır.

Aktarım işleminin oldukça fazla zaman alması ve programların tam sayıda sayfa doldurmamasından dolayı son sayfada belleğin ziyan olması sanal belleğin en büyük dezavantajıdır.

Buna karşılık çalıştırılabilir program boyutlarını artırması nedeniyle bu yöntem yararlıdır. Ana belleğin sayfalarının dolması halinde hangi sayfanın değiştirileceği konusunda çeşitli algoritmalar geliştirilmiştir: Bunlardan ikisi aşağıda özetlenmiştir.

 

  • İlk Gelen İlk Çıkar Yapısı (FIFO: First In First Out)

Ana belleğe ilk gelmiş olan sayfa ilk olarak diske geri gönderilir. Bu yaklaşımın uygulaması oldukça basit olmasına karşılık verimlilik kriterleri fazlaca gözetilmemiştir.

 

  • En Uzun Kullanılmayan Yapısı (LRU: Least Recently Used)

Bu yapıda sayfalanın kullanımı dikkate alınır ve ilk olarak en uzun süredir kullanılmayan sayfa bellekten atılarak diske geri gönderilir.

2. Semaforlar

 Biraz önce, bir bilgisayarda aynı anda birden fazla programın çalıştığını ve bunların kaynakları ortak olarak paylaştığını belirtmiştik. Bir anda hangi programın çalıştığına ve hangi kaynağa eriştiğine işletim sistemi karar verir.

Şimdi, bir programın bir dosyaya eriştiğini, buradan bir kaydı okuduğunu ve değiştirmek istediğini düşünelim. Tam bu sırada program kontrolü başka bir programa geçsin ve bu programda aynı dosyada aynı kayda erişsin. Bu kayıt değiştirilirse iki durum ortaya çıkabilir:

 

  • Birinci program tekrar çalışmaya başladığında kayıttaki değişiklikten habersiz yeni bir değişiklik yapar,

 

  • İkinci program değişiklik yaptığını düşünerek başka işlemlerde bu kaydı kullanabilir, oysa bu sırada kayıt başka bir değer almıştır.

Bu durum istenen bir durum değildir ve engellenmesi gerekir. Bunu yapmak için bazı işlemler kritik olarak sınıflandırılır ve kritik işlemleri yapmakta olan programların çalışmaları işletim sistemi tarafından durdurulmaz. Bir programın kritik bölgede olduğu da semafor denilen bayrakların kurulmasıyla anlaşılır. Kritik işlemler atomiktir. Yani ya hepsi çalıştırılır ya da hiç çalıştırılmaz.

3. Kilitlenmeler

 Bazı durumlarda iki veya daha fazla proses birbirlerine atanmış kaynakları bekledikleri için ikisi de çalışamaz duruma düşebilir. Bu duruma kilitlenme (deadlock) denir. Örneğin bir proses yazıcıyı kullanırken diske erişmek isteyebilir. Bu sırada başka bir proses diski kullanıyor olabilir ve yazıcıyı bekleyebilir.

Kilitlenme oluşabilmesi için

  • paylaşılamayan cihazlar için erişim rekabeti olması,
  • bir kaynağa bir kereden fazla erişinim teşebbüsünün mümkün olması,
  • atanmış bir kaynağın zorla serbest bırakılamaması,

durumlarının birlikte oluşması gerekmektedir.

Kilitlenmenin ortadan kaldırılabilmesi için bu durumlardan herhangi birisinin oluşumunu engelleyen yöntemler geliştirilmiştir.

Önemli İşletim Sistemleri

 İşletim sistemlerini;

  • jenerik, yani çeşitli makineler üzerinde çalışabilen ve
  • yalnızca bir makineye özgü, olarak ayırabiliriz.

Aşağıda bunlarla ilgili kısa bilgi vereceğiz.

1. MS-DOS İşletim Sistemi

 MS-DOS (MicroSoft Disk Operating System), Microsoft firmasının geliştirdiği bir DOS sistemidir. 1980’li yıllarda PC uyumlu platformlar üzerinde kullanılan en yaygın işletim sistemiydi. Masaüstü bilgisayarlardaki popülerliğini, zamanla yeni nesil Windows işletim sistemlerine bıraktı.

MS-DOS, ilk olarak 1981 yılında piyasaya sürüldü. Microsoft firmasının bu ürünü geliştirmeyi 2000 yılında durdurdu. MS-DOS’un tam sekiz ana sürümü vardır.

Eski olmasına rağmen, MS-DOS hala kişisel bilgisayarlarda yaygın olarak kullanılan bir işletim sistemidir.

MS-DOS tek kullanıcılı ve tek görevli bir işletim sistemidir. Değişik üreticilerin makinelerinde çalışmakla birlikte yine de IBM ve Microsoft tarafından lisans altında olduğu için tam anlamıyla jenerik bir işletim sistemi olarak sınıflandırılamaz.

MS-DOS, UNIX işletim sisteminden bazı kavramları almıştır. Komutlara dayalı bir işletim sistemidir. Son sürümlerinde bazı menü tabanlı ara yüzler geliştirilmiştir. Çok yaygın olarak kullanılan bu işletim sistemi altında çalışan çok sayıda program geliştirilmiştir.

MS-DOS’ un 3.30’ dan sonraki sürümleri şöyledir;

  • MS-DOS 3.30
  • MS-DOS 4.01
  • MS-DOS 5.0
  • MS-DOS 6.0
  • MS-DOS 6.20
  • MS-DOS 6.22
  • MS-DOS 7.0
  • MS-DOS 8.0 …

 

2. OS/2 İşletim Sistemi

 

OS/2, IBM ve Microsoft tarafından geliştirilmiş tek kullanıcılı ve çok görevli bir işletim sistemidir. DOS altında geliştirilmiş bir çok programı DOS uyumlu pencerede çalıştırabilir. DOS gibi komut bazlı bir işletim sistemi olmakla birlikte ek olarak bir de grafik tabanlı pencere ortamı içermektedir. Sunum yöneticisi denilen ara yüzle kullanım kolaylığı artmıştır.

OS/2’de DOS’tan ayrı olarak bir program çalışırken yeni bir ekran grubu açılarak yeni bir program çalıştırılabilir. 16 ekran penceresini aynı anda çalıştırabilir.

OS/2 altında çalışan uygulama programlarının sınırlı olması nedeniyle beklenildiği kadar yaygınlaşmamıştır.

3. UNIX İşletim Sistemi

 UNIX çok kullanıcılı ve çok görevli bir işletim sistemidir. 1969 yılında, Ken Thompson ve Dennis Ritchie tarafından Bell laboratuvarlarında geliştirilmiş daha sonra da üniversitelere dağıtılmıştır. C programlama dili ile yazılmış ve programlama kodu ile araştırmacılara verilmiş olduğundan önemli gelişmeler ve eklere sahip olmuştur. Bugün hemen hemen tüm platformlarda çalışabilen jenerik bir işletim sistemidir.

UNIX kontrolündeki bilgisayarlarda bir çok kullanıcı aynı anda bir çok programı çalıştırabilir. Bunun yanı sıra birçok servis programı ve program kütüphanesinin varlığı program geliştirmeyi kolaylaştırmaktadır.

Yeni başlayanlar için öğrenilmesi ve kullanılması zor bir işletim sistemi olması UNIX’in olumsuz bir yönüdür. Bununla birlikte Internet’in UNIX üzerinde durduğunu söylemek yanlış olmaz.

4. Windows İşletim Sistemi

 İş grupları için Windows ve Windows NT işletim sistemi PC’lerde en yaygın kullanılan işletim sistemleridir. İş grupları için Windows, MS-DOS gerektirmektedir. Windows 2000 ise kendi başına, MS-DOS olmadan çalışabilen ve internet bağlantılarını oldukça verimli gerçekleştiren bir işletim sistemidir.

MS-DOS’tan sonra Windows serisinin ortaya çıkması ile grafik arayüzü olan bir işletim sistemlerinin kullanıma girmesi PC kullanıcılarını oldukça rahatlatmıştır.

Windows NT istemci/sunucu (client/server) dediğimiz ikili bir mimari ile çalışır. Bu sistemde bir sunucu çevresindeki istemciler grafik arayüzü olan bir bilgisayar ağı oluştururlar.

Windows CE ise, el ve cep bilgisayarları dediğimiz portatif bilgisayarlar üzerinde kullanılan bir Windows işletim sistemidir ve bu bilgisayarların daha büyük boy bilgisayarlarla bilgi paylaşımını sağlar.

 

Microsoft Windows’un tarihi

MS-DOS tabanlı: 1.0 | 2.0 | 3.0 | 3.x | 95 | 98 | Me
NT tabanlı: NT 3.1 | NT 3.5 | NT 3.51 | NT 4.0 | 2000 | XP | Server 2003 | FLP | Vista

 

5. Macintosh/MacOS İşletim Sistemi

 Bu işetim sistemi Motorola Firmasının mikroişlemcileri üzerinde çalışırlar. Grafik arayüzü olan ilk işletim sistemi MacOS’tur.

Macintosh işletim sistemi ailesinin son sürümüdür ve Apple tarafından Macintosh bilgisayarları için tasarlanmış bir işletim sistemidir [3].

Bu işletim sistemi diğer işletim sistemlerine grafik arayüzü açısından öncülük etmiştir. Macintosh bilgisayarlarının satışına paralel olarak sınırlı yaygınlaşabilmiştir.

6. Linux İşletim Sistemi

 Linux, Linus Torvalds adında Finlandiyalı bir bilgisayar mühendisinin 1991 yılında Helsinki Üniversitesi’nde bir öğrenci iken Intel’in yeni işlemcisi 80386’nın korumalı mod mimarisini denemek üzere geliştirmeye başladığı bir işletim sistemi çekirdeğidir. İnternette yaptığı duyuru sonucunda tüm dünyadan birçok programcının da desteği ile hızla gelişmiş ve halen aynı destek ile gelişmekte olan açık kaynak kodlu, özgür bir yazılımdır [2].

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close
Join me: