İşletim Sistemi Nedir? İşletim Sistemi Nasıl Çalışır?

Bilgisayarlarımızdaki işletim sistemlerinin nasıl çalıştığını merak ediyor musunuz? Peki işletim sistemi nedir sorusuna ne kadar doğru cevap verebilirsiniz? Aradığınız tüm cevaplar, yazımızda sizleri bekliyor...

İşletim sistemi nasıl çalışır?

Bilgisayarlarımız, hepimizin bildiği gibi çeşitli donanımların birleşmesinden oluşuyor. Tüm bu donanımlar ne kadar uyum içinde çalışırsa, bilgisayarımızdan alacağımız verim de o kadar yüksek olacaktır. İşte bu uyumu sağlayan ise, temel olarak kullandığımız işletim sistemidir.

Kullandığınız işletim sistemi Windows olabilir; Linux olabilir, eğer Apple markalı bir bilgisayarınız varsa MacOS olabilir... Fakat hangisi olursa olsun, işletim sisteminin tam olarak ne olduğunu ve ne yaptığını söyleyebilir çoğumuz söyleyemeyiz. Çoğumuz için işletim sistemi, bilgisayarı açtığımızda yüklenen ve karşımıza renkli ikonlarla dolu olarak çıkan bir yazılımıdır. Ama diğer tüm yazılımların aksine, işletim sistemi bir bilgisayarın adeta donanımı gibidir ve onu tanımlamamızı sağlayan unsurlardandır. Örneğin, bilgisayarımızın özelliklerini saydığımızda; işlemcisi, ekran kartı ve belleğinin yanında genellikle işletim sistemine de yer veririz.

İşletim Sistemi Nedir?

Çeşitli donanımların derlenmesinden meydana gelen bilgisayarlar; anakart, işlemci, bellek modülleri, ekran kartı, sabit disk, monitör gibi donanım bileşenlerinden ve klavye, fare gibi çeşitli giriş aygıtlarından meydana gelir. Söz konusu masaüstü bilgisayarlar ise, tüm bu bilgisayar bileşenlerinden istediğimiz birini kolaylıkla değiştirebilir ve bilgisayarımızı parça parça yenileyebiliriz. Laptoplar ise, çoğu donanımı değiştirmemize izin vermez ama bazı temel parçalar (sabit disk, RAM) değiştirilebilir. Bilgisayarların sahip olduğu bu esneklik, bilgisayarların modüler yapısı kadar, tüm bu değişiklikleri mümkün kılan işletim sistemi sayesinde gerçekleşir. Yani işletim sistemi, bilgisayarların temel yazılımı olarak tanımlanabilir. İşletim sistemlerinin var olan tüm donanımlarla uyumlu çalışabilecek şekilde tasarlanmaları, onları tekdüze yazılımlar olmaktan çıkarır.

İşletim Sistemini Başlatmak

Anakart

Bir işletim sisteminin nasıl çalıştığını öğrenmeye en başından, bilgisayarımızın açma tuşuna basmamızla birlikte neler olduğunu anlayarak başlayalım. Bilgisayarımızın açma tuşuna basmamızla birlikte, anakartın üzerindeki ROM yongasında saklanan küçük bir yazılım harekete geçer. BIOS, EFI ya da UEFI olarak bilinen bu yazılım, ilk olarak çevre aygıtlarını ve sistem bileşenlerini saptayan ve tüm bu donanımların dahili yazılımlarını çalıştıran, POST adı verilen rutin işlemleri gerçekleştirir.

BIOS oldukça eski bir sistemdir ve ilk olarak DOS PC'ler döneminde kullanılmıştır. Günümüzde bilgisayarların yetenekleri, DOS işletim sistemine sahip atalarına göre inanılmaz gelişme göstermiştir, ancak kullanılan BIOS'lar halen küçük hafıza yongaları üzerinde çalışan küçük programlardır.

EFI ise, BIOS'un halefi olarak tasarlanmıştır ve birçok artıya sahiptir. En temel artıları; 2TB ve üstü disk desteği, daha kısa açılış süresi, 32 veya 64 bit kodlamayı ve donanım sürücülerini desteklemesidir.

UEFI, EFI'ye göre çok daha fazla ayar sunar. Ayrıca fare ile de kontrol edilebilen, çok daha kullanışlı bir arabirime sahiptir.

POST işlemlerinin en önemli adımı, bilgisayardaki diskleri tanımlamak ve yükleme (boot) diski olarak tanımlanan aygıttaki yazılımı başlatmaktır. Bu yazılım bir işletim sistemi olabileceği gibi, herhangi bir yükleme diski de olabilir.

İşletim Sistemine Geçiş

POST işlemlerinin sonunda BIOS, belirtilen diskteki ana yükleme kaydını (MBR) bulur ve buradaki verileri sistem belleğine yükleyerek çalıştırır. Çalıştırılan bu kodlar, diskteki aktif birincil bölümü tanımlar ve bölümdeki açılış yükleyicisinin çalıştırılmasını sağlar. Bu yükleyici, Bölüm Açılış Kaydı (Partition Boot Record) adı verilen bölümde bulunur.

Yükleyici dosya sistemlerine erişme yeteneğine sahiptir ve daha fazla dosyayı belleğe yükleyerek işletim sisteminin çalıştırılmasını sağlamakla sorumludur. Bunu yaparken, gerekli dosyaları belleğe yükledikten sonra işletim sisteminin kendi yükleyicisini çalıştırır. İşletim sisteminin açılış görevini devralmasıyla birlikte, işlemci 32 veya 64 bit moda geçirilir ve sistem yüklemesi tamamlanır.

BIOS yerine EFI veya UEFI destekli bir anakarta sahipseniz, açılış adımları büyük ölçüde aynı olsa da küçük ama önemli bir fark ortaya çıkacaktır. Bu da EFI arayüzünün dosya sistemlerine erişebilmesi sayesinde, yükleyicilerden faydalanmak yerine işletim sistemi yükleyicisini doğrudan çalıştırabilmesidir.

İşletim sistemi yüklenmeye başladığında ilk olarak, yöneteceği donanımları ve sistem aygıtlarını başlatır. Bu donanımlar içerisinde; işlemci, bellek, ekran kartı gibi modüler bileşenlerin yanında, anakart üzerindeki dahili bileşenler de bulunur. Bunun yanında, kullanıcı arayüzü ve ağ desteği gibi, işletim sistemi için gerekli birçok yazılım da belleğe yüklenerek çalıştırılır.

İşletim Sisteminde İşlemci Yönetimi

İşlemci

İşletim sisteminin yönettiği diğer bir şeyse işlemci zamanlamasıdır. Günümüz bilgisayarları genellikle, birkaç işlemi aynı anda yürütebilen birden fazla işlemci çekirdeğine sahiptir. Ama yürütülen işlem sayısı, tabii ki çekirdek sayısının çok üzerindedir.

Sayısız işlemin aynı anda yürütüldüğü bilgisayarlarımızda karşılaşılan en önemli sıkıntılardan birisi, işlemcilerin aynı anda tek bir işlemi yürütebilmesidir. Bu noktada imdadımıza yetişen işletim sistemi, işlemler arasında hızla geçiş yaparak, yürütülen her bir işleme küçük bir zaman dilimi tanır ve aynı anda birden çok işlemin yürütülebilmesini sağlar.

Yürütülen her bir işlem için, işlemciyi belli bir süre tahsis eden işletim sistemi, işlemin bitmesi veya tanınan işlem süresinin dolması ardından, yürütülen işlemi durdurup kaydederek, sıradaki işlemin yürütülmesi için aynı döngüyü uygular.

Bazı zamanlarda bu döngü yarıda kesilerek, başka bir işleme dönülmesi gerekebilir. Bu gibi durumlarda işleme tanınan süre yarıda kesilerek, öncelikli olan işlem yürütülür. Bu amaçla işletim sistemi, yürütülen işlemleri öncelik sırasına göre de düzenleyerek, sistem işleyişi için kritik öneme sahip işlemlerin, diğer işlemlerden önce tamamlanmasını sağlar.

İşletim Sisteminde Bellek Yönetimi

Tüm modern işletim sistemleri, uygulamaların bellek kullanımını yöneten ve sanal bellek desteği sağlayan bellek yönetim hizmetlerine sahiptir. Farklı programların, birbirlerinin bellek alanlarına müdahale etmesini engellemek amacıyla işletim sistemi, uygulamaların fiziksel belleğe doğrudan ulaşmasını engeller. Bunun yerine, bilgisayarın sahip olduğu fiziksel ve sanal belleği haritalandırır ve programların, bir bellek sanallaştırma yöntemi olan tanımlayıcı tablo aracılığıyla haritalanan belleğe ulaşmasını sağlar.

Bu sayede işletim sistemi, bellek kullanımı açısından önemli bir esneklik kazanır ve çalışan programı etkilemeden, programın bellek kümesini istediği şekilde taşıyabilir. Böylece, kullanılmayan bellek bloğunu, takas dosyasına taşıyarak aktif olmayan programların fiziksel belleği işgal etmesini önler. Bu sayede, sistemin sahip olduğu fiziksel belleği aşan bellek ihtiyaçları da karşılanabilir.

Uygulamaların, sistem belleğine bir tanımlayıcı tablo aracılığıyla erişmesinin işletim sistemine sağladığı avantajların birisi de, farklı kullanıcıların aynı programı birbirinden bağımsız olarak kullanabilmelerini mümkün kılmasıdır. Böylece farklı kullanıcılara ait uygulamalar, birbirinin bellek alanına müdahale edemez ve bu sebeple kaynaklanacak uygulama hataları da engellenir.

İşletim Sisteminde Dosya ve Klasörler

İşletim sistemine ait bir diğer sanallaştırma hizmeti de dosya sistemidir. Bilgisayar sabit diskleri, verilerin bulunduğu konumu mantıksal blok adresleriyle tanımlar. Bu adres ise saklanan verinin sürücünün kaçıncı sektöründe olduğunu belirtir. Bu adres, sabit disklerin disk kontrolcüsü tarafından fiziksel değerlere (kafa, iz, plaka) çevrilerek veriye ulaşılır. SSD sürücülerdeyse, mantıksal adresler, bellek adreslerine dönüştürülerek aynı yöntem uygulanır.

İşletim sisteminin kullandığı dosya sistemi, tüm bu mantıksal adres yapısını kullanıcılardan ve programlardan gizleyerek disk üzerindeki verileri, hiyerarşik bir klasör-dosya yapısıyla düzenlenmiş gibi gösterir. Bu sebeple, herhangi bir diski kullanmadan önce işletim sisteminin desteklediği uygun bir dosya sistemi ile biçimlendirmek gerekir.

Dosya sisteminin sağladığı bu kolaylık sayesinde programların tek yapması gereken, işletim sistemine belli bir klasörde dosya oluşturması, silmesi veya değiştirmesi gerektiğini belirtmek olur.

Tüm bu kullanıcı dostu adresler ve karmaşık mantıksal adresler arasındaki çevrim işlemlerini işletim sistemi gerçekleştirir. Böylece kullanıcılar ve yazılımlar, disk üzerindeki verilerin fiziksel konumunu düşünmeksizin, sanal olarak yaratılmış hiyerarşik klasör ve dosya yapısı sayesinde verilere kolayca ulaşır.

İşletim Sisteminde API'ler

Dosya sistemi sanallaştırması örneğinde olduğu gibi, işletim sisteminin kullanıcı uygulamalarına sağladığı bir diğer servis de uygulama programlama arayüzleridir (Kısaca: API). Bunlar, internet tarayıcı veya kelime işlemcisi gibi kullanıcı uygulamalarının, sistem kaynaklarına erişmesine aracı olan ve işletim sistemi tarafından sağlanan yardımcı eklentilerdir. Örneğin, bellek yönetimi, dosya ve klasör yönetimi, ağ yönetimi gibi işlemleri yazılımlar açısından kolaylaştıran API'ler mevcuttur.

API'ler, işletim sistemi üzerinde çalışan tüm uygulamaların sistem kaynaklarına erişebilmeleri için standart bir yol sağlar. Böylece uygulamaların, mevcut donanıma ait bilgilere sahip olması gerekmez ve örneğin ağ erişimi için, bir ses çalmak veya bir şeyi ekranda görüntülemek için sadece API'leri tanıması yeterli olur.

API'lerin uygulamalar ve donanımlar arasındaki bu köprüyü oluşturabilmeleri içinse, donanım sürücülerine ihtiyaç duyulur. Bu sürücüler, tasarlandıkları donanımın fonksiyonlarının nasıl kullanılacağı ve işletim sisteminin API'leri ile nasıl iletişime geçeceği bilgilerini sağlar.

Okuyucu Yorumları