İçeriğe geç
academia.sh

Kurs İleri

C ile Sistem Programlama

Yayın Güncelleme

Bu kursun sonunda

Kursa başla

01

Sistem Arayüzleri

Dosya tanıtıcıları ve paylaşılan dosya konumu, süreç oluşturma ve bekleme, sinyal işleme, boru, paylaşılan bellek ve soketle süreçler arası iletişim, ve POSIX iş parçacıklarında kilitle paylaşım — her biri bir değişikliği kimin gördüğü sorusuyla birlikte.

  1. 01 Dosya Tanıtıcıları Bir işaretçinin aynı bellek konumunu gösterip göstermediği eşitlikle ölçülür; bir dosya tanıtıcısının aynı açık dosya kaydını paylaşıp paylaşmadığı ise konum davranışıyla ölçülür — tanıtıcının kendisi bir tamsayıdır ve hiçbir şey söylemez.
  2. 02 Süreç Yönetimi fork bir süreci ikiye ayırır ve o anki belleğin bir kopyasını çocuğa verir; kopya kurulduktan sonra iki taraf birbirinden bağımsızdır, hiçbir değişiklik öteki tarafa hiçbir yönde ulaşmaz.
  3. 03 Sinyaller Bir sinyal isleyicisi ana akisin disinda, beklenmedik bir noktada calisir; guvenli tek paylasim bicimi volatile sig_atomic_t bir bayraktir, ve bir sinyal engellenmisken tekrar gelirse ac ldiginda yalniz bir kez teslim edilir.
  4. 04 Süreçler Arası İletişim Bir boru baytları bir kez tasir ve okunan her bayt akistan duser; mmap ile MAP_SHARED kurulan bir eslem ise ayni sayfayi iki surece birden gosterir ve bu ikisi ayni derste iki farkli sinifa duser.
  5. 05 POSIX İş Parçacıkları Ayni surec icindeki iki is parciciginin ayni bellegi kilit altinda degistirmesi, borunun tasidigi baytlar gibi bir kez tuketilen bir aktarim degil, surekli paylasilan bir ortak degisimdir.

02

Veri Yapıları ve Deyimler

Bağlı yapılar ve takma ad, halka arabellek ve kuyruklar, karma tabloları, işlev tablosuyla nesne benzeri tasarım, ve işletim sistemi kaynaklarını tek çıkış noktasından temizleme deyimleri.

  1. 01 Bağlı Yapılar Bağlı liste ve ikili arama ağacının C gerçeklemesi; bir düğümü takma adla değiştirmenin ve sığ kopyanın paylaşılan görünürlüğü, derin kopyanın ise onu kestiği ölçümü.
  2. 02 Halka Arabellek ve Kuyruklar Sabit kapasiteli halka arabellek ve bağlı kuyrukta bir değerin üretici ile tüketici arasında tam bir kez geçmesi; okunan değerin arabellekte kalmadığının eşitlikle ölçülmesi.
  3. 03 Karma Tabloları Ayrık zincirlemeli bir karma tablosunda bir kaydın okunmasının kendi kopyasını ürettiği, tablodaki kaydı değiştirmediği; çakışan anahtarların aynı kovada zincirlendiği ölçümü.
  4. 04 Nesne Benzeri Tasarım Opak bir yapı ve yapı içi işlev işaretçileriyle kurulan nesne benzeri arayüzlerde, iki tutamacın aynı nesneyi paylaştığının ve bir metot çağrısının da bu paylaşımı değiştirmediğinin ölçümü.
  5. 05 Kaynak Temizleme Deyimleri Birden fazla kaynağın sırayla açıldığı bir işlevde, hata yolunda hiçbir okuyucuya ulaşmadan kapatılıp kaybolan kaynağın ölçümü.

03

Proje Altyapısı

Bağımlılık grafiğiyle derleme sistemleri, statik ve dinamik kütüphane üretimi, yalıtılmış birim test ve sahteleme, kesme noktası ve gözetleme noktasıyla hata ayıklama, ve eniyileme düzeylerinin gözlenebilir davranışı nasıl koruduğu.

  1. 01 Derleme Sistemleri Bağımlılığı yazılmamış bir başlığın kural tabanlı bir derleme modelinde neden hâlâ eski sürümde kaldığını, zaman damgası karşılaştırmasını C içinde kurarak ölçer.
  2. 02 Kütüphane Üretimi Bir kütüphanenin programa gömülerek mi yoksa yüklemede okunarak mı bağlandığının, kütüphane sürümü değiştiğinde programın hangi değeri gördüğünü nasıl belirlediğini ölçer.
  3. 03 Test Çerçeveleri Çatallanmış bir çocukta koşan bir testin değişikliğinin neden sonraki teste sızmadığını, ve bu yalıtımın dosya sistemi durumunu neden kapsamadığını ölçer.
  4. 04 Hata Ayıklayıcı Kullanımı Bir kesme noktasının adımlar arasındaki ara değeri neden hiç görmediğini, gözetleme noktasının aynı değeri neden gördüğünü C içinde modelleyerek ölçer.
  5. 05 Optimizasyon Düzeyleri Eniyileyicinin okunmayan bir yazmayı sildiği model üzerinden as-if kuralı, volatile'ın verdiği garanti ve kursun on beş dersinin toplu dökümü.

Bitirme sınavı

C ile Sistem Programlama — Bitirme Sınavı

Hazırlanıyor

Bu kursun soru bankası henüz tamamlanmadı. Yeterli soru eklendiğinde sınav burada otomatik olarak açılır.

Aramak için yazmaya başlayın.

↑↓ ↵ Esc gezin · aç · kapat