
Linux Sistem Programlama Eğitimi
Linux çekirdeğinin derinliklerine inin ve doğrudan işletim sistemiyle konuşan, üretim kalitesinde C programları yazmayı öğrenin. Bu kurs
Neler öğreneceksiniz:
Linux'un süreçleri, belleği, dosyaları ve ağ bağlantılarını sistem çağrısı düzeyinde nasıl yönettiğine dair kesin bir anlayış geliştireceksin. Dosya G/Ç, süreçler arası iletişim ve soket tabanlı ağ oluşturma için POSIX API'lerini kullanan C programları yazacaksın. pthreads eşzamanlama ilkellerini kullanarak çok iş parçacıklı uygulamalar geliştirecek ve veri yarışlarını ortadan kaldıracaksın. GDB, strace, Valgrind, AddressSanitizer, perf ve io_uring dahil olmak üzere ileri düzey araçları uygulayacaksın. Ayrıca ad alanları, seccomp ve yetenekler gibi Linux güvenlik ilkellerini de ele alacaksın. Sonunda, üretim Linux ortamlarında güvenilir bir şekilde çalışan sistem yazılımlarını tasarlama, hata ayıklama ve optimize etme becerisine sahip olacaksın.
Nasıl pratik şekilde çalışırsınız Linux Sistem Programlama Eğitimi
Nasıl pratik yaparsınız Linux Sistem Programlama Eğitimi
Şirketiniz için ekibinizi eğitmek isteyenlere özel
Dedika Kurumsal'da, kurs kendi işinize ve şirketinizin ihtiyaçlarına uygun egzersizler ve örneklerle gelir.
Kurs İçeriği
8 Bölüm • 40 Ders4 ile 360 saat arasında (siz karar verin)
Bölüm 1GizleDetayları GizleDetayları GörLinux Sistem Programlamanın Temelleri
Linux Sistem Programlamanın Temelleri
Ders 1 • Sistem Çağrılarına Giriş
Kullanıcı programlarının, glibc sarmalayıcıları ve ham syscall kullanarak çekirdek hizmetlerini nasıl çağırdığını gösterir. C kütüphane işlevlerini temel çekirdek işlemlerine bağlar.
Ders 2 • Linux Mimarisi ve Çekirdeğe Genel Bakış
Çekirdek alanı ile kullanıcı alanı arasındaki farkı, monolitik çekirdek tasarımını ve donanım soyutlamasını kapsar. Sonraki tüm programlama konularının dayandığı kavramsal çerçeveyi oluşturur.
Ders 3 • Derleme, Bağlama ve Yükleme
Kaynak koddan çalıştırılabilir dosyaya kadar tüm araç zinciri hattını, statik ve dinamik bağlama dahil olmak üzere açıklar. Öğrencileri derleme hatalarını teşhis etmeye ve ikili dosya yapısını anlamaya hazırlar.
Ders 4 • Sistem Çalışmaları için Temel C Bilgisi
Sistem kodları için kritik olan işaretçiler, bellek düzeni, yapılar ve bit düzeyinde işlemleri gözden geçirir. Genel C bilgisini, kurs boyunca kullanılan düşük seviyeli kalıplara köprüler.
Ders 5 • Geliştirme Ortamı Kurulumu
GCC, GDB, Make ve gerekli kütüphanelerle bir Linux geliştirme ortamı yapılandırır. Her öğrencinin herhangi bir kod yazmadan önce tekrarlanabilir bir derleme taban çizgisine sahip olmasını sağlar.
Bölüm 2GizleDetayları GizleDetayları GörDosya G/Ç'si ve VFS Katmanı
Dosya G/Ç'si ve VFS Katmanı
Ders 1 • Dizin ve Metaveri İşlemleri
stat(), dizin dolaşımı ve sabit ve sembolik bağlantılar dahil bağlantı yönetimini öğretir. Programların dosya sistemi yapısını programlı olarak incelemesini ve değiştirmesini sağlar.
Ders 2 • POSIX Dosya İşlemleri
open(), read(), write(), lseek() ve close() işlevlerini ilgili tüm bayraklar ve modlarla kapsar. Doğru kullanım kalıplarını ve kısmi okuma/yazma gibi yaygın tuzakları öğretir.
Ders 3 • Bellekle Eşlenen Dosyalar
Hızlı G/Ç ve paylaşılan veri için dosyaları süreç adres alanına eşlemek üzere mmap()'i gösterir. Dosya G/Ç'sini sonraki bölümlerde tanıtılan sanal bellek kavramlarına bağlar.
Ders 4 • Dosya Tanımlayıcıları ve Açık Dosyalar
Açık dosya tablosunu, dosya tanımlayıcı tam sayılarını ve bunların arkasındaki çekirdek veri yapılarını açıklar. Sonraki tüm G/Ç çalışmalarını, çekirdeğin açık dosyaları nasıl takip ettiğine dair kesin bir modele dayandırır.
Ders 5 • Gelişmiş Dosya İşlemleri
Dağınık-topla G/Ç, dosya kırpma ve seyrek dosyalar için delik açmayı tanıtır. Temel G/Ç becerilerini yüksek performanslı ve depolama açısından verimli senaryolara genişletir.
Bölüm 3GizleDetayları GizleDetayları GörSüreçler: Oluşturma, Kontrol ve Sonlandırma
Süreçler: Oluşturma, Kontrol ve Sonlandırma
Ders 1 • Süreç İç Yapısı ve Nitelikleri
PID, PPID, UID, GID ve çekirdeğin tuttuğu süreç tanımlayıcı alanlarını inceler. Süreçleri programlı olarak kontrol etmek için gereken kelime dağarcığını ve veri modelini sağlar.
Ders 2 • Alt Süreçleri Bekleme ve Toplama
Alt süreç çıkış durumunu toplamak ve zombileri önlemek için wait(), waitpid() ve waitid()'i öğretir. Öğrencilerin sızıntısız çok süreçli programlar yazmasını sağlar.
Ders 3 • exec() ile Programları Çalıştırma
exec ailesini, argüman ve ortam geçirmeyi ve exec sırasında neyin korunduğunu açıklar. Öğrencilerin süreç görüntülerini doğru şekilde değiştiren kabuklar ve süreç başlatıcılar oluşturmasını sağlar.
Ders 4 • fork() ile Süreç Oluşturma
Kopyalama-üzerine-yazma semantiğini, dönüş değeri yönetimini ve fork() sonrası kaynak mirasını kapsar. Kurstaki tüm çok süreçli programlama kalıplarının temelini oluşturur.
Ders 5 • Süreç Kimlik Bilgileri ve Ayrıcalık
setuid/setgid bitlerini, yetenek kümelerini ve güvenli süreç tasarımı için ayrıcalık düşürmeyi kapsar. Öğrencileri yükseltilmiş izinleri güvenli bir şekilde yöneten programlar yazmaya hazırlar.
Bölüm 4GizleDetayları GizleDetayları GörSinyaller: İletim, İşleme ve Maskeleme
Sinyaller: İletim, İşleme ve Maskeleme
Ders 1 • Sinyal Kavramları ve Standart Sinyaller
Sinyal numaralarını, varsayılan düzenleri ve çekirdek iletim mekanizmasını tanıtır. Herhangi bir sinyal işleme kodu yazmadan önce gereken kavramsal modeli oluşturur.
Ders 2 • Sinyal Maskeleri ve Engelleme
sigprocmask(), sigset_t manipülasyonu ve engelleme yoluyla kritik bölge korumasını öğretir. Öğrencilerin çok adımlı işlemlerde sinyal yarışlarını önlemesini sağlar.
Ders 3 • Eşzamansız-Sinyal-Güvenli Programlama
Doğru, yeniden girişli işleyiciler yazmak için eşzamansız-sinyal-güvenli işlevleri ve kalıpları tanımlar. İşleyicilerin içinde güvenli olmayan işlevleri çağırmaktan kaynaklanan ince hataları önler.
Ders 4 • Gerçek Zamanlı Sinyaller ve signalfd
POSIX gerçek zamanlı sinyallerini, sıralama garantilerini ve senkron işleme için signalfd() arayüzünü kapsar. Sinyal becerilerini yüksek güvenilirlikli ve olay güdümlü mimarilere genişletir.
Ders 5 • Sinyal İşleyicileri Kurma
sigaction() yapısını, SA_bayraklarını ve eski signal()'dan farklarını kapsar. Yarış koşullarından kaçınan işleyiciler kurmanın doğru ve taşınabilir yolunu öğretir.
Bölüm 5GizleDetayları GizleDetayları GörSüreçler Arası İletişim
Süreçler Arası İletişim
Ders 1 • POSIX Mesaj Kuyrukları
mq_open(), mq_send(), mq_receive() ve öncelik tabanlı mesaj teslimatını öğretir. Mesaj odaklı IPC için bayt akışı borularına yapılandırılmış, türlendirilmiş bir alternatif sağlar.
Ders 2 • IPC Mekanizmalarını Karşılaştırma ve Seçme
Tüm IPC türlerinde verim, gecikme süresi, karmaşıklık ve kalıcılık ödünleşimlerini analiz eder. Öğrencileri gerçek sistem tasarımlarında bilinçli mimari kararlar alabilmeleri için donatır.
Ders 3 • POSIX Semaforları
Adlandırılmış ve adlandırılmamış semaforları, sem_wait/sem_post ve karşılıklı dışlama kalıplarını kapsar. Paylaşımlı belleği güvenli kullanmak için gereken senkronizasyon katmanını sağlar.
Ders 4 • Borular ve FIFO'lar
Anonim boruları, FIFO oluşturmayı ve ilişkili ve ilişkisiz süreçler için üretici-tüketici kalıbını kapsar. En basit koordinasyon ilkeli olarak tek yönlü bayt akışı IPC'sini tanıtır.
Ders 5 • POSIX Paylaşımlı Bellek
Süreçler arasında paylaşımlı bellek bölgeleri oluşturmak için shm_open(), ftruncate() ve mmap()'i gösterir. Yüksek verimli sıfır kopyalı veri alışverişini sağlar ve öğrencileri semafor tabanlı senkronizasyona hazırlar.
Bölüm 6GizleDetayları GizleDetayları GörBellek Yönetimi ve Sanal Bellek
Bellek Yönetimi ve Sanal Bellek
Ders 1 • Gelişmiş mmap() Kullanımı
Performans ayarı için MAP_ANONYMOUS, MAP_FIXED, büyük sayfalar ve madvise()'i gösterir. mmap() becerilerini dosya G/Ç'sinden genel amaçlı bellek yönetimine genişletir.
Ders 2 • Öbek Ayırma ve Ayırıcı
malloc(), calloc(), realloc(), free()'i ve alanlar dahil glibc ayırıcı iç yapısını kapsar. Doğru ayırma kalıplarını ve öbek bozulmasından nasıl kaçınılacağını öğretir.
Ders 3 • Bellek Koruması ve İzinler
Sayfa izinlerini değiştirmek için mprotect()'i ve ara bellek taşması tespiti için koruma sayfalarını öğretir. Öğrencilerin bellek düzeyinde güvenlik sertleştirme teknikleri uygulamasını sağlar.
Ders 4 • Sanal Bellek Mimarisi
Sayfa tablolarını, sanal adres alanı düzenini ve /proc/pid/maps arayüzünü açıklar. Ayırıcı davranışını ve mmap() semantiğini anlamak için gereken zihinsel modeli sağlar.
Ders 5 • Bellek Hatalarını Tespit Etme ve Düzeltme
Sızıntıları, kullanım-sonrası-serbest bırakma hatalarını ve taşmaları bulmak için Valgrind, AddressSanitizer ve LeakSanitizer kullanır. Üretim kalitesinde bellek güvenliğini sürdürmek için gereken tanı becerilerini oluşturur.
Bölüm 7GizleDetayları GizleDetayları GörPOSIX İş Parçacıkları ve Senkronizasyon
POSIX İş Parçacıkları ve Senkronizasyon
Ders 1 • İş Parçacığı Oluşturma ve Yaşam Döngüsü
pthread_create(), iş parçacığı niteliklerini, ayırma durumunu ve pthread_join()'i kapsar. Tüm senkronizasyon konularının üzerine inşa edildiği iş parçacığı yaşam döngüsü modelini oluşturur.
Ders 2 • Okuma-Yazma Kilitleri ve Bariyerler
Okuma ağırlıklı iş yükleri için rwlock ve aşama senkronizasyonu için pthread_barrier'ı kapsar. Senkronizasyon araç setini, özel kilitlemenin çok kaba olduğu kalıplara genişletir.
Ders 3 • Koşul Değişkenleri
pthread_cond_wait(), hatalı uyandırmalar ve yüklem döngüsü kalıbını gösterir. İş parçacıklarının boşta bekleme yapmadan durum değişikliklerini verimli bir şekilde beklemesini sağlar.
Ders 4 • Muteksler ve Kritik Bölgeler
Muteks başlatma, kilit/açık disiplini ve hata denetleyen muteks türlerini öğretir. Paylaşılan verileri eşzamanlı değişiklikten korumak için birincil aracı sağlar.
Ders 5 • İş Parçacığı-Yerel Depolama ve Güvenlik
__thread, pthread_key_t ve çok iş parçacıklı programlamada eşzamansız-sinyal güvenliğini açıklar. Paylaşımı önleyen ve kilit çekişmesini azaltan iş parçacığı başına durum kalıplarını öğretir.
Bölüm 8GizleDetayları GizleDetayları GörSoketler ve Ağ Programlama
Soketler ve Ağ Programlama
Ders 1 • Bloke Olmayan G/Ç ve epoll
Bloke olmayan soketler, epoll_create() ve kenar tetiklemeli mod kullanarak olay güdümlü bir sunucu uygular. Bağlantı yönetimini iş parçacığı başına bağlantı modelinin ötesine taşır.
Ders 2 • Soket API Temelleri
IPv4 ve IPv6 için socket(), bind(), listen(), accept(), connect() ve adres yapılarını kapsar. Tüm ağ programlamanın üzerine inşa edildiği temel API yüzeyini oluşturur.
Ders 3 • UDP ve Verigram Soketleri
UDP için sendto(), recvfrom() ve bağlantısız iletişim kalıplarını kapsar. UDP'nin güvenilmez teslimatını TCP ile karşılaştırır ve uygun kullanım durumlarını belirler.
Ders 4 • Soket Seçenekleri ve Gelişmiş Özellikler
Tamponları, keepalive'ı ve Nagle algoritması kontrolünü ayarlamak için getsockopt()/setsockopt()'u öğretir. Ağ bağlantılarının ince ayarlı performans ve güvenilirlik ayarını sağlar.
Ders 5 • TCP İstemci-Sunucu Programlama
Doğru bağlantı yönetimi ve sonlandırma ile tam bir TCP yankı sunucusu ve istemcisi uygular. Güvenilir akış iletişimini ve kısmi gönderme/alma işlemlerini yönetmenin önemini öğretir.
Geçerli tamamlama sertifikanız
Bu kurs sizin için:
Framework'lerinin altında neler olduğunu anlamak isteyen arka uç geliştiriciler.
Linux tabanlı platformlara ve POSIX API'lerine geçiş yapan gömülü sistem mühendisleri.
Ders çalışmaları ile endüstriyel sistem çalışmaları arasındaki boşluğu doldurmak isteyen bilgisayar bilimi mezunları.
Tahmin yürütmeden çekirdek düzeyindeki sorunları teşhis etmek isteyen DevOps mühendisleri.
Eğitimlerin ötesine geçip gerçek işletim sistemi etkileşimine geçmeye hazır hobi C programcıları.
Güvenlik açıklarını bulmak için Linux iç yapısını anlaması gereken güvenlik araştırmacıları.
Öğrencilerimiz ne diyor
Dersleriniz mükemmel. Bir yıllık paketi aldım ve sonunda ilgilendiğim çeşitli konuları platform değiştirmek zorunda kalmadan takip etme fırsatım var... yaptığınız her şey için teşekkür ederim, sizi başkalarına da tavsiye ettim...

Derslerin doğrudan konuya odaklanmasını ve bölümleri değiştirebilmemi, ihtiyacım olmayan içerikleri atlayabilmemi seviyorum.

İçeriği ve video sunumu ile transkripsiyon yöntemini seviyorum, bu süreci hızlandırıyor!

Platform hızlı, kullanımı kolay. İçerik çeşitliliği ve tamamlayıcı videolar öğrenmeye çok yardımcı oluyor.

Başlıca yetkinlikler
SSS
Dedika kimdir?
Sertifika Türkiye’de geçerli mi?
Kurslar ücretsiz mi?
Kursların ders yükü nedir?
Kurslar nasıl bir yapıya sahip?
Kurslar nasıl çalışıyor?
Kursların süresi nedir?
Kursların maliyeti veya fiyatı nedir?
Eğitimde uzaktan eğitim (EAD) veya online kurs nedir ve nasıl çalışır?
PDF Kursu




















