Linux'un iç düzeni: donanım, çekirdek ve kullanıcı alanı
Bir komut yazdığında arka planda ne olur? Donanımdan çekirdeğe, sistem çağrısından sürece kadar Linux'un katmanlarını benzetmelerle ve canlı gözlemle öğrenirsin.
Seviye 101 · 14 ders · 12 pratik lab
Dersler
Katmanlar
- İşlemci, bellek ve disk: bilgisayarın üç temel parçası
- Çekirdeğin görevi: kaynakları paylaştıran hakem
- Kullanıcı alanı ve çekirdek alanı
- Sistem çağrısı: programın çekirdekten bir şey istemesi
- Kısa görev: ls'in hangi sistem çağrılarını yaptığını say
Her şey dosya
- "Her şey bir dosyadır": aygıtlar, borular ve soketler
- /proc ve /sys: çekirdeğe açılan pencereler
- /dev: aygıt dosyaları ve null, zero, random
- Kısa görev: yalnızca /proc ve /sys ile sistemin kimlik kartını çıkar
Açılıştan oturuma
- Açılış özetle: ürün yazılımı, önyükleyici, çekirdek, init
- PID 1: tüm süreçlerin atası
- Program ve süreç farkı: aynı programın birçok kopyası
- Sanal bellek: her sürecin kendi adres alanı
- Bitirme görevi: bir komutun yolculuğunu baştan sona anlat
Pratik lablar
- Sunucunun donanım özetini çıkar: İşlemci çekirdek sayısını, toplam belleği ve disk boyutunu /proc ve lsblk ile bulup cevap dosyasına yaz.
- Yalnızca /proc ve /sys ile kimlik kartı çıkar: Komut kullanmadan, yalnızca /proc ve /sys dosyalarını okuyarak çekirdek sürümü, çalışma süresi ve ağ arayüzlerini raporla.
- Zamanın çekirdekte mi kullanıcıda mı geçtiğini ölç: İki programı time ile çalıştır, hangisinin süresini çekirdek alanında geçirdiğini bul ve nedenini bir cümleyle yaz.
- Bir komutun yaptığı sistem çağrılarını say: strace -c ile verilen komutun en çok yaptığı sistem çağrısını bul ve cevap olarak gir.
- Programın aradığı eksik dosyayı strace ile bul: Açıklamasız hata verip kapanan programın açmaya çalıştığı eksik dosyayı strace ile bul ve oluştur.
- Programın gerçekten okuduğu yapılandırmayı bul: Birden fazla yapılandırma dosyası olan bir aracın hangisini hangi sırayla okuduğunu strace ile çıkar ve raporla.
- Gürültülü betiğin çıktısını /dev/null'a gönder: Cron'da çalışan betiğin gereksiz çıktısını /dev/null'a yönlendir ama hata mesajlarını günlük dosyasında tut.
- /dev/zero ve /dev/urandom ile test dosyaları üret: Belirtilen boyutlarda biri sıfırlarla biri rastgele baytlarla dolu iki test dosyası oluştur ve sıkıştırma oranlarını karşılaştır.
- Bir sürecin açık dosyalarını /proc'tan oku: Gizemli bir sürecin /proc/PID/fd altındaki bağlantılarından yazdığı dosyayı ve kullandığı soketi bul.
- Süreç ağacında bir sürecin atalarını bul: Verilen sürecin PID 1'e kadar uzanan ebeveyn zincirini pstree ya da ps ile çıkar ve cevap dosyasına yaz.
- Aynı programın kaç kopyasının çalıştığını bul: Aynı programdan çalışan kopyaları say ve her birinin bellekte ne kadar yer kapladığını karşılaştır.
- Son açılışın zaman çizelgesini çıkar: Açılış günlüklerinden çekirdeğin yüklenme, init'in başlama ve giriş ekranının açılma zamanlarını bulup sıralı yaz.
Kurs hakkında
Bir komut yazdığında arka planda ne olur? Donanımdan çekirdeğe, sistem çağrısından sürece kadar Linux'un katmanlarını benzetmelerle ve canlı gözlemle öğrenirsin.
Ne öğreneceksin
- Katmanlar
- Her şey dosya
- Açılıştan oturuma
Ön koşullar
Ön bilgi gerekmez; kurs sıfırdan başlar.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs başlangıç düzeyindedir; her terim ilk geçtiği yerde açıklanır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.