Eğitim İçeriği
Giriş
- GNU/Linux'in kısa tarihi
- lisanslama
- çekirdeği sürümleme
- yayın döngüsü
- çekirdeği ağaçları
- ana çizelge
- çekirdek vs. kullanıcı alanı
- mekanizma vs. politika
- çekirdeği sürücü alternatifleri
- RTOS vs. Linux
Bellek Yönetimi
- Sanal bellek vs. fiziksel bellek
- çekirdekte bellek ayırma
- sayfalar
- bölgeler
- API
- slab
Çekirdek Yama
- yaşam döngüsü
- git
- çekirdeği kaynak kodu
- yama oluşturma
- yamayı kontrol etme
- yamayı düzeltme
- yamayı gönderme
- denetlenen kod
Çekirdek Modülleri
- çekirdeği kaynak kodlarını al
- yapılandırma/derleme/kurulum
- aygıt sürücüleri (statik olarak bağlanmış, çalışma zamanında yüklendi)
- başlangıç/sonlandırma
- lisanslama
- EXPORT SYMBOL GPL
- dışa çıktı Makefile
- module-init-tools
- çekirdeği ağacındaki modül
- Kconfig
- parametre aktarımı
- sparse
Karakter Sürücüleri
- mimari
- kullanıcı/çekirdek arayüzü
- I/O alt sistemi
- VFS
- sysfs (aygıtlar, otoban, sürücüler, sınıflar),
- kobject/ktype/kset
- Linux çekirdeği sürücü modeli
- aygıt dosyaları
-
karakter sürücüsü
- başlatma
- kaydolma
- aç, serbest bırak
- cdev, cdev ekle, cdev sil,...
- ana/yedek numaraları
- udev, udevmonitor, udevadm
Gelişmiş Karakter Sürücü İşlemleri
- ioctl
- kilidi çözülmemiş ioctl
- uyumlu ioctl
- kullanıcı alanı API
- çekirdek alanı API
- süreç yaşam döngüsü
- uyku/blok
- uyanış/uyanma
- bekleme kuyruğu
- tosun sürü
- poll/select
Çekirdek Hata Ayıklama
- 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, seçici alt sistemler
- debugfs sorgulamayı hata ayıklama
- oops hata ayıklaması, oops iddiası
- Magic SysRq Key
- kgdb/kdb
- JTAG
Izleme
- gcov
- lcov
- oprofile
-
ftrace
- nop izleyici
- fonksiyon izleyici
- çizelge geçişi izleyici
- fonksiyon grafiği izleyici
- dinamik izleyici
- trace-cmd/kernelshark
- perf
- LTTng
Kesme Noktaları
- kesme noktaları vs. sorgulama
- kesme noktası
- program bölümleri
- tekrar girilebilirlik
- olaylar
- kesme noktası işleyici
- paylaşılan kesme noktası işleyici
- kesme noktası akışı
- kesme noktası kontrolü
İkinci Daire Çalışmaları
- üst/alt yarılar
- softirqs
- tasklets
- iş kuyrukları
- işlem kesme noktaları
Eş Zamanlılık
- kritik bölge/bölüm
- atomik
- yarış koşulu
- senkronizasyon
- kilitleme
- kilitleme çözümleri
- ölü kilitlenme
- çekişme
- neyi kilitleyeceksiniz?
-
kullanabilecekleriniz nedir?
- atomik işlemler
- döngü kilidi
- okuyucu-yazıcı döngü kiliki
- semafor
- ikili semafor
- mutex
- okuyucu-yazıcı semafor
- tamamlanma değişkenleri
- sıralı kilikler
- öncelik devirme devirme
- düzenlemeler ve engeller
Zaman
- HZ
- Jiffies
- büyük/küçük gecikmeler
- çekirdek saatler
Donanım I/O
- I/O Portları
- I/O Belleği
- Kayıt erişiminde yan etkilere nasıl davranılır?
Kullanıcı-Çekirdek İletişimi
- put(get)_user()
- copy to(from)_user()
- Çekirdek I/O
- bellek eşleme
- procfs
- sysfs
- debugfs
- relayfs
- netlink
- ioctl
Taşınabilirlik
- kelime uzunluğu
- belirsiz tipler
- işaretli/işaretsiz karakter
- veri hizalama
- integral yükseltme
- kod yeniden kullanımı
- baytlık sıralama
- sistem tıkanma
- sayfa uzunluğu
- talimat sırası
- SMP/öncelik devirme/yüksek bellek
Aksi belirtilmediği müddetçe, içerik ve bu kurs taslağı Creative Commons Atıf-Gayri-Ticari-Aynı Lisansta Paylaş 4.0 Uluslararası (CC BY-NC-SA 4.0) lisansı altında lisanslanmıştır.
Kurs İçin Gerekli Önbilgiler
- GNU/Linux sistemi kullanmakla ilgili temel bir aşinalık
- Komut satırı kabuğuyla ilgili temel bir aşinalık
- Kullanıcı alanı / uygulama geliştirme konusunda temel bilgi
- Orta düzeyde C programlama bilgisi
- Önceden Yerleşik GNU/Linux Sistem Mimarisine katılmış olmak (kesinlikle tavsiye edilir!) ve/veya orada anlatılan konular hakkında iyi bir anlayışa sahip olmak
Danışanlarımızın Yorumları (5)
Çok faydalı ek bilgiler
Grzegorz - Comp S.A.
Eğitim - BLoC Pattern
Yapay Zeka Çevirisi
Edward harika bir fasilitatördür
Zibusiso Ncube - Agricatural Research Council
Eğitim - Ionic 4 and Angular for Developers
Yapay Zeka Çevirisi
Miguel konusunun uzmanıydı. Eğitimleri anlaşılır hale getirdi ve akışı dengeliydi; her bölümüne gereğinde yeni özellikler ekleyerek ilerledi. Sorulan her şeyi kapattı ve her soruya ayrıntılı olarak cevap verdi. Bu, çok hoş bir deneyimdi.
Paul Coaton - SEMPCheck Services
Eğitim - Flutter Development Bootcamp with Dart
Yapay Zeka Çevirisi
Eğitmenin ihtiyaçlarımıza uyum sağladığı
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Eğitim - The Yocto Project - An Overview - hands-on
Yapay Zeka Çevirisi
Eğitmen heyecanlı, nazikti ve konuyu çok sevdi
Isaac Murphy - Royal New Zealand Airforce
Eğitim - Build Native iOS and Android Apps with Flutter
Yapay Zeka Çevirisi