Bugün sizlerle birlikte bilgisayarları kullanmamızı sağlayan işletim sistemlerinin çalışma mantığını inceleyeceğiz. Ortalama bir bilgisayar kullanıcısı için zorunlu olan işletim sistemleri bilgisayar donanımı ile kullanıcı arasında bir aracı olarak görev yapar.

İlk işletim sistemi mantığını, daha doğrusu programlanabilir bilgisayar mantığını, Charles Babbage ortaya atmıştır. Fark Makinesi adını verdiği, matematik işlemlerini yapan bu makine tamamen bitmemiş olsa da günümüzdeki bilgisayarların ve işletim sisteminin temelini oluşturmuştur. Bundan yaklaşık 100 yıl sonra 1946’da ilk dijital bilgisayar olarak nitelendirilebilecek ENIAC 1946’da icat edildi. İlk işletim sistemi mantığı 1940’larda askeri amaçla kullanılan bilgisayarlara dayansa bile onlar tam olarak işletim sistemi olarak sayılmıyor aslında. Gerçek zamanlı ilk işletim sistemine bakacak olursak 1981’de Stern tarafından geliştirilen işletim sistemi diyebiliriz. Ardından QNX, Amiga ve Windows 95‘lere uzanan ve gelişen işletim sistemleri göreceğiz.

İşletim sistemleri temel anlamda bilgisayar sisteminin kullanımını kolaylaştıran bir kontrol programı olarak nitelendirilebilir. İşletim sistemleri, bilgisayar donanımı ile programlar arasında bir köprü kurarak kullanıcıların bilgisayar sisteminden kolayca yararlanabilmelerini sağlayan bir yazılım olarak nitelendirilebilir. I/O (Input/Output) aygıtlarını ve kullanıcı programlarını kontrol eder. Bunları yaparken bilgisayar donanımını verimli bir şekilde kullanmayı amaçlar. İlk önce Driver(sürücü) kavramının ne anlama geldiğini inceleyelim. Sürücü, donanımlar ile bilgisayar arasında iletişim sağlayan bir yazılımdır. Donanım markaları genelde kendi sürücülerini kullanıcıya sunar. Bilgisayara yüklenen sürücü donanımın çalışmasını ve güncelleme almasını sağlar. Peki bilgisayarda kullanıcı komutları işletim sistemleri tarafından nasıl alınır? Nasıl bir işlem sırası ile gerçekleşir?

Aslında bu soruların cevabı Kernel yani çekirdekten geçiyor. Peki çekirdek nedir? Çekirdek, işletim sisteminin çekirdeğidir. Genel anlamda Çekirdek, yazılım ve donanım arasında hiç durmaksızın çalışan ve iletişimi sağlayan bir yazılımdır. Shell yani Kabuk olarak adlandırdığımız kısım ise komut yorumlayıcı olarak görev yapar. Kullanıcının sisteme verdiği komutları anlayan ve çalıştıran bir programdır.

Yani bilgisayarınızda kullanıcı arayüzünde yaptığınız bir işlemde(örnek olarak bir klasörü açmak) ilk önce bunu yapmak istediğiniz zaman bir sistem çağrısı oluşturursunuz. Bu sistem çağrısı Kabuğa ulaşır ve Kabuk kullanıcının yaptığı işlemleri işler ve yorumlar. Ardından bunları çekirdeğe ulaştırır. Çekirdek ise bu iletiyi aldıktan sonra kendi sürücüsü sayesinde donanıma ulaşır ve işlem gerçekleşir.

RAM(Random Access Memory) ise bilgisayarınızda çalışan programların hızlı erişebilirliğini arttırmak için kullanılan bir sistem parçasıdır. İşlemcide yani, CPU’da, aynı anda bir işlem yapılırken sırada bekleyen diğer işlemler geçici olarak RAM’de depolanıyor. CPU işlemi bitirdiğinde bekleyen diğer işlemleri sırasıyla RAM’den alır. Genel olarak RAM, anlık olarak yaptığınız işlemleri geçici olarak depolar ve hızlı bir şekilde bu işlemleri görebilmenizi sağlar.

İşlemci(CPU) ile Kernel(Çekirdek) Arasındaki Farklar Neler?

İşlemci bir donanımdır. İşlemcinin çalışması için ona yazılımlar yolu ile talimat verilmesi gerekir. Çekirdek ise yazılımdır. Çekirdek, kabuk sayesinde aldığı işlemleri işlemciye yaptırır. Bu sırada işlemcide yapılacak işlemleri planlar ve yönetimini sağlar. Herhangi bir işletim sisteminin çekirdeği, fiziksel sistemin tüm kaynaklarına sınırsız erişimi olan bir katman olma özelliğine sahiptir. Çekirdeğin görevleri:

Bellek yönetimini sağlamak ve hangi işlemlerin hangi bölümlere erişmesine izin verildiğini takip etmek, hangi işlemlerin ne zaman ve ne kadar süreceğini planlamak ve video bağdaştırıcıları, disk sürücüleri, USB bağlantı noktaları ve bu bağlantı noktalarına bağlı aygıtlar gibi belirli donanım parçalarına erişimi denetleyen sürücüler ile doğrudan iletişim halinde kalarak tamamlanan işlemleri iletmek.

Kısaca Çekirdek, çalışan birçok programdan herhangi birinin işlemciye ne zaman atanması gerektiğine karar verir.

Kullanılan işletim sistemleri servisleri ise işletim sisteminin donanım parçalarını en üst verimlilikte kullanmasını sağlar. İşletim sistemi servisleri:

  • Kullanıcı Arayüzü
  • Program Yürütülmesi
  • I/O İşlemleri
  • Dosya Sistemi İdaresi
  • Hafıza Yönetimi
  • Hata Tespiti ve Kontrolü
  • Kaynak Paylaşımı
  • Koruma ve Güvenlik

Çekirdek, Kernel modunda çalışır. Bu işlem seviyesinde çalışan kod, donanıma ve sistemin tamamına müdahale edebilir. Uygulama programları ise kullanıcı modu denilen daha kısıtlı bir seviyede çalışır. Kullanıcı modunda çalışan uygulamalar, çekirdeğin ya da başka uygulamaların bellek bölgelerine erişemezler.

İşletim sistemlerinde belirli katmanlar vardır. Bu katmanlar birbirlerine bağlıdır ve aralarında daima bir iletişim vardır. Bu katmaların izinleri de katmana göre değişiklik gösterir.

  • Uygulama Katmanı > Kabuk(Shell) Katmanı > Çekirdek(Kernel) Katmanı > Donanım Katmanı

Uygulama Katmanı: Kullanıcının kullandığı programlar bu katmanda yer alır.

Kabuk(Shell) Katmanı: Genellikle kullanıcı arayüzü denilen kullanıcı ile bilgisayarın arasındaki iletişimini sağlayan ara birimdir.

Çekirdek(Kernel) Katmanı: Kabuk katmanından alınan komutlar doğrultusunda donanım katmanı ile iletişime geçer ve gerekli işlemleri yürüten katmandır.

Donanım Katmanı: Donanım elemanlarını barındırır.

Peki bilgisayar açılana kadar hangi işlemler gerçekleşir?

Bilgisayarın güç düğmesine bastıktan sonra güç ünitesi çalışır ve donanımlara çalışma enerjisi sağlanır. Ardından Anakart’ta bulunan ROM’da saklı olan BIOS yazılımı aktif hale gelir. BIOS, donanımların yazılımlarını çalıştırır. ROM(Read Only Memory) dediğimiz birim ise RAM’den farklı olarak salt okunur bir birimdir ve içindeki bilgiler kolay kolay değiştirilemez. İçindeki veriler herhangi bir elektrik kesintisinde kaybolmaz.

Bilgisayar diski tanımlandıktan sonra işletim sistemini yüklemek için boot aktive edilir ve verileri belleğe yükler ardından işletim sistemi yüklenmeye başlar. Bu esnada işletim sistemi yükleme ekranında kullanıcı arayüzü ve kullanılacak yazılımlar belleğe yüklenir. Yüklemeler tamamlandıktan sonra masaüstü karşımıza gelir.

Genel olarak işletim sistemlerinin çalışma mantığı ve hangi bölümlerden oluştuğuna değinmeye çalıştık. Aslında yaptığımız küçük bir işlem bile arka planda birçok bölümden geçiyor ve bunlar kimi zaman milisaniyelerle oluyor.

1 YORUM

BİR CEVAP BIRAK

Please enter your comment!
Please enter your name here