Bizi tercih ettiğiniz için teşekkür ederiz. Ekip üyelerimiz en kısa sürede sizlerle iletişime geçecektir.
Rezervasyonunuzu gönderdiğiniz için teşekkür ederiz! Ekibimizden bir yetkili kısa süre içinde sizinle iletişime geçecektir.
Eğitim İçeriği
Giriş
- GNU/Linux’in kısa tarihi
- Lisanslama
- Çekirdek sürümleme
- Yayın döngüsü
- Çekirdek ağaçları
- Ana hat (mainline)
- Çekirdek ve kullanıcı alanı
- Mekanizma ve politika
- Çekirdek sürücü alternatifleri
- RTOS ve Linux
Bellek Management
- Sanal bellek ve fiziksel bellek
- Çekirdekte bellek tahsisi
- Sayfalar (pages)
- Bölgeler (zones)
- API
- Slab
Çekirdek Yaması
- Yaşam döngüsü
- Git
- Çekirdek kaynağı
- Yama oluştur
- Yamayı kontrol et
- Yamayı düzelt
- Yamayı gönder
- Denetlenmiş kod
Çekirdek Modülleri
- Çekirdek kaynaklarını al
- Yapılandır/derle/kur
- Cihaz sürücüleri (statik olarak bağlantılı, çalışma zamanında yüklenir)
- Başlat/bitir
- Lisanslama
- EXPORT SYMBOL GPL
- Ağaç dışı (out of tree) makefile
- module-init-tools
- Çekirdek ağacındaki modül
- Kconfig
- Parametre geçirme
- Sparse
Karakter Sürücüleri
- Mimari
- Kullanıcı/çekirdek arayüzü
- G/Ç alt sistemi
- VFS
- sysfs (cihazlar, bus, sürücüler, sınıflar)
- kobject/ktype/kset
- Linux çekirdek sürücü modeli
- Cihaz dosyaları
- Karakter sürücüsü
- Başlatma
- Kayıt
- Aç, serbest bırak
- cdev, cdev ekle, cdev sil,...
- Ana/alt sayılar
- udev, udevmonitor, udevadm
Gelişmiş Karakter Sürücü İşlemleri
- ioctl
- Kilitsiz ioctl
- Uyumlu ioctl
- Kullanıcı alanı API’si
- Çekirdek alanı API’si
- Süreç yaşam döngüsü
- Uyuma/engelleme
- Uyuma/uyandırma
- Bekleme kuyruğu
- Gürültülü sürü
- poll/select
Çekirdek Hata Ayıklama
- Hata
- Hata ayıklama
- Çekirdeği hata ayıklama
- Git ile ikili arama
- Çekirdekten hata ayıklama desteği
- printk syslogd, klogd, log seviyeleri, hız sınırı, hata ayıklama seviyeleri, hata ayıklama seçici alt sistemler
- debugfs’den sorgulayarak hata ayıklama
- oops hata ayıklama, oops’u onaylama
- Magic SysRq Key
- kgdb/kdb
- JTAG
İzleme
- gcov
- lcov
- oprofile
- ftrace
- nop izleyici
- fonksiyon izleyici
- sched geçiş izleyici
- fonksiyon grafik izleyici
- dinamik izleyici
- trace-cmd/kernelshark
- perf
- LTTng
Kesmeler
- Kesmeler ve yoklama
- Kesme
- Program bölümleri
- Yeniden giriş
- Olaylar
- Kesme işleyici
- Paylaşımlı kesme işleyici
- Kesme akışı
- Kesme kontrolü
İşleri Erteleme
- Üst/alt bölümler
- softirqs
- tasklets
- iş kuyrukları
- İş parçacıklı kesmeler
Eşzamanlılık
- Kritik bölge/bölüm
- Atomik
- Yarış durumu
- Senkronizasyon
- Kilitleme
- Kilitleme çözümleri
- Kilitlenme
- Çekişme
- Ne kilitlenecek?
- Ne kullanılabilir?
- Atomik işlemler
- Spin kilitleri
- Okuyucu-yazıcı spin kilitleri
- Semaphor
- İkili semaphor
- Mutex
- Okuyucu-yazıcı semaphor
- Tamamlama değişkenleri
- Ardışık kilitler
- Önlemeyi devre dışı bırak
- Sıralama ve engeller
Zaman
- HZ
- Jiffies
- Büyük/küçük gecikmeler
- Çekirdek zamanlayıcıları
Donanım G/Ç
- G/Ç Portları
- G/Ç Belleği
- Kayıt erişiminin yan etkileriyle nasıl başa çıkılır?
Kullanıcı-Çekirdek Communication
- put(get)_user()
- copy to(from)_user()
- Çekirdek G/Ç
- Bellek eşleme
- procfs
- sysfs
- debugfs
- relayfs
- netlink
- ioctl
Taşınabilirlik
- Kelime boyutu
- Opak türler
- İmzalı/imzasız char
- Veri hizalaması
- Tamsayı tanıtımı
- Kod yeniden kullanımı
- Endianness
- Sistem tıkı
- Sayfa boyutu
- Talimat sıralaması
- SMP/önlemeyi devre dışı bırak/yüksek bellek
Aksi belirtilmedikçe içerik ve bu ders özetinin lisansı Atıf-Gayri Ticari-PaylaşımAynıLisans 4.0 Uluslararası (CC BY-NC-SA 4.0) altındadır.
Kurs İçin Gerekli Önbilgiler
- GNU/Linux sistemini bir kullanıcı olarak temel düzeyde aşinalık
- Komut satırı kabuğuyla temel düzeyde aşinalık
- Kullanıcı alanı / uygulama geliştirme konusunda temel bilgi
- Orta düzeyde C programlama bilgisi
- Daha önce Embedded GNU/Linux Systems Architecture'e katılmanız (şiddetle tavsiye edilir!) ve/veya orada özetlenen konuları iyi anlamanız gerekir
35 Saat