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

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

Kullandığınız işletim sistemi Windows olabilir; Linux olabilir, şayet Apple markalı bir bilgisayarınız varsa MacOS olabilir... Ancak 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. Fakat öbür tüm yazılımların bilakis, işletim sistemi bir bilgisayarın adeta donanımı üzeredir 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 çoklukla 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 üzere donanım bileşenlerinden ve klavye, fare üzere çeşitli giriş aygıtlarından meydana gelir. Kelam konusu masaüstü bilgisayarlar ise, tüm bu bilgisayar bileşenlerinden istediğimiz birini çarçabuk değiştirebilir ve bilgisayarımızı modül kesim yenileyebiliriz. Laptoplar ise, birden fazla donanımı değiştirmemize müsaade vermez fakat kimi temel kesimler (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 halde tasarlanmaları, onları tekdüze yazılımlar olmaktan çıkarır.

İşletim Sistemini Başlatmak

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, birinci olarak etraf aygıtlarını ve sistem bileşenlerini saptayan ve tüm bu donanımların dahili yazılımlarını çalıştıran, POST ismi verilen rutin süreçleri gerçekleştirir.

BIOS hayli eski bir sistemdir ve birinci olarak DOS PC'ler periyodunda kullanılmıştır. Günümüzde bilgisayarların yetenekleri, DOS işletim sistemine sahip atalarına nazaran inanılmaz gelişme göstermiştir, lakin kullanılan BIOS'lar hala 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 dayanağı, daha kısa açılış müddeti, 32 yahut 64 bit kodlamayı ve donanım şoförlerini desteklemesidir.

UEFI, EFI'ye nazaran çok daha fazla ayar sunar. Ayrıyeten fare ile de denetim edilebilen, çok daha kullanışlı bir arabirime sahiptir.

POST süreçlerinin en kıymetli 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 üzere, rastgele bir yükleme diski de olabilir.

İşletim Sistemine Geçiş

POST süreçlerinin sonunda BIOS, belirtilen diskteki ana yükleme kaydını (MBR) bulur ve buradaki bilgileri sistem belleğine yükleyerek çalıştırır. Çalıştırılan bu kodlar, diskteki faal birincil kısmı tanımlar ve kısımdaki açılış yükleyicisinin çalıştırılmasını sağlar. Bu yükleyici, Kısım Açılış Kaydı (Partition Boot Record) ismi verilen kısımda bulunur.

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

BIOS yerine EFI yahut UEFI dayanaklı bir anakarta sahipseniz, açılış adımları büyük ölçüde birebir olsa da küçük ancak kıymetli bir fark ortaya çıkacaktır. Bu da EFI arayüzünün belge sistemlerine erişebilmesi sayesinde, yükleyicilerden faydalanmak yerine işletim sistemi yükleyicisini direkt çalıştırabilmesidir.

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

İşletim Sisteminde İşlemci İdaresi

İşletim sisteminin yönettiği öbür bir şeyse işlemci zamanlamasıdır. Günümüz bilgisayarları ekseriyetle, birkaç süreci birebir anda yürütebilen birden fazla işlemci çekirdeğine sahiptir. Ancak yürütülen süreç sayısı, olağan ki çekirdek sayısının çok üzerindedir.

Sayısız sürecin birebir anda yürütüldüğü bilgisayarlarımızda karşılaşılan en değerli dertlerden birisi, işlemcilerin birebir anda tek bir süreci yürütebilmesidir. Bu noktada imdadımıza yetişen işletim sistemi, süreçler ortasında süratle geçiş yaparak, yürütülen her bir sürece küçük bir vakit dilimi tanır ve birebir anda birden çok sürecin yürütülebilmesini sağlar.

Yürütülen her bir süreç için, işlemciyi belirli bir müddet tahsis eden işletim sistemi, sürecin bitmesi yahut tanınan süreç müddetinin dolması akabinde, yürütülen süreci durdurup kaydederek, sıradaki sürecin yürütülmesi için tıpkı döngüyü uygular.

Birtakım vakitlerde bu döngü yarıda kesilerek, öteki bir sürece dönülmesi gerekebilir. Bu üzere durumlarda sürece tanınan mühlet yarıda kesilerek, öncelikli olan süreç yürütülür. Bu emelle işletim sistemi, yürütülen süreçleri öncelik sırasına nazaran de düzenleyerek, sistem işleyişi için kritik değere sahip süreçlerin, başka süreçlerden evvel tamamlanmasını sağlar.

İşletim Sisteminde Bellek İdaresi

Tüm çağdaş işletim sistemleri, uygulamaların bellek kullanımını yöneten ve sanal bellek takviyesi sağlayan bellek idare hizmetlerine sahiptir. Farklı programların, birbirlerinin bellek alanlarına müdahale etmesini engellemek gayesiyle işletim sistemi, uygulamaların fizikî belleğe direkt ulaşmasını pürüzler. Bunun yerine, bilgisayarın sahip olduğu fizikî ve sanal belleği haritalandırır ve programların, bir bellek sanallaştırma usulü 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 kıymetli bir esneklik kazanır ve çalışan programı etkilemeden, programın bellek kümesini istediği formda taşıyabilir. Böylelikle, kullanılmayan bellek bloğunu, takas belgesine taşıyarak etkin olmayan programların fizikî belleği işgal etmesini önler. Bu sayede, sistemin sahip olduğu fizikî belleği aşan bellek muhtaçlıkları 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 tıpkı programı birbirinden bağımsız olarak kullanabilmelerini mümkün kılmasıdır. Böylelikle farklı kullanıcılara ilişkin uygulamalar, birbirinin bellek alanına müdahale edemez ve bu sebeple kaynaklanacak uygulama yanlışları da engellenir.

İşletim Sisteminde Evrak ve Klasörler

İşletim sistemine ilişkin bir öbür sanallaştırma hizmeti de evrak sistemidir. Bilgisayar sabit diskleri, bilgilerin bulunduğu pozisyonu mantıksal blok adresleriyle tanımlar. Bu adres ise saklanan datanın şoförün kaçıncı bölümünde olduğunu belirtir. Bu adres, sabit disklerin disk denetimcisi tarafından fizikî pahalara (kafa, iz, plaka) çevrilerek dataya ulaşılır. SSD sürücülerdeyse, mantıksal adresler, bellek adreslerine dönüştürülerek birebir metot uygulanır.

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

Belge sisteminin sağladığı bu kolaylık sayesinde programların tek yapması gereken, işletim sistemine aşikâr bir klasörde evrak oluşturması, silmesi yahut değiştirmesi gerektiğini belirtmek olur.

Tüm bu kullanıcı dostu adresler ve karmaşık mantıksal adresler ortasındaki çevrim süreçlerini işletim sistemi gerçekleştirir. Böylelikle kullanıcılar ve yazılımlar, disk üzerindeki bilgilerin fizikî pozisyonunu düşünmeksizin, sanal olarak yaratılmış hiyerarşik klasör ve evrak yapısı sayesinde datalara kolaylıkla ulaşır.

İşletim Sisteminde API'ler

Belge sistemi sanallaştırması örneğinde olduğu üzere, işletim sisteminin kullanıcı uygulamalarına sağladığı bir öbür servis de uygulama programlama arayüzleridir (Kısaca: API). Bunlar, internet tarayıcı yahut söz işlemcisi üzere 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 idaresi, belge ve klasör idaresi, ağ idaresi üzere süreçleri 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öylelikle uygulamaların, mevcut donanıma ilişkin bilgilere sahip olması gerekmez ve örneğin ağ erişimi için, bir ses çalmak yahut bir şeyi ekranda görüntülemek için yalnızca API'leri tanıması kâfi olur.

API'lerin uygulamalar ve donanımlar ortasındaki bu köprüyü oluşturabilmeleri içinse, donanım şoförlerine muhtaçlık duyulur. Bu şoförler, tasarlandıkları donanımın işlevlerinin nasıl kullanılacağı ve işletim sisteminin API'leri ile nasıl irtibata geçeceği bilgilerini sağlar.