Bilgisayar Bilimlerinde İşletim Sistemlerini Anlamak
Her bilgisayarın işlevselliğinin temelinde İşletim Sistemi (OS) bulunur. Donanımı kontrol eden, sistem kaynaklarını yöneten ve kullanıcı, uygulamalar ve makine arasındaki etkileşimi kolaylaştıran ana yazılımdır. Bilgisayar bilimi alanındaki işletim sistemlerinin temellerini, bileşenlerini, türlerini ve işlevlerini anlayalım.
İşletim Sistemi Nedir?
İşletim Sistemi (OS), bilgisayar donanım ve yazılım kaynaklarını yöneten, bilgisayar programları için ortak hizmetler sağlayan güçlü ve önemli bir yazılımdır. Her bilgisayarda diğer programları çalıştırabilmek için en az bir işletim sistemi bulunmalıdır. İşletim sistemi, kullanıcılar ile bilgisayar donanımı arasında aracı görevi görür. Popüler işletim sistemlerine örnek olarak Microsoft Windows, macOS, Linux ve Android verilebilir.
İşletim Sisteminin Temel İşlevleri
İşletim sistemi, bir bilgisayar sisteminin işleyişi için çok önemli olan çok çeşitli işlevlere sahiptir. Temel işlevlerinden bazıları şunlardır:
- Süreç Yönetimi: Süreçlerin oluşturulmasını, planlanmasını ve sonlandırılmasını yönetir. Süreç, yürütülmekte olan bir programdır ve işletim sistemi, sorunsuz sistem performansı sağlamak için bu süreçleri verimli bir şekilde yönetir.
- Bellek Yönetimi: İşletim sistemi, belleğin işlemlere ihtiyaç duyduklarında tahsis edilmesini ve serbest bırakılmasını ve ihtiyaç duymadıklarında serbest bırakılmasını içeren sistem belleğini yönetir.
- Dosya Sistemi Yönetimi: Dosyaların depolanması, alınması, adlandırılması, paylaşılması ve korunmasıyla ilgilenir. İşletim sistemi dosya hiyerarşilerini korur ve dosya konumu, boyutu ve türü gibi bilgileri takip eder.
- Cihaz Yönetimi: İşletim sistemi, cihaz iletişimini ilgili sürücüler aracılığıyla yönetir. Yazıcıya yazdırma komutları göndermek, klavyeden veri okumak ve CPU işlemlerini yönetmek gibi görevleri yerine getirir.
- Güvenlik ve Erişim Kontrolü: İşletim sistemi, yetkisiz kullanıcıların sisteme erişmemesini sağlar ve kötü niyetli tehditlere karşı koruma sağlar. Verileri korumak için kullanıcı hesaplarını, şifreleri ve çeşitli izinleri yönetir.
İşletim Sistemi Türleri
İşletim Sistemleri işlevlerine ve sağladıkları hizmetlere göre sınıflandırılabilir. En yaygın türler şunları içerir:
- Toplu İşletim Sistemleri: Bu işletim sistemleri bilgisayarla doğrudan etkileşime girmez. Burada işler, kullanıcı müdahalesi olmadan teker teker toplanır, gruplandırılır ve işlenir.
- Çoklu Görev/Zaman Paylaşımlı İşletim Sistemleri: Bunlar, CPU'nun zaman dilimlerini paylaşarak birden fazla programın aynı anda çalışmasına olanak tanır. Örnekler Linux ve Windows'u içerir.
- Gerçek Zamanlı İşletim Sistemleri (RTOS): RTOS'lar, gömülü sistemler gibi zaman kısıtlamalarının sıkı olduğu ortamlarda kullanılır. Verileri geldiği anda, arabellek gecikmeleri olmadan işlerler.
- Ağ İşletim Sistemleri: Bunlar sunucularda çalışır ve bir ağ üzerinde birden fazla istemciye hizmet verme, verileri, kullanıcıları, grupları, güvenliği ve uygulamaları yönetme yeteneği sağlar.
- Dağıtık İşletim Sistemleri: Bir grup bağımsız bilgisayarı yöneterek bunların kullanıcıya tek bir bilgisayar gibi görünmesini sağlarlar. İşleme birden fazla fiziksel makineye dağıtılır.
Bellek yönetimi
Bellek yönetimi, belirli bellek bloklarının sistemin işletim sistemi tarafından bireysel işlemlere tahsis edilmesini ve yeniden tahsis edilmesini içerir. Bellek yönetiminin önemli yönlerinden biri, fiziksel ve sanal bellek arasındaki ayrımdır.
- Fiziksel Bellek: Bu, sistemde mevcut olan gerçek RAM'dir (Rastgele Erişim Belleği).
- Sanal Bellek: Sabit disk üzerinde ek RAM simülasyonu yapmak için kullanılan alandır. Tek başına fiziksel belleğin kapasitesinin ötesinde, büyük uygulamaların veya birden fazla uygulamanın aynı anda çalıştırılmasına olanak tanır.
En basit bellek yönetimi tekniği, her işlemin belleğin tek bir bitişik bölümünde yer aldığı bitişik ayırmadır . Ancak bu yöntemin parçalanma gibi dezavantajları vardır. Bunun üstesinden gelmek için modern işletim sistemleri sayfalama ve segmentasyonu kullanır.
Süreç Planlama
İşlem planlama, işletim sisteminin hazır kuyruktaki hangi işlemin işlemci tarafından yürütüleceğine karar verme yöntemidir. Birincil amaç CPU kullanımını en üst düzeye çıkarmaktır. Planlama algoritmaları şunları içerir:
- İlk Gelen, İlk Hizmet Edilir (FCFS): Süreçlere geliş sırasına göre müdahale edilir.
- Sonraki En Kısa İş (SJN): Bu algoritma bir sonraki yürütme süresi en kısa olan işlemi seçer. Bu daha iyi performansa yol açabilir ancak yürütme süresine ilişkin önceden bilgi gerektirir.
- Round Robin (RR): Her işleme sabit bir zaman dilimi atanır ve sırayla yürütülür. Bu yöntem süreçler arasında adaleti sağlar.
- Öncelik Planlama: Her işleme bir öncelik atanır ve yürütme öncelik sırasına göre gerçekleştirilir. Daha yüksek öncelikli işlemler, daha düşük öncelikli işlemlerden önce yürütülür.
Dosya Sistemleri
Dosya sistemi, işletim sisteminin dosyaları diskte depolamak, düzenlemek ve yönetmek için kullandığı düzenli bir yöntemdir. Uygulamaların disk depolama alanını okuması ve yazması için bir yol sağlar. Yaygın dosya sistemi türleri arasında Windows için FAT32, NTFS ve Linux için Ext3, Ext4 bulunur. Dosya sistemi, dosya adı, boyutu, oluşturulma ve değiştirilme tarihleri dahil olmak üzere dosyalarla ilgili meta verileri yönetir.
Çözüm
İşletim Sistemi, bilgisayarların ve bilgi işlem cihazlarının işlevinin ayrılmaz bir parçasıdır. Kullanıcı ile donanım arasında temel arayüzü sağlar, kaynakları verimli bir şekilde yönetir ve sistemin genel güvenliğini ve verimliliğini sağlar. İşletim sistemlerinin işlevselliğini, türlerini ve bileşenlerini anlamak bilgisayar bilimi alanında temeldir.