diff --git a/04-kernel/README.md b/04-kernel/README.md index 2aa0c8e..a59a01a 100644 --- a/04-kernel/README.md +++ b/04-kernel/README.md @@ -9,7 +9,7 @@ Bu bölüm, kernel'in donanımla kurduğu sözleşmeyi anlatır. Bellek yönetim | Konu | Dosya | Durum | | --- | --- | --- | | Kernel nedir, ne yapar | [kernel-nedir.md](kernel-nedir.md) | ✅ | -| Kernel mimarileri: monolitik, mikrokernel, hibrit | `kernel-mimarileri.md` | ⬜ | +| Kernel mimarileri: monolitik, mikrokernel, hibrit | `kernel-mimarileri.md` | ✅ | | Freestanding C ortamı ve kısıtları | `freestanding-c.md` | ⬜ | | Kernel'in bellek yerleşimi ve higher half | `bellek-yerlesimi.md` | ⬜ | | GDT (Global Descriptor Table) | `gdt.md` | ⬜ | diff --git a/04-kernel/kernel-mimarileri.md b/04-kernel/kernel-mimarileri.md new file mode 100644 index 0000000..4f22683 --- /dev/null +++ b/04-kernel/kernel-mimarileri.md @@ -0,0 +1,20 @@ +# Kernel (Çekirdek) Mimarisi Nedir? + +**Kernel (çekirdek) mimarisi**, işletim sistemi çekirdeğinin hangi bileşenlerden oluşacağını, bu bileşenlerin birbirleriyle nasıl iletişim kuracağını ve hangi görevlerin kernel space veya userspace içerisinde çalışacağını belirleyen tasarım yaklaşımıdır. + +Kernel, uygulamalar ile bilgisayar donanımı arasında temel bir katman görevi görür ve sistem kaynaklarını yönetir. + +## Temel Görevleri + +* **Donanım yönetimi:** CPU, RAM, depolama aygıtları, klavye, mouse ve diğer donanımların işletim sistemi tarafından kullanılmasını sağlar. +* **Kaynak yönetimi:** CPU zamanı, bellek ve diğer sistem kaynaklarının çalışan süreçler arasında paylaştırılmasını sağlar. +* **Güvenlik ve yetkilendirme:** Süreçlerin hangi kaynaklara erişebileceğini kontrol eder ve uygulamaların donanıma doğrudan erişimini sınırlar. +* **Süreç yönetimi:** Programların çalıştırılması, zamanlanması ve birbirleriyle iletişim kurması gibi işlemleri yönetir. + +## Kernel Mimarileri + +* **Monolitik çekirdek (Monolithic Kernel):** Sürücüler, dosya sistemleri, ağ yığını ve birçok sistem servisi kernel space içerisinde çalışır. Bileşenler doğrudan iletişim kurabildiği için yüksek performans sağlayabilir. Ancak kernel içerisindeki kritik bir hata tüm sistemin çökmesine neden olabilir.
**Örnek:** Linux, FreeBSD. + +* **Mikro çekirdek (Microkernel):** Kernel içerisinde yalnızca süreç zamanlama, bellek yönetiminin temel bölümleri ve IPC gibi kritik işlevler bulunur. Sürücüler ve birçok sistem servisi userspace içerisinde çalışır. Bu yapı hata izolasyonunu ve güvenliği artırabilir ancak bileşenler arasındaki mesajlaşma ek performans maliyeti oluşturabilir.
**Örnek:** MINIX 3, QNX, L4 ailesi. + +* **Hibrit çekirdek (Hybrid Kernel):** Monolitik ve mikro çekirdek yaklaşımlarından özellikler birleştirir. Mikro çekirdek benzeri bir tasarım kullanırken performans amacıyla bazı servisleri kernel space içerisinde çalıştırabilir.
**Örnek:** Windows NT, Apple XNU.