aofsoru.com

İşletim Sistemleri Dersi 2. Ünite Özet

İşletim Sistemleri Temel Kavramları

Giriş

Bir işletim sistemi çalışırken donanım ve işletim sistemi arası ilişkileri düzenleyen birimler bulunmaktadır. Bu birimlerden işletim sisteminin önyüklemesi (booting) esnasında kullanılan yazılımsal veya donanımsal en önemli olanları şu şekilde sıralanabilir;

  • Anakart (Motherboard),
  • EEPROM (Electronically Erasable Programmable Read-only Memory),
  • BIOS (Basic Input-Output System),
  • ROM (Read Only Memory),
  • Merkezi İşlem birimi (MİB, Central Processing Unit-CPU),
  • Mikroişlemci.

Anakart, üzerinde devre elemanlarını bulunduran (slot, soket, yonga, genişleme yuvaları, vb.) elektronik bir plakettir. EEPROM, küçük boyuttaki verileri kalıcı olarak saklamak için bilgisayar veya diğer cihazlarda kullanılan bir yongadır ve elektrikle yazılıp silinme özelliğine sahiptir. Mikroişlemci, MİB’deki sözcük boyutunun 32 bit’ten 4 bit’e düşürülmesiyle doğmuş MİB’in mantıksal devrelerinin transistörleri tek bir parçaya sığdırılmış işlemcidir.

İşletim Sistemi Tasarımı ve Çekirdek Mimarisi

Çekirdek (kernel) bir işletim sistemin temel unsurlarındandır. Çekirdek bir işletim sisteminin öncelikli modunda çalışan ve diğer parçalar için temel hizmetleri sağlayan sistemin en önemli parçasıdır. İşletim sistemlerinin kalbi olan çekirdek, programların çalışması ve bilgisayar donanımına güvenli ulaşımı sağlamaktan sorumlu olan yazılımdır. Bir işletim sistemindeki çekirdek, çalışmak için bir bilgisayara gereksinim duyar. Programlar, boş metal (bare metal) adı verilen bir makine üzerinden doğrudan yüklenip çalıştırılabilirler. Bu makine, programların sahiplerine herhangi bir donanım soyutlama veya işletim sistemi desteği sağlamaksızın çalışmalarına olanak sağlar. Bu da erken işletim sistemi çekirdeklerinin temellerini oluşturur. Günümüzde hâlâ, çok sayıda oyun konsolunda ve gömülü sistemlerde bu yöntem kullanılmaktadır. Öte yandan, genellikle yeni sistemler, hem çekirdekleri hem de işletim sistemlerini kullanmaktadırlar.

Dört farklı tipte çekirdek bulunmaktadır. Bunlar şu şekilde sıralanabilmektedirler;

  • Tek Parça Çekirdekler (Monolithic Kernels),
  • Mikro Çekirdekler (Microkernels),
  • Ekzo Çekirdekler (Exokernels),
  • Hibrid Çekirdekler (Hybrid, Modified Microkernels).

Tek parça çekirdekler altta yatan donanıma zengin ve güçlü soyutlamalar sağlamaktadırlar.

Mikro çekirdekler basit donanım soyutlamalarının küçük bir kümesini sağlamakta ve daha fazla işlevsellik sağlamak için sunucu olarak adlandırılan uygulamaları kullanmaktadırlar.

Ekzo çekirdekler düşük-düzey donanıma ulaşmaya izin vererek minimal soyutlamayı sağlamaktadırlar. Ekzo çekirdeklerdeki kütüphane işletim sistemleri tek parça çekirdekler için tipik soyutlamalar yapmaktadırlar. Hibrid çekirdekler mikro çekirdekler gibidirler. Mikro çekirdeklerden tek farkları performans artışı için bazı ek kodları içermeleridir.

Tek Parça Çekirdek (Monolithic Kernels) Tabanlı İşletim Sistemleri: Tek parça çekirdekler (monolithic kernels), 1970–1990 arasında kullanılan ilk çekirdeklerdir. Tek parça çekirdeklerde tüm yazılımlar, sürücüler işletim sisteminin çekirdeğinde yer almaktadır. Tek parça çekirdek, tüm işletim sisteminin çekirdek alanında ve supervisor modda tek başına çalışan bir işletim sistemi mimarisidir.

Tek parça çekirdek tabanlı işletim sisteminin özellikleri aşağıdaki gibi özetlenebilir:

  • Modüler olarak tasarlanmışlardır.
  • Modüler yapıya sahip olmalarına karşın genişleyebilirlik ve dağıtıklık özelliklerinin bu sistem mimarisi içinde gerçekleşmesi daha zordur.
  • Sistemdeki gerekli tüm önemli hizmetleri sunmaktadır.
  • Bellek yönetimi, süreç yönetimi, G/Ç yönetimi gibi fonksiyonların tümü çekirdeğin içinde yönetilmektedir.

Mikro Çekirdek (Microkernels) Tabanlı İşletim Sistemleri: Tek parça çekirdeklerin boyutlarının çok büyük olması, modüler yapıda olan mikro çekirdeklerin (microkernels) üretilmesine neden olmuştur. Tek parça çekirdeklerde, sadece, işletim sisteminin en önemli fonksiyonları vardır ve bu nedenle de boyutları oldukça küçüktür. Makineye yeni bir donanım eklendiğinde o donanımın sürücüsü mikro çekirdeğe tanıtılmaktadır. Mikro çekirdeklerde sürücüler ve diğer bileşenler çekirdeğin dışındadır. Mikro çekirdeklere örnek olarak MS-DOS verilebilir.

Bir mikro çekirdek tabanlı işletim sisteminin özellikleri şu şekildedir;

  • Bağımsız gruplar tarafından geliştirilebilme imkânı bulunmaktadır.
  • Bakım işlemi daha kolaydır.
  • Dağıtıklık ve sistemin taşınabilirliği daha yüksektir.
  • Daha modüler bir sistemi vardır.
  • Hatalara karşı duyarlılığı daha yüksektir.
  • Küçük bir mikroçekirdek ile daha temiz bir arayüz sunar.
  • Mimariler arasında yüksek taşınabilirlik özelliği vardır.
  • Minimal (Az ve basit görevli) bir çekirdeğe sahiptir.
  • Modern ve yazılım mühendisliğine daha yatkın bir işletim sistemi mimarisi vardır.
  • Ölçeklenebilirlik özelliği vardır.

Ekzo Çekirdek (Exokernel) Tabanlı İşletim Sistemleri: Ekzoçekirdek, uygulama geliştiricileri için işletim sisteminin temel fonksiyonlarından biri olan donanıma doğrudan erişim sunan bir işletim sistemi çekirdeği mimarisidir. Bellek ve süreç yönetimi gibi temel işlevler dışında tek yaptığı şey, donanımların arayüzlerini güvenli bir biçimde çoklayarak bunları kullanıcı seviyesi uygulamalara sunmaktır.

Hibrid Çekirdek (Hybrid- Modified Microkernels) Tabanlı İşletim Sistemleri: Bir hibrid çekirdek, tek parça ve mikro çekirdeklerin özelliklerini bünyesinde taşır. Kesin bir tanımı olmamakla birlikte hibrid çekirdek çekirdeğin oldukça modüler olduğunu ama tüm işlemlerin aynı adres alanında çalıştığını ifade eder. Bu durum çekirdeğe, mikro çekirdek özelliklerini koruyarak çekirdekte karmaşık bir mesajın yükünü görmezden gelmesini sağlamaktadır. Hibrid çekirdeğe en iyi örnek Microsoft NT çekirdeğidir.

İşletim Sisteminin Mantıksal Yapısı

Bir işletim sisteminin fonksiyonlarına göre mantıksal yapısını oluşturan dört temel bulunmaktadır. Bunlar şu şekilde sıralanabilirler;

  • Aygıt Yönetimi (Device Management),
  • Bellek Yönetimi (Memory Management),
  • Dosya Yönetimi (File Management),
  • İşlem Yönetimi (Process Management).

Aygıt Yönetimi (Device Management): Bir işletim sistemi donanım aygıtlarının yönetiminden sorumludur. İşletim sistemleri, genelde, donanım aygıtlarını aynı şekilde yönetirler fakat işlemci ve belleğin yönetiminde farklı yaklaşımlar kullanırlar. Aygıt Yöneticisi’nin farklı görevleri vardır. Aygıt Yöneticisi’nin yardımıyla bilgisayardaki hangi aygıtların yüklü olduğu saptanabilir, aygıtlar için sürücü yazılımı güncelleştirilebilir, yazılımın gerektiği şekilde çalışıp çalışmadığı denetlenebilir ve donanım ayarları değiştirilebilir.

Bellek Yönetimi (Memory Management) Bellek yönetimi, işlem yönetimi ile birlikte çalışır ve ana bellekte işlemlerin yerleşimini sağlar. Bu süreçte her işlem bir bellek bölgesi ister ve bellek yönetimi de bu işlemlerin çalışması için kaynak yalıtımını sağlayarak gerekli bellek bölümünü ayırır. Bellek yönetimi, bellekteki blokların paylaştırılması için gerekli stratejileri uygular. Bu çerçevede bellek yönetimi, bilgisayarın ana belleğini yönetmekle ilgili yapılan işlemlerin tümünü kapsar. Bilgisayar her açıldığında RAM boştur. Ana bellek de denilen RAM kullanım alanına göre altı ana gruba ayrılır:

  • Geleneksel Bellek (Conventional Memory): Geleneksel bellek, MS-DOS işletim sisteminin ana belleğidir.
  • Üst Bellek Alanı (Upper Memory Blocks): Üst bellek alanına, ayrılmış bellek de denir. Bu alan, üst bellek blokları halindeki 640 KB ile 1 MB arasındaki hafıza bölgesidir.
  • Genişletilmiş Bellek (Expanded Memory): Genişletilmiş bellek, üst belleğe benzer ve geleneksel hafızadan bağımsız olarak çalışır.
  • Uzatılmış Bellek (Extended Memory): 1Mb’ın üzerindeki bellek alanına verilen isimdir. Uzatılmış bellekle temel bellek arasında tek bir önemli fark vardır. O da gerçek modda çalışan programların hiçbirinin uzatılmış bellekte çalışamamasıdır.
  • Yüksek Bellek Alanı (High Memory AreaHMA): Yüksek bellek alanı, uzatılmış belleğin ilk 64K’lık kısmıdır ve MS-DOS tarafından özel olarak kullanılmaktadır.
  • Sanal Bellek (Virtual Memory): Sanal bellek, Windows işletim sisteminin uygulamalarını çalıştırırken kullandığı bellektir. Sanal bellek, koruma modlu bir işletim sisteminin modern mikroişlemcilerin üstün özelliklerini kullanarak dış depolama birimlerinden herhangi birini gerçek bellek gibi kullanması işidir.

Dosya Yönetimi (File Management) Bellek yönetimi ve aygıt yönetimi ile birlikte çalışan Dosya yönetimi, işletim sisteminin dosyaları yönetmesi (organize etmesi) ve bunun için ne kullandığını gösteren ifadedir. Dosya yönetimi, dosyaların hard disk, CD-ROM vb. depolama birimlerine yazılmasını sağlar. İşletim sistemi, bu yönetimi yapabilmek için dosya sistemlerini kullanmaktadır. FAT, FAT32, NTFS ve EXT2 dosya sistemlerine örnek olarak verilebilirler.

İşlem Yönetimi (Process Management) Bir işletim sisteminde İşlem Yönetimi’ni anlamak için işlem, semafor ve kilitlenme kavramlarının tartışılması gerekmektedir. Süreç olarak da adlandırılan işlem (process), işletim sistemi tarafından yürütülen ardışık işlemler sürecini içeren bir programdır. Bir başka ifadeyle işlem, belli bir işlemi yerine getiren program parçasıdır. Öte yandan, bir program parçasında sadece kodlar varken bir işlem çalışma sırasında gerekli olan tüm bilgileri bünyesinde barındırır.

İşletim Sistemi Türleri

İşletim sistemlerinin sınıflandırılma özellikleri şu şekilde sıralanabilir;

  • Amaçlarına göre,
  • Yapılarına göre,
  • Fonksiyonlarına ve/veya işlemlerine göre işletim sistemleri.

Bu sınıflamaya, işletim sisteminin türleri veya işletim sisteminin tipleri denilmektedir. İşletim sistemi türleri aşağıda sıralanmıştır;

  • Akıllı-Kart (Smart Card) İşletim Sistemleri,
  • Anaçatı (Mainframe) İşletim Sistemleri,
  • Çoklu Görev (Multitasking) İşletim Sistemleri,
  • Çoklu İşlemci (Multiprocessing) İşletim Sistemleri,
  • Çoklu Kullanım (Multithreadeing) İşletim Sistemleri,
  • Çoklu Kullanıcı (Multiuser) İşletim Sistemleri,
  • Dağıtık (Distributed) İşletim Sistemleri,
  • Gerçek Zamanlı (Real-Time) İşletim Sistemleri,
  • Gömülü (Embedded) İşletim Sistemleri,
  • Kütüphane (Library) İşletim Sistemleri,
  • Sunucu İşletim Sistemleri,
  • Şablon (Templated) İşletim Sistemleri.

İşletim sistemi, kaynakların kullanım verimliliğini en üst düzeyde tutmayı amaçlayan bir yazılım sistemidir. Bu nedenle, bilgisayar sistemini oluşturan donanım ve yazılım nitelikli kaynakları kullanıcılar arasında kolay, hızlı ve güvenli bir işletim hizmetine olanak verecek biçimde paylaştırır. Bu çerçevede, bir işletim sisteminin fonksiyonlarına bağlı olarak temel yapısı ve çekirdek mimarisi daha da önem kazanmaktadır. Özellikle kuantum bilgisayar ve kuantum bilgisayar işletim sistemlerindeki gelişmeler, bilgisayarların fonksiyonlarını, amaçlarını, görev ve sorumluluklarını daha da farklılaştırarak çoğaltacaktır.


Yukarı Git

Sosyal Medya'da Paylaş

Facebook Twitter Google Pinterest Whatsapp Email