SİSTEMLER PROGRAMLAMASI İÇİN RUST EĞİTİMİ

Rust ile işletim sistemine yakın güvenli kod yazın

Linux sistem çağrıları, ağ I/O, FFI, allocator ve bare-metal çekirdek temelleriyle sistem programlama.

Linux sistem çağrıları, epoll/io_uring, soketler, FFI, allocator ve no_std çekirdek temellerini kapsayan 4 günlük sistem programlama eğitimi.

4 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Sistem programlama: süreç, bellek, I/O ve çekirdek temelleri

Rust ile sistem yazılımı geliştirenlere yönelik eğitim; sahiplik ve smart pointer'ları bellek düzeni açısından inceler, libc/nix ile sistem çağrıları, fork/exec, sinyaller, epoll ve io_uring, mmap, TCP/UDP soketleri, FFI ve bindgen, özel allocator, no_std bare-metal x86_64 çekirdek temelleri ve strace/perf ile inceleme konularını kapsar.

Süre ve Format

4 Gün. Her gün dört modül; Bellek Modeli ve FFI; Dosya, Süreç ve Ağ; Linux Sistem Programlama; Bare-metal ve Mimari ekseninde ilerleyen uygulamalı program.

Seviye

İleri Seviye — sistem çağrıları, io_uring, bellek, FFI, ağ I/O ve çekirdek düzeyi Rust

Öğrenme Metodu

Linux üzerinde strace, perf ve gdb eşliğinde çalışılır; her konuda çıktı gerçek sistem davranışıyla doğrulanır.

Neden Bu Eğitim?

🧬Düşük seviye kontrol

Bellek yerleşimi ve sistem çağrılarını güvenli Rust soyutlamalarıyla yönetirsiniz.

📡Ağ ve I/O

epoll, io_uring ve soketlerle yüksek verimli I/O kurarsınız.

🖥️Çekirdek temelleri

no_std ortamında IDT, sayfalama ve allocator mantığını kavrarsınız.

Anahtar Konular

Rust sistem programlamaRust io_uringRust epollRust FFIRust nix libcRust allocatorRust no_std çekirdekRust soket programlamastrace perfsistem programlama eğitimi
“Sistem yazılımında hız kadar, hatasızlık da bir özelliktir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Rust temelleri

Sahiplik, trait ve Result/Option kullanımını bilmek; en az birkaç küçük Rust programı yazmış olmak.

2
Komut satırı

Terminal, cargo ve git kullanımı.

3
Sistem bilgisi

İşletim sistemi ve bellek modeli hakkında temel bilgi.

4
Geliştirme ortamı

Rust toolchain ve rust-analyzer destekli bir editör.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı bellek düzenini bilerek tip tasarlar, unsafe ve FFI sınırlarını güvenle çizer.
Modül 1
Sahiplik, Ödünç Alma ve Ömürler
  • Sahiplik kuralları: move, drop ve kapsam sonu
  • Copy ile Clone farkı; hangi tipler Copy'dir
  • Paylaşımlı (&T) ve değiştirilebilir (&mut T) referans kuralları
  • String ile &str, dilimler (slice) ve ödünç alma
  • Lifetime parametreleri ('a), elision kuralları ve struct içinde referans
  • Borrow checker hatalarını okuma ve çözme (E0382, E0499, E0502)
Modül 2
Generics ve Trait Sınırları
  • Generic fonksiyon ve struct tanımı, monomorphization
  • Trait bound, where cümleleri ve çoklu sınır
  • İlişkili tipler (associated types) ve Iterator örneği
  • dyn Trait ve Box<dyn Trait>: nesne güvenliği (object safety)
  • Statik ve dinamik dispatch maliyet karşılaştırması
  • Blanket implementasyonlar ve orphan kuralı
Modül 3
Akıllı İşaretçiler ve İç Değişebilirlik
  • Box<T> ile heap tahsisi ve özyinelemeli tipler
  • Rc<T> ve Arc<T> ile paylaşımlı sahiplik
  • RefCell<T> ve Cell<T>: iç değişebilirlik ve çalışma zamanı ödünç kontrolü
  • Weak<T> ile referans döngülerinden kaçınma
  • Deref ve Drop trait'leri, RAII
  • Cow<'a, T> ile gereksiz kopyalamayı azaltma
Modül 4
Unsafe Rust ve FFI
  • unsafe blokları: ham işaretçiler, unsafe fn ve unsafe trait
  • Unsafe'in verdiği beş ek yetenek ve güvenli soyutlama yazımı
  • extern "C", #[repr(C)] ve #[no_mangle]
  • bindgen ile C başlıklarından bağlama üretimi
  • cbindgen ile Rust kütüphanesini C'den çağırma
  • miri ve AddressSanitizer ile tanımsız davranış avı
Günün hedefiKatılımcı dosya ve süreç araçları yazar, soket tabanlı sunucuyu thread ve profil ile iyileştirir.
Modül 1
Sistem Programlama: Dosya, Süreç ve Bellek
  • std::fs, std::io Read/Write ve BufReader/BufWriter
  • std::env ve clap ile komut satırı araçları
  • std::process::Command, boru hattı ve çıkış durumu
  • libc/nix ile sinyal işleme ve Unix API çağrıları
  • memmap2 ile bellek eşlemeli dosya erişimi
  • Özel allocator (GlobalAlloc), arena ve bellek yerleşimi (size_of, align_of)
Modül 2
Ağ Programlama ve Düşük Seviye I/O
  • TcpListener/TcpStream ile bloklayıcı sunucu
  • UdpSocket, socket2 ile soket seçenekleri
  • mio ve epoll mantığı ile olay güdümlü I/O
  • tokio::net ve framing (tokio-util codec)
  • Binary protokol: bytes::Buf/BufMut, endian ve serde/bincode
  • Zero-copy yaklaşımı, vektörlü I/O ve geri basınç (backpressure)
Modül 3
Eşzamanlılık
  • std::thread::spawn, join ve move closure
  • mpsc kanalları: Sender/Receiver ve çoklu üretici
  • Mutex<T> ve RwLock<T> ile Arc kombinasyonu
  • Send ve Sync trait'leri: derleyicinin veri yarışı engeli
  • Atomik tipler ve Ordering seçimi
  • rayon ile veri paralelliği ve thread::scope
Modül 4
Performans ve Optimizasyon
  • criterion ile kıyaslama ve istatistiksel karşılaştırma
  • cargo flamegraph / perf ile CPU profili
  • Sıfır maliyetli soyutlamalar: iterator'ın assembly düzeyinde incelenmesi
  • Bellek düzeni: struct padding, enum niche optimizasyonu, SoA/AoS
  • SIMD (std::simd/portable-simd), rayon ve cache dostu algoritmalar
  • LTO, PGO, codegen-units ve hedef CPU ayarları
Günün hedefiKatılımcı sistem çağrıları, sinyaller ve io_uring ile çalışır, makrolarla boilerplate azaltır.
Modül 1
Async Rust ve Tokio
  • async/await, Future trait'i ve poll modeli
  • Tokio runtime: #[tokio::main], çok thread'li ve current_thread
  • tokio::spawn, JoinSet ve görev iptali
  • tokio::select!, zaman aşımı (timeout) ve interval
  • Async kanallar: mpsc, oneshot, broadcast, watch
  • Pin, Send sınırı hataları ve bloklayıcı kodun spawn_blocking ile ayrılması
Modül 2
Makrolar ve İleri Tip Sistemi
  • macro_rules! ile bildirimsel makrolar ve tekrar desenleri
  • Derive ve attribute proc-macro yapısı (syn, quote)
  • Const generics ve sabit boyutlu dizi API'leri
  • PhantomData ve tip durumu (typestate) deseni
  • Builder deseni ve newtype ile tip güvenliği
  • Özel Iterator, IntoIterator ve Deref ile ergonomik API tasarımı
Modül 3
Linux Sistem Çağrıları, io_uring ve Süreçler
  • Sistem çağrıları: libc/nix ile open, read, write, mmap
  • fork/exec, pipe, dup2 ile boru hattı kabuğu mantığı
  • Sinyal yönetimi: signal-hook, sigaction ve async-signal-safety
  • epoll ile olay döngüsü ve tokio-uring / io_uring temelleri
  • namespaces, cgroups ve seccomp'a giriş
  • strace, ltrace ve perf ile Rust ikilisi inceleme
Modül 4
Test, Belgeleme ve Yayınlama
  • Birim, entegrasyon (tests/) ve doküman testleri
  • cargo test filtreleri, --nocapture ve #[should_panic]
  • criterion ile kıyaslama ve proptest ile özellik tabanlı test
  • Cargo workspace yapısı ve feature flag yönetimi
  • cargo publish, semver ve cargo-deny ile bağımlılık denetimi
  • CI hattı: fmt, clippy -D warnings, test ve cargo-audit
Günün hedefiKatılımcı no_std ortamında temel çekirdek bileşenlerini kurar ve sistem kütüphanesi API'sini tasarlar.
Modül 1
no_std ve Gömülü Rust Temelleri
  • #![no_std], #![no_main] ve core ile alloc farkı
  • panic_handler seçenekleri: panic-halt, panic-probe
  • cortex-m-rt başlangıç kodu ve memory.x linker betiği
  • Hedef mimariler: thumbv7em-none-eabihf, riscv32imac
  • Statik bellek: heapless koleksiyonları ve static mut'tan kaçınma
  • Volatile erişim ve bellek eşlemeli register okuma/yazma
Modül 2
Gömülü Hata Ayıklama ve Boyut Optimizasyonu
  • probe-rs, cargo-embed ve cargo run ile cihaza yükleme
  • defmt ve RTT ile hafif günlükleme
  • OpenOCD + gdb ile adım adım hata ayıklama
  • flip-link ile yığın taşmasını donanımda yakalama
  • opt-level="z", lto ve codegen-units=1 ile imaj küçültme
  • cargo-bloat, cargo-size ve HardFault analizi
Modül 3
Çekirdek ve Çalışma Zamanı Temelleri
  • Bare-metal x86_64 hedefi: no_std, bootimage ve QEMU
  • VGA/seri çıktı, panic handler ve test çerçevesi
  • Kesme tanımlayıcı tablosu (IDT) ve istisna işleyicileri
  • Sayfalama, çerçeve ayırıcı ve heap allocator yazımı
  • Basit görev zamanlayıcı ve async executor
  • Rust for Linux: kernel modülü yazımına giriş
Modül 4
Büyük Proje Mimarisi ve API Tasarımı
  • Workspace, crate sınırları ve feature flag stratejisi
  • Rust API Guidelines: isimlendirme, From/AsRef, sealed trait
  • Hata tasarımı katmanları ve genişletilebilir enum (non_exhaustive)
  • Semver, cargo-semver-checks ve geriye uyumluluk
  • Unsafe denetimi: cargo-geiger, cargo-vet ve miri CI
  • Belgeleme: rustdoc, doctest ve örnek crate'ler

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Sistem çağrıları

libc ve nix ile açık sistem çağrıları yapabilirsiniz.

🎯
Süreç yönetimi

fork/exec ve boru hatlarını uygulayabilirsiniz.

🧩
I/O modelleri

epoll ve io_uring mantığını karşılaştırabilirsiniz.

🛠️
Ağ programlama

TCP/UDP sunucu ve istemci yazabilirsiniz.

🔍
FFI

bindgen ve cbindgen ile C ile entegre olabilirsiniz.

🚀
Bellek yönetimi

Özel allocator ve arena yapısı geliştirebilirsiniz.

📈
Hata ayıklama

strace, perf ve gdb ile Rust ikilisini inceleyebilirsiniz.

🧪
Bare-metal temel

no_std çekirdek iskeleti oluşturabilirsiniz.

Kimler İçin Uygundur?

  • C/C++ ile sistem
  • ağ veya sürücü yazılımı geliştiren mühendisler
  • Rust ile düşük seviyeli yazılıma geçmek isteyen deneyimli yazılımcılar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C/C++ ile sistem, ağ veya sürücü yazılımı geliştiren mühendisler ve Rust ile düşük seviyeli yazılıma geçmek isteyen deneyimli yazılımcılar için uygundur.
Hangi işletim sistemi gerekir?
Linux (veya WSL2); strace, perf ve QEMU kullanılır.
C bilmek şart mı?
Zorunlu değil ancak C'deki bellek ve sistem çağrısı mantığına aşina olmak yardımcı olur.
Çekirdek yazacak mıyız?
Eğitim çekirdeğe giriş niteliğindedir: VGA çıktısı, IDT, sayfalama ve basit heap allocator ile minimal bir iskelet kurulur.
Eğitim sonunda sertifika alabilir miyim?
Evet. Devamlılık ve başarı koşullarını yerine getiren katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Sistemler Programlaması için Rust Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn