İşletim Sistemi
İşletim sistemi, bir bilgisayarın donanım ve yazılım kaynaklarını yöneten ve kullanıcı ile bilgisayar arasındaki etkileşimi sağlayan temel yazılımdır. Bilgisayarın açılmasıyla birlikte çalışmaya başlayan işletim sistemi, tüm donanım bileşenlerini yönetir, uygulama programlarının çalışmasını sağlar ve kullanıcı komutlarını yerine getirir. Bir bilgisayarın tüm işlevlerini sorunsuz bir şekilde gerçekleştirmesi için işletim sistemi gereklidir.

İşletim Sistemi Görevleri
- Kaynak Yönetimi: İşlemci, bellek, depolama birimleri (hard disk, SSD vb.), giriş-çıkış cihazları (klavye, fare, yazıcı vb.) gibi donanım kaynaklarını yönetir. Böylece, her bir yazılım veya uygulama, ihtiyaç duyduğu kaynaklara doğru şekilde erişebilir.
- Dosya Yönetimi: Bilgisayardaki dosyaları oluşturur, saklar, düzenler ve gerektiğinde siler. Dosyalar arasında düzenli bir yapı oluşturarak verilerin kolayca bulunmasını ve kullanılmasını sağlar.
- Kullanıcı Arayüzü: Kullanıcıların bilgisayarı kolayca kullanabilmesi için bir arayüz sunar. Bu arayüz grafiksel olabilir (Windows veya macOS gibi) veya komut satırı tabanlı (Linux’ta terminal veya MS-DOS gibi) olabilir.
- Görev Yönetimi: Aynı anda birden fazla işlemin (multitasking) yapılabilmesini sağlar. Bu işlemler arasında geçiş yaparak, bilgisayarın çoklu görevleri eşzamanlı gerçekleştirebilmesine olanak tanır.
- Güvenlik ve Erişim Kontrolü: Kullanıcıların ve yazılımların sisteme erişimini kontrol eder, yetkisiz erişimleri engeller, şifreleme ve kullanıcı yetkilendirmeleri gibi güvenlik önlemlerini sağlar.
- Hata Yönetimi ve Bakım: Sistem hatalarını ve donanım arızalarını tespit eder, bunları raporlar ve bazı durumlarda otomatik olarak düzeltir.
Popüler İşletim Sistemi Türleri
- Windows: Microsoft tarafından geliştirilen bu işletim sistemi, kişisel bilgisayarlarda en çok kullanılan işletim sistemidir. Grafik arayüzü ve geniş yazılım desteği ile tanınır.
- macOS: Apple tarafından geliştirilen macOS, Mac bilgisayarlarda kullanılan işletim sistemidir. Güçlü bir kullanıcı arayüzü, stabilite ve Apple ekosistemiyle uyumlu çalışmasıyla öne çıkar.
- Linux: Açık kaynak bir işletim sistemidir ve çok sayıda farklı dağıtımı bulunur (Ubuntu, Fedora, Debian, Armbain gibi). Özellikle sunucularda ve yazılım geliştirme alanında yaygın olarak kullanılır.
- Android: Mobil cihazlar için Google tarafından geliştirilmiş bir işletim sistemidir. Linux tabanlıdır ve dünya genelinde en çok kullanılan mobil işletim sistemidir.
- iOS: Apple’ın iPhone ve iPad gibi mobil cihazlarında kullanılan işletim sistemidir. Güvenlik ve Apple cihazlarıyla uyumu ile bilinir.
İşletim Sisteminin Tanımı
Modern bir bilgisayar sistemi, bir veya birden fazla işlemci (ya da diğer bir söylemle “CPU”), gerçek bellek (RAM), saatler, terminaller, diskler, bilgisayar ağı (network) birimleri, yazıcı üniteleri, CD sürücüsü, disket ve teyp üniteleri gibi I/O ünitelerinden oluşmaktadır. Doğal olarak bir bilgisayar sistemi oldukça karmaşık bir yapıdadır.
En büyüğünden en küçüğüne, bütün genel amaçlı bilgisayarlarda çalışan programlar, bir işletim sistemine gereksinim duyarlar. Bu yüzden bilgisayarlarda herhangi program çalıştırılmadan önce İşletim Sistemi ile programların ana belleğine (RAM) yerleştirilmeleri gerekir. Bu işlem genellikle bilgisayar ilk açıldığı zaman otomatik olarak yapılır ve HHD’ deki İşletim Sistemi ana belleğe yüklenir.
Bir işletim sisteminden beklenen hizmet, donanım ve yazılım kaynaklarının uyumlu ve verimli bir şekilde birlikte işletilmesidir. Örneğin kullanıcı Cobol veya Pascal dili ile geliştirdiği uygulama programını, bir bilgisayar sisteminde çalıştırabilmesi için, uygulama programı ve verilerini yazabileceği bir disk ünitesi, verilerini yazdıracağı yazıcı ünitesi, bu programı işletecek işlemci (CPU) ve gerçek bellek gibi donanım birimlerinin yanı sıra derleyici (compiler), yükleyici (loader) ve network yazılımları gibi yazılım birimlerine de ihtiyaç vardır.

İşletim sistemini, bir bilgisayar sisteminde kullanıcı ile iletişim kurarak, donanım ve yazılım nitelikli kaynakların kullanıcılar arasında adil bir biçimde paylaştırılmasını ve donanım ile yazılım birimlerinin etkin bir biçimde kullanılmalarını sağlayan sistem programları topluluğuna denir.
İşletim Sistemi, bilgisayar donanımı ile bilgisayar kullanıcısı arasında bir arayüz (interface) görevini gören programlar topluluğudur. Bu programlar topluluğunun genel amacı, bilgisayar kullanıcılarına programlarını çalıştırabilecekleri ortamı yaratmak ve bilgisayar sisteminin etkin ve verimli olarak kullanılmasını sağlamaktır.
İşletim Sisteminin Tarihçesi
İlk gerçek “Sayısal Bilgisayar” İngiliz matematikçilerinden (1792-1871) tarafından tasarlanmıştır. Ancak onun yaşadığı yıllarda teknoloji yetersizliklerinden, tasarladığı makinelerde işletim sistemleri mevcut değildi. 1.4.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ı.

İ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.

Üçü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 hissine sahip olurlar.

Dördüncü Nesil İşletim Sistemleri (1980-Günümüz)
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.
Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.