nükleer

Defini bekliyoruz

Kernel, bir işletim sisteminin (OS) temel bileşenidir, sistem donanımının ve üzerinde çalışan yazılım uygulamaları arasında birincil arayüz olarak hareket eder. Sistem kaynaklarını, CPU, hafıza ve I/O cihazları da dahil olmak üzere yönetir ve işlem yönetimi, hafıza yönetimi ve cihaz yönetimi gibi temel hizmetler sağlar. Bir kullanıcı uygulaması donanım kaynaklarına erişmek zorunda olduğunda, kernel'e bir sistem çağrısı yapar. Kernel daha sonra bu talebi donanım anlayabileceği ve yürütebileceği talimatlara çeviririr. Aynı zamanda, hangi süreçlerin CPU'yu kullanacağına ve ne kadar sürede karar vererek görev planlaması yapar ve bellek dağılımını yönetir, böylece süreçlerin birbirlerine müdahale etmeden ihtiyacı olan hafızaya sahip olmasını sağlar.

        graph LR
  Center["nükleer"]:::main
  Rel_advanced_propulsion_systems["advanced-propulsion-systems"]:::related -.-> Center
  click Rel_advanced_propulsion_systems "/terms/advanced-propulsion-systems"
  Rel_instruction_set["instruction-set"]:::related -.-> Center
  click Rel_instruction_set "/terms/instruction-set"
  Rel_os_kernel["os-kernel"]:::related -.-> Center
  click Rel_os_kernel "/terms/os-kernel"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 5 yaşındaki gibi açıkla

Çekirdek, bilgisayarınızın beyni gibidir; ekrandan klavyeye ve programlara kadar tüm farklı parçaların nasıl birlikte çalışacağını ve kaynakları adil bir şekilde paylaşacağını söyler.

🤓 Expert Deep Dive

Çekirdek mimarileri genel olarak monolitik, mikroçekirdek ve hibrit tasarımlar olarak sınıflandırılabilir. Linux gibi monolitik çekirdekler, işletim sistemi hizmetlerinin çoğunu (işlem yönetimi, bellek yönetimi, dosya sistemleri, aygıt sürücüleri) tek bir büyük çalıştırılabilir dosya içinde entegre eder. Bu, doğrudan fonksiyon çağrıları sayesinde yüksek performans sunar ancak daha büyük kod tabanlarına ve bir bileşen arızalanırsa potansiyel kararlılık sorunlarına yol açabilir. Buna karşılık, mikroçekirdekler temel olmayan hizmetleri kullanıcı alanına taşır ve çekirdekte yalnızca temel işlevleri (IPC, temel zamanlama, bellek yönetimi) bırakır. Bu, modülerliği ve güvenliği artırır ancak sık bağlam anahtarları ve IPC nedeniyle performans ek yüküne neden olur. Hibrit çekirdekler, saf bir mikroçekirdekten daha fazla hizmet içermesine rağmen bir dereceye kadar modülerliği koruyarak bu ödünleşimleri dengelemeye çalışır. Çekirdek tasarımındaki temel zorluklar arasında verimli kaynak zamanlaması (örneğin, CPU süresi, G/Ç bant genişliği), ayrıcalık yükseltmesini ve veri bozulmasını önlemek için sağlam bellek koruma mekanizmaları ve güvenli işlemler arası iletişim protokolleri yer alır.

📚 Kaynaklar