İşletim sistemleri kullanıcı, yazılım ve donanımın merkezinde bulunan onlara köprü görevi gören yönetici yazılımlardır.
Cahrles Babbage’nin 19. yüz yılda teorik olarak işletim sisteminin temelini atsa da 1947’de transistörün icadına kadar modern anlamdaki bir işletim sisteminden bahsedemeyiz. (Bilgisayar ve bilişim tarihi yazısı için buraya tıklayabilirsiniz. )
Yine de teorik olarak Babbage’ni fikrinden 19. Yüzyıl – 1950’ye kadar dönem 1. Dönem işletim sistemleri kullanılmıştır. Transistörler henüz yoktur. İşlemler vaum tüpleri veya mekanik düzeneklerle yapılır.
1955-1965 yılları arasındaysa hantal ve büyük bilgisayarlar için prototip işletim sistemi oluşturulmaya başlanmıştır. İlk prototip işletim sistemi General Motors’un IBM’e yaptırdığı işletim sistemidir. Bu döneme 2. Dönem işletim sistemleri denmektedir. Bu dönemde transistörler kullanılmaya başlanmıştır.
1966-1980 yıllarında 3. Dönem işletim sistemleri kullanılmıştır. Transistörler yerlerini entegre devrelere bırakmıştır. İlk grafiksek kullanıcı arayüzlü bilgisayar satışa sunulmuştur. Xerox bu bilgisayardan 2000 taneyi üniversiteler için üretmiştir. 1981’de ise 16.000USD’ye satışa sunmuştur. Pahalı olması nedeniyle satış adetleri düşüktür. Bilgisayarta Alto Executive işletim sistemi bulunmaktadır.
1980-2015 arasında 4. Dönem işletim sistemleri kullanılmıştır. Kişisel bilgiayarların kullanımı yaygınlaşmıştır. Microsoft’un ürettiği MS-DOS yerini kullanıcı iletişimli Windows’a bırakırken Apple ise kullanıcı arayüzüne sahip ilk kişisel bilgisayar olan Lisa’yı üretmiştir. Linux’ün kullanımı da yine bu dönemde başlamıştır. Şu an bu yazıları okuduğunuz sunucunun işletim sistemi Linux’dür.
2015 yılından sonra ise 5. Dönem işletim sistemleri ni kullanmaktayız. Bu dönemde Android ve IOS gibi mobil işletim sistemi yaygınlaşmıştır. Bu dönemde kişisel bilgisayarlar yerlerini akıllı saatlere, akıllı televizyonlara bırakmaktadır. Yine bu dönemde Derin öğrenme, nöral ağlar, nesnelerin interneti gelişmeye başlamıştır.
Bu sistemler, cihazınızın açma tuşuna bastığınız an devreye girer. Cep telefonlarında Elma veya Android logosu veya bilgisayarlarınızın markasını gösteren genelde siyah arkaplanlı imajlar BIOS’un çalışmaya başladığı andır. BIOS ingilizce Basic Input Output System yani temel giriş çıkış sistemi demektir. BIOS cihazın donanım kontrolonü yapar ve bir problemle karşılaşıldığında işletim sisteminin yükmlemesini durdurur ve uyarı mesajı üretir. BIOS’da hata oluşmazsa Harddiskten işletim sistemi bilgileri RAM’e yüklenir.
Bu sistemlerde dosya yönetimi, bellek yönetimi, aygıt yönetimi ve süreç yönetimi fonksiyonları bulunmalıdır.
Dosya yönetimi işletim sisteminin bel kemiğidir. Bu özellikle zamanla artan veya işletim sistemini profesyonel olarak kullanan kullanıcıların ürettiği dosya sayısındaki artıştan kaynaklanmaktadır. Dosya izinleri nasıl olacak, dosyalar nelere göre sıralanacak, bul fonksiyonu nasıl çalışacak ve nasıl gösterilecek, dosyaların kim tarafından oluşturulduğu ve hangi versiyonları olduğu gibi bilgiler dosya yönetiminin içerisindedir.
Özellikle uzman kullanıcıların sıklıkla kullandığı bir fonksiyondur. Cihaza hangi aygıtların bağlı olduğu, hangi sürücüleri kullandığı, aygıt özellikleri gibi özelliklerini gösterirken kullanıcının yazılım sürüm değiştirmesine, aygıtı kaldırmasına veya değiştirmesine imkan vermektedir.
Cache Bellek ön bellek demektir. Kapasitesi çok düşüktür fakat RAM’den bile çok daha hızlıdır. Bu nedenle adresler gibi hızlı değiştirilmesi gereken fakat çok yer kaplamayan bu bilgiler Ön Bellek’e yazılır.
Cache Bellek Hızı > RAM Hızı > Sabit Disk Hızı
Bu hızla ters orantılı olarak kapasite değişmektedir.
İşletim sistemleri çalışan yazılımları, donanımları ve kullanıcı girdilerini anlık olarak yönetir ve onları bir önceliğe koyar. Örneğin büyük bir dosyayı kopyaladığınızı düşünelim işletim sistemi bunu yaparkan siz bir internet sayfasını açmak isteyebilirsiniz. Bu durumda işletim sistemi kopyalama işlemine anlık bir kesme gönderir ve sizin istediğinizi yapar. Sizin ihtiyacınız bittiğinde arkaplanda dosyayı koyalamaya devam eder. Bu olmasaydı bir işlem yaparkan o işlem bitmeden başka bir işlem yapamazdık. İşletim sistemi bazı özel durumlarda bunu yapamaz ve işletim sisteminde donmalar meydana gelir. Bu durumda cihazımızı yeniden başlatmak zorunda kalırız.
İşletim sistemleri Kernel (Çekirdek), Kabuk (Shell) ve GUI (Graphical User Interface) yani kullanıcı grafik arayüzü’nden oluşurlar.
Çekirdekler işletim sisteminin merkezidir. Uygulama güncellemeleri sıklıkla olurken kernel çekirdek güncellemelere daha uzun sürelerde radikal değişikliklerde yapılır. Donanımlarla Shell’den (Kabuk) ‘dan gelen isteklerin koordineli ve senkron bir şekilde çalışmasını sağlayan programlardır. Çekirdek yazılımları işletim sistemi üreticileri tarafından geliştirilirler ve güncellenirler.
Monolitik ( Tek Parça) Çekirdekler: Eski çekirdek yazılımlarıdır. MS-DOS örnek verilebilir.
Mikro Çekirdekler: Tek çekirdek yerine daha düşük kapasiteli fakat daha fazla çekirdek mantığyla kullanılmıştır.
Ekzo Çekirdekler: MIT’de geliştirilmiştir. Uygulamanın çekirdek kullanımını özelleştirebilmesi mantığıyla kullanılmaktadır.
Melez Çekirdekler: Modern çekirdek türüdür. Windows, Mac OS, Android, IOS melez çekirdek mantığıyla çalışmaktadır. Tek çekirdek ve mikre çekirdeklerin birlikte kullanılmasıyla oluşturulmuştur.
Kabuklar yukarıdaki şekilden de anlaşılacağı üzere çekirdeğin etrafında bulunan; kullanıcı arayüzünden aldığı talepleri API’ler (Application Programming Interface) yardımıyla çekirdeğe ileten katmandır. Kabuklar farklı yerlerdeki binlerce kütüphaneyi kullanarak gerekli taleplerin gerçekleştirilmesi için çekirdeği kullanır.
KLavyeyi, mausu, apple kalemi veya dokunmatik cihazları kullanmamızı sağlayan arayüzlerdir. Eski bilgisayarlarda şu konuma git ve şunu aç için kullanılan bir sürü kod yerine basit bir dokunmayla istediğimiz uygulama çalışmaya başlamaktadır. Kullanıcı arayüzleri sayesinde işletim sistemi yaygınlaşmış gelişmiş ve herkesin kullanabileceği seviyeye evrilmiştir.
İşletim Sistemleri açık kaynak kodlu ve kapalı kaynak kodlu olarak ikiye ayrılır. Linux gibi özgür yazılımlar açık kaynak kodlu yazılımlar olurken Windows, IOS gibi ticari işletim sistemi kapalı kaynak kodlu yazılımlardır. Açık kaynak kodlu yazılımlar herkes tarafından özgürce ve ücretsiz olarak kullanılır. Herkes kendi ihtiyaçlarına göre açık kaynak kodlarını geliştirebilir. Kapalı kaynak kodlarını ise sadece üreticisi geliştirebilir ve görebilir.
İletim Sistemlerinin Kullanım Alanına Göre Sınıflandırılması aşağıdaki şekilde yapılabilir:
Web Sunucu, E-posta Sunucu, Oyun Sunucusu, Veritbanı Sunucusu gibi ihtiyaçlara cevap veren işletim sistemidir. Yüksek kullanıcı sayıları, yüksek ve komplex işlem talepleri ve karışık işlem türlerini yönetecek, bunu yaparken de güvenli olacak bir işletim sistemi ihtiyacından doğmuştur. Sunucu işletim sisteminin GUI’si kullanıcı ara yüzleri çok gelişmemiştir. İşlemler genelde kodlarla yapılır. Centos, Windows Server, RedHat, Suse, Debian, Ubuntu Server, Fedora, Debian, Solaris, MacOS Server birer sunucu işletim sistemidir. Aşağıda bir sunucu işletim sistemi olan Centos üzerine kurulmuş olan Direct Admin yazılımı gösterilmiştir. Kernel ve Shell’lerden oluşmuş bir sunucu yazılımının GUI eksikliği DirectAdmin yazılımı tarafından karşılanmıştır ve DirectAdmin CPanel ve Plesk gibi ticari olarak satılmaktadır.
Artık 5. Nesil işletim sistemlerini kullanıyoruz. 5. nesilde cep telefonarı, tabletler, akıllı saatler birer mobil işletim sistemini kullanmaktadır. Mobil’de gereksinimler farklı olduğundan kişisel bilgisayar ve sunuculardan çok daha basittirler fakat 8K kamera kaydı ve 4K oynatma, nabız ölçme gibi özelleştirilmiş yetenekleri açısından da çok daha gelişmiş olan işletim sistemidir.
En çok kullanılan mobil işletim sistemleri aşağıdaki gibidir:
iOS: Apple’ın ürettiği bir mobil işletim sistemidir. iPhone, iPad, iPod gibi Operation Sistem işletim sisteminin başına i getirilmesiyle isimlendirilmiştir. 20017 yılında ilk iphone ile yayınlanmıştır. Açık kaynak kodlu olan Unix tabanlı Darwin işletim sistemi üzerine kurulmuş kapalı kaynak kodlu bir işletim sistemidir. Apple TV’ler de iOS kullanmaktadır. Apple Store dışından uygulama yüklenememektedir. (Rootlanmadığı yani kırdırılmadığı sürece) Kırdırılmış bir iOS ise güncellenemez ve güvenli değildir.
Android: 2003 yılında Android isimli şirket tarafından oluşturulmuştur. 2005 yılındaysa Google tarafından satınalınmıştır. Linux çekirdeği kullanan Android Java, C ve C++ ile yazılmıştır. Android Studio yazılımıyla birlikte Android uygulamaları yapılabilmektedir.
Windows Mobile: Temelleri 1996’da atılmıştır. Ticari ufak tabletlerde kullanılmıştır. 2019’da ise yenildiğini kabul eden Microsoft sektörden çekilme kararı almıştır.
Tizen: Açık kaynak kodlu, Linux üzerine kurulan bir işletim sistemidir. Daha çok Otomobil, TV, saatler, gibi ticari uygulamalarda kullanılmaktadır.
Symbian: 1997 yılında geliştirilmeye başlanan ve Nokia zamanında 1 numaralı mobil işletim sistemi durumunda olan Symbian iOS ve Android ile yarışamamış ve gelişimini durdurmuştur.
Bada: Yine Linux üzerine Samsung tarafından geliştirilmiştir. 2013 yılında Samsung’un Tizen’e geçme kararı sonrası geliştirilmesi durdurulmuştur.
KaiOS : Linux tabanlı kapalı kaynak kodlu bir mobil işletim sistemidir. Amerika ve Hindistan’da kullanılmaktadır. Düşük özellikteki ucuz telefonlarda kullanılmaktadır. Geliştirilmeye devam etmektedir.
Ubuntu Touch: Unix tabanlı bir mobil işletim sistemidir. Masaüstü versiyonu olarak da kullanılabilmektedir.
Laptop veya Masaüstü bilgisayarlarda kullanılan işletim sistemleridir. En bilineni Windows iken Mac OS zamanla gelişim göstermektedir. Bunun yanında açık kaynak yazılım olan Linux ve Ubuntunun da kullanımı zamanla artmaktadır.
Sadece bir veya bir kaç görevi yapmak için özel olarak tasarlanmış işletim sistemleri de vardır. Modemler, Arabalar, Buz Dolapları ve Hatta kahve makinelerinin çkerdeği ,kabuğu ve kullanıcı arayüzleri olan işletim sistemleri vardır. Bu işletim sistemleri özel olarak tasarlandığından daha stabil, daha hızlı ve daha güvenli çalışırlar ve ayrıca gereksiz kütüphanelerle donatılmadığından çok az yer kaplamaktadırlar.