Önsöz
Unix/Linux platformlarında verimli uygulamalar geliştirebilmek için uygulama geliştiricinin kullandığı sistemin genel özelliklerinden ve sistem programlama disiplini altında değerlendirilen temel kavramlarla ilgili daha fazla bilgi sahibi olması gereklidir.
Bunu tek başına olumsuz bir faktör olarak değerlendirmemek gerekir. Esasen iyi bir uygulama geliştiricinin yolu, elbette sistem programlamadan da geçmelidir. Eğer Java, Ruby on Rails vb. gibi çok üst düzey soyutlamalar sunan gelişmiş bir dil/platform kullanıyorsanız, sistem programlama bilgisi günlük çalışmalarınız için elzem değildir. Bununla birlikte sistem programlama bilgisi, bu platformlarda dahi ortaya çıkan iş kalitesini artıran bir etken olacaktır. Ne kadar üst seviye bir dil olursa olsun, daha karmaşık konularda sistem programlamaya başvuru kaçınılmazdır.
Örnek olarak Ruby 2.1 Garbage Collection iyileştirmesi ve bir takım sihirli ortam değişkenlerinin etkisini anlayabilmek için, sistem programlama konularına önemli oranda aşina olmanız gerekir.
Bu kitapta biz öncelikli olarak Linux Sistem Programlama konularına değinecek, yanısıra doğrudan sistem programlama ile ilgisi olmamakla birlikte ilginizi çekebilecek bazı ek başlıklara da yer vereceğiz.