İçeriğe atla

Çekirdek (bilgisayar bilimi)

Kernel yazılım ve donanımı birbirine bağlar

İşletim sistemi çekirdeği, kısaca çekirdek (kernel), işletim sistemindeki her şeyin üzerinde denetimi olan merkezi bileşenidir.[1] Uygulamalar ve donanım seviyesindeki bilgi işlemleri arasında bir köprü görevi görür. Çekirdeğin görevleri sistemin kaynaklarını yönetmeyi de kapsamaktadır. Genellikle çekirdek, işletim sisteminin temel bir elemanı olarak, yazılımın fonksiyonunu yerine getirebilmesi için kontrol etmesi gereken kaynaklar için düşük seviye soyutlama katmanı sağlayabilir. İşletim sistemi görevleri, tasarımları ve uygulanmalarına göre farklı çekirdekler tarafından farklı şekillerde yapılır. Sistem açılırken belleğe yüklenir ve sistem kapatılıncaya kadar ana bellekte kalır.[2]

Çekirdek, ayrıcalıklı bir işlem seviyesi olan Kernel Mode'da çalışır. Bu işlem seviyesinde çalışan kod, donanıma ve sistemin tamamına tam yetki ile müdahale edebilir. Uygulama programları ise, User Mode denilen daha kısıtlı bir işlem seviyesinde çalışır. User mode'da çalışan uygulamalar, çekirdeğin ya da başka uygulamaların bellek bölgelerine erişemezler, bazı kısıtlanmış işlemci komutlarını çalıştıramazlar ve donanım kaynaklarına doğrudan müdahale edemezler.

Monolitik çekirdek'te aygıt sürücülerde işletim sistemi çekirdeğinin bir parçası olarak Kernel mode'da çalışırlar. Mikrokernel çekirdek'te ise aygıt sürücüleri tıpkı uygulama programları gibi User mode'da çalışırlar ve çekirdek ile mesajlaşma yöntemi ile iletişim kurarlar. Bu yaklaşımın amacı modülerliği artırmaktır.[3]

Linux

Linux, UNIX benzeri bir çekirdek sunar. İlk başlarda 80386 IBM PC uyumlu bilgisayarlar için geliştirilmiştir. Şimdilerde ise Itanium, MIPS, SPARC, Motorola, PowerPC ve daha pek çok platformda çalışabilmektedir.

Bütün ticari UNIX'ler, SVR4 veya 4.4BSD UNIX temel alınarak geliştirilmiştir ve hepsi POSIX uyumludur. POSIX, çok iyi tanımlanmış bir programlama arayüzü sunar. Yazılımcı, üzerinde çalıştığı işletim sisteminin alt seviye özelliklerine bağlı kalmadan kod geliştirebilmekte ve bu kodları POSIX uyumlu başka işletim sistemlerine kolaylıkla taşıyabilmektedir.

Belleğe yüklenmiş Linux çekirdeğe, modüller vasıtasıyla dinamik olarak kod eklenebilir. Örneğin bir ethernet kartı sürücüsü, çalışan işletim sistemine modül ile tanıtabilir. Aynı şekilde kullanılmayan modüller dinamik olarak bellekten silinebilir. Bu modüller derlenmiş ancak bağlanmamış kod içermektedirler. Bu bağlanmamış obje dosyaları, User Mode programlarla karışmamaları için, .o değil .ko uzantısı ile oluşturulur. Windows NT aygıt sürücüleri derleme ve bağlama aşamalarından geçerek hazır halde dağıtılırken, Linux sistemlerde bağlama işlemi çalışma zamanında dinamik olarak yapılır.

Ayrıca bakınız

Kaynakça

  1. ^ "Kernel". Linfo. Bellevue Linux Users Group. 8 Aralık 2006 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Eylül 2016. 
  2. ^ Randal E. Bryant; David R. O’Hallaron (2016). Computer Systems: A Programmer's Perspective (PDF) (Third bas.). Pearson. s. 17. ISBN 978-0134092669. 31 Mart 2020 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 30 Mart 2020. 
  3. ^ Roch 2004

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">İşletim sistemi</span> bilgisayar donanım kaynaklarını yöneten yazılım

İşletim sistemi ya da işletim dizgesi, bir bilgisayarın donanım kaynaklarını yöneten ve uygulama yazılımlarına hizmet sağlayan yazılımların bir bütünüdür. İşletim sistemleri, bilgisayarın donanımı ile uygulama yazılımları arasında bir köprü görevi görerek kullanıcıların sistemle etkileşim kurmasını sağlar. Öne çıkan örnekler arasında Microsoft Windows, macOS, GNU/Linux dağıtımları, Android ve iOS yer alır.

<span class="mw-page-title-main">Unix</span>

UNIX türevi işletim sistemleri çok işlemcili çok pahalı makinelerden tek işlemcili, basit ve çok ucuz ev bilgisayarlarına kadar pek çok cihaz üzerinde çalışabilen esnek ve sağlamlığı çok değişik koşullarda test edilmiş sistemlerdir. Fakat özellikle kararlı yapısı ve çok kullanıcılı-çok görevli yapısıyla çok işlemcili sunucularda adeta standart haline gelmiştir ve özellikle akademik dünyada iş istasyonları üzerinde çok yaygın bir kullanım alanı bulmuştur. UNIX, Interdata 7/32, VAX ve Motorola 68000 arasında hızla yayıldı.

<span class="mw-page-title-main">CPU modları</span>

Kernel Mode; bilgisayarda, Linux işletim sistemi açılışta "kernel mode"da başlar.

Bir işletim sistemi açılışta kernel modeda başlar. Kullanıcı sisteme girdikten sonra, user moda geçer. Bu modda kullanıcı sistem için kullanılan fonksiyonları güvenlik açısından kullanamaz. Kullanıcı sadece kendi başlattığı uygulamaların adres alanları içerisinde kalmak suretiyle işlerini yürütebilir. Sistemin güvenli bir şekilde çalışabilmesi için kullanıcıya kısıtlı izinler tanınmıştır. GNU/Linux sisteminin sistem fonksiyonlarını kullanabilmesi için, user modundan sistem moduna geçmesi gerekir. Bu da kullanıcının programlarında kullandığı API fonksiyonlarıyla gerçekleşir. Örneğin read, write sistem fonksiyonlarıdır ve bunların çalışabilmesi için sistem moduna geçilmesi gerekmektedir. Bu değişiklik otomatik olarak yapılır ve daha sonra user moda geri dönülür.

<span class="mw-page-title-main">Yazılım</span> bilgisayarın somut olmayan çalıştırılabilir bileşeni

Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır.

<span class="mw-page-title-main">BSD</span>

BSD, Kaliforniya Üniversitesi, Berkeley'in kaynak kodu dağıtımı olan, AT&T'nin UNIX'i için bir eklentiler zinciridir. Birçok açık kaynak kodlu işletim sistemi projesi, 4.4 BSD-Lite olarak bilinen kaynak kodu dağıtımını temel kabul eder. Ek olarak bunlar, özellikle GNU projesi olmak üzere diğer birçok açık kod projesini de kapsar.

Windows NT, Microsoft tarafından geliştirilen ve ilk sürümü 27 Temmuz 1993'te yayımlanan bir işletim sistemi ailesidir. İşlemciden bağımsız, çoklu işlem ve çoklu kullanıcı desteği sunan bir işletim sistemidir.

<span class="mw-page-title-main">Mikro çekirdek</span>

Bilgisayar biliminde, bir mikro çekirdek, bir işletim sistemini uygulamak için gereken mekanizmaları minimuma yakın sağlayan işletim sistemi çekirdeği türüdür. Ana çekirdek sadece birimler arası iletişim ve süreçleri sıralama işlerini yapar. Bellek yönetimi, kayıt ortamı yönetimi, sürücüler ve ağ ile ilgili çok sayıda sürec birbirleriyle iletişim kurarak haberleşir. Bu sayede; parçalardan oluşan yapı ve tasarımın sadeleştirilmesi, bir parçadaki hatanın diğer parçaları etkilememesi ve çalışma anında işletim sisteminin güncelleştirilebilmesi mümkün olabilmektedir.

<span class="mw-page-title-main">AmigaOS</span> Amiga kişisel bilgisayarının işletim sistemi

AmigaOS, Amiga kişisel bilgisayarının işletim sistemidir. Grafik arabirimi olan Workbench, CLI komut satırı arabirimi ile birlikte AmigaDOS ve çoğu Amiga modelinde ROM'da yer alan Kickstart'tan oluşur.

<span class="mw-page-title-main">POSIX</span>

POSIX, UNIX için "taşınabilir işletim sistemi arabirimi".

<span class="mw-page-title-main">BIOS</span> EPROM adı verilen bir yonga üzerinde ROM Bellek biçiminde yer alan yazılım

BIOS,. EPROM adı verilen bir yonga üzerinde ROM Bellek biçiminde yer alan bir tür yazılımdır. Bilgisayar açıldığı anda işlemciye tüm diğer donanımları sırasıyla tanıtır. Donanımların temel iletişim protokollerini belirler. İşletim sisteminin başlangıç öğelerinin herhangi bir sürücüden yüklenmesini sağlar. İşletim sistemi çalışırken donanım ve işletim sistemi arasındaki ilişkileri düzenler.

<span class="mw-page-title-main">QNX</span>

QNX, gömülü sistemler pazarına yönelik Unix benzeri, gerçek zamanlı işletim sistemidir.

<span class="mw-page-title-main">Önyükleme</span> CPUya ilk elektrik verildiğinde bilgisayarın çalışabilmesi için uygulamaya konulan işlemler bütünü ve çalışan uygulamalar

Bilgisayar biliminde önyükleme, bir donanım veya bir yazılım komutu ile elektrik verilen bilgisayarı başlatma işlemidir. Açıldıktan sonra, bir bilgisayarın merkezî işlem biriminin (CPU) ana belleğinde yazılım yoktur, bu nedenle bazı işlemlerin yürütülebilmesi için yazılımı belleğe yüklemesi gerekir. Bu, CPU'daki donanım veya bellenim veya bilgisayar sistemindeki ayrı bir işlemci tarafından yapılabilir. İşletim sistemi ve bazı uygulamalar elde başlatıldığında, önyükleme tamamlanır.

Windows Embedded CE 6.0 veya Windows CE 6.0 Microsoft Windows gömülü işletim altıncı büyük sürümüdür. Böyle endüstriyel kontrol ve dijital kameralar gibi tüketici elektroniği cihazlarına kurumsal özel araçlar hedefleyir. Her işlem 32 MB-dan 2 GB-a kadar, sanal adres alanı alır. CE 6.0-da önceki sürümlerinden 32 işlem limitinden, 32.768 süreçlerini destekleyen bir çekirdek bulunmaktadır.

<span class="mw-page-title-main">NDISwrapper</span>

NDISwrapper, Linux işletim sistemlerinde Windows XP ağ aygıt sürücülerinin kullanılmasını sağlayan ücretsiz bir yazılım sürücüsü sarıcısıdır. NDISwrapper, Windows çekirdeği ve NDIS API'lerini uygulayarak ve Windows ağ sürücülerini bu uygulamaya dinamik olarak bağlayarak çalışır. Sonuç olarak, yalnızca Windows tarafından desteklenen komut kümesi mimarilerine dayanan sistemlerde, yani IA-32 ve x86-64'te çalışır.

<span class="mw-page-title-main">Windows NT mimarisi</span>

Microsoft tarafından üretilen ve satılan bir işletim sistemi satırı olan Windows NT'nin mimarisi, kullanıcı modu ve çekirdek modu olmak üzere iki ana bileşenden oluşan katmanlı bir tasarımdır. Tek işlemcili ve simetrik çok işlemcili (SMP) tabanlı bilgisayarlarla çalışmak üzere tasarlanmış, önleyici, yeniden gelen bir işletim sistemidir. Giriş/çıkış isteklerini işlemek için, I / O istek paketlerini (IRP'ler) ve zaman uyumsuz G / Ç'yi kullanan paket odaklı G / Ç kullanırlar. Windows XP'den başlayarak, Microsoft Windows'un 64 bit sürümleri hazırlanmaya başladı; Bundan önce, bu işletim sistemleri yalnızca 32-bit sürümlerde mevcuttu.

<span class="mw-page-title-main">XNU</span>

XNU, MacOS işletim sisteminde kullanılmak üzere Aralık 1996'dan beri Apple'da geliştirilen ve Darwin işletim sisteminin bir parçası olarak ücretsiz ve açık kaynaklı yazılım olarak piyasaya sürülen bilgisayar işletim sistemi çekirdeğidir. Ayrıca, iOS, tvOS ve watchOS işletim sistemlerinin çekirdeği olarak da kullanılır. XNU, "X Not Unix"'in bir kısaltmasıdır.

Mach, Carnegie Mellon Üniversitesi'nde öncelikle dağıtık hesaplama ve paralel hesaplama bilgi işlem olmak üzere işletim sistemi araştırmalarını desteklemek için geliştirilen bir işletim sistemi çekirdeğidir. Mach bir mikrokernelin en eski örneklerinden biri olarak sıklıkla bahsedilir. Bununla birlikte, Mach'ın tüm versiyonları mikrokernel değildir. MacOS'un temel aldığı NextStep ve OpenStep, hepsi de daha önce bir mikro çekirdek olmayan Mach içeren XNU işletim sistemi çekirdeğini büyük bir bileşen olarak içerir. Mach türevleri, GNU Hurd ve Apple'ın işletim sistemleri macOS, iOS, tvOS ve watchOS'daki modern işletim sistemi çekirdeklerinin temelini oluşturmaktadır.

Intel Güvenilir Yürütme Teknolojisi, bilgisayar donanım teknolojisidir ve başlıca hedefleri şunlardır:

<span class="mw-page-title-main">Kernel panic</span>

Bir kernel panic, bir işletim sisteminin çekirdeği tarafından, güvenli bir şekilde kurtarılamadığı veya sistemi çalıştırmaya devam etmenin büyük veri kaybı yaşanabilmesinin yüksek bir riske sahip olacağı dahili bir kritik hata tespit edildiğinde alınan bir güvenlik önlemidir. Terim büyük ölçüde Unix ve Unix benzeri sistemlere özgüdür. Microsoft Windows işletim sistemlerindeki eşdeğeri, genellikle "mavi ekran" olarak adlandırılan bir durdurma hatasıdır.