Türkçe | English
MÜHENDİSLİK FAKÜLTESİ / BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
( I. ÖĞRETİM) - %30 İngilizce
Ders Bilgi Paketi
https://www.ktu.edu.tr/bilgisayar
Tel: +90 0462 377 2080
MF
MÜHENDİSLİK FAKÜLTESİ / BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ / ( I. ÖĞRETİM) - %30 İngilizce
Katalog Ana Sayfa
  Katalog Ana Sayfa  KTÜ Ana Sayfa   Katalog Ana Sayfa
 
 

COM3000System Programming3+0+0AKTS:5
Yıl / YarıyılBahar Dönemi
Ders DuzeyiLisans
Yazılım ŞekliZorunlu
BölümüBİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Ön KoşulCOM1002-Programming - II, COM1000-Introduction To Computer Programming veya COM2001-Object Oriented Programming
Eğitim SistemiYüz yüze
Dersin Süresi14 hafta - haftada 3 saat teorik
Öğretim ÜyesiDoç. Dr. Hüseyin PEHLİVAN
Diğer Öğretim ÜyesiYok
Öğretim Diliİngilizce
StajYok
 
Dersin Amacı:
Unix pencere sistemi, düzenli ifadeler, kullanıcı çevre yapılandırması, shell betikleri yazımı, çeşitli system programlama araçları (gcc, gdb, make, sed ve awk gibi) , işletim sistemi yapıları, dosya sistemi işlemleri, system çağrıları ve kütüphaneleri, süreç haberleşmesi, pipe'lar ve sinyaller başta olmak üzere Unix çevrelerinde betik ve system programlama dillerine bir giriş yapmaktır.
 
Öğrenim KazanımlarıBPKKÖY
Bu dersi başarı ile tamamlayan öğrenciler :
ÖK - 1 : komut satırından shell çevrelerini yönetebilir.2,3,41
ÖK - 2 : shell ve sistem komutları ile nasıl ilgilenildiğini açıklayabilir.2,3,41
ÖK - 3 : çeşitli sistem görevleri için shell betikleri yazabilir.2,3,41
ÖK - 4 : düzenli ifadeleri kullanarak herhangi bir metin dosyası verisini işleyebilir.2,3,41
ÖK - 5 : yüksek seviyeli programlama dillerinde programlar yazmak için yazılım geliştirme araçlarını kullanabilir.2,3,41
ÖK - 6 : C yada C++ programları içerisinden system çağrısı arayüzünü kullanabilir.2,3,41
ÖK - 7 : sistem çağrıları yardımıyla dosya ve süreç alt sistemlerini yönetebilir.2,3,41
BPKK :Bölüm program kazanımlarına katkı, ÖY : Ölçme ve değerlendirme yöntemi (1: Yazılı Sınav, 2: Sözlü Sınav, 3: Ev Ödevi, 4: Laboratuvar Çalışması/Sınavı, 5: Seminer / Sunum, 6: Dönem Ödevi / Proje),ÖK : Öğrenim Kazanımı
 
Ders İçeriği
Unix sistemleri: Unix sürümleri, katmanlar, sistem girişi, komut çalıştırma. Unix dosya sistemleri: Çalışma dizini, dosya hiyerarşisi, sistem yolları, standart dizinler, dosya tipleri, dosya işleme, dosya izinleri, dosya ismi yerdeğiştirme, dosya sistemleri. Shell işleçleri: Standard dosyalar, dosya tanımlayıcılar, G/Ç yönlendirme, pipe'lar, süreçler, süzgeçler, haberleşme. Düzenli ifadeler (RE) : RE'leri kullanan komutlar, egrep komutu, meta karakterler. Pencere sistemi: X pencereleri, X sunucusu, pencere yöneticileri, masaüstü çevresi. Shell çevreleri: Komut satırı ayrıştırma, metne bağlı tamamlama, takma isimler, komut satırını düzenleme, komut geçmişi. Shell programlama: Shell değişkenleri, tamsayı aritmetiği, değişken yerdeğiştirme, komut satırı argümanları, komut yerdeğiştirme, control yapıları, fonksiyon tanımlama ve çağırma, giriş betikleri, shell betikleri. Program geliştirme araçları: Kaynak dosyaların oluşturulması, ayrık derleme, koşma ve test, gcc ve make komutları. Sistem programlama: Dosyalar, dizinler, süreçler, saklamalı G/Ç, standart G/Ç, standart kanallar, system çağrısı arayüzü. Dosya işlemleri: Temel dosya G/Ç, dosya tanımlayıcıları, dosyaları oluşturma ve açma, dosyaları okuma ve yazma, dosya araştırma, çekirdek işlemler, dosya kontrolü, aygıt dosyaları. Süreç işlemleri: Süreçler oluşturma, programları çalıştırma, çıkış durumu, sahipsiz süreçler, pipe sistem çağrısı, sinyaller.
 
Haftalık Detaylı Ders İçeriği
 HaftaDetaylı İçerikÖnerilen Kaynak
 Hafta 1UNIX Sistemlerine Giriş
 Hafta 2Unix Dosya Sistemleri
 Hafta 3Metin Düzenleyiciler ve Komut Yorumlayıcı İşleçleri
 Hafta 4Düzenli İfadeler ve Unix Pencere Sistemi
 Hafta 5Unix Yorumlayıcı Çevreleri ve Script Kavramı
 Hafta 6Betik Programlama - I
 Hafta 7Betik Programlama - II
 Hafta 8Program Geliştirme Araçları (gcc, make, gdb) ve Diğer Araçlar (sed, awk, perl)
 Hafta 9Arasınav
 Hafta 10Dosya Yönetimi - I (open, creat, read, write, lseek)
 Hafta 11Dosya Yönetimi - II (chmod, chdir, link, fcntl, ioctl)
 Hafta 12Süreç Yönetimi - I (fork, exec, wait)
 Hafta 13Süreç Yönetimi - II (pipe, dup, close)
 Hafta 14Soketler
 Hafta 15Temel Unix Sistem Yönetimi
 Hafta 16Dönem sonu sınavı
 
Ders Kitabı / Malzemesi
1Kochan, S. G., Wood, P., 2016, Shell Programming in Unix, Linux and OS X, 4th ed., Addison-Wesley Professional, 416 p.
2Palakollu, S. M., 2021, Practical System Programming with C - Pragmatic Example Applications in Linux and Unix-Based Operating Systems, Apress, 286 p.
 
İlave Kaynak
1Wang, K. C., 2018, Systems Programming in Unix/Linux, Springer, 468 p.
2Harwani, B. M., 2013, Unix and Shell Programming, Oxford University Press, 734 p.
 
Ölçme Yöntemi
YöntemHaftaTarih

Süre (Saat)Katkı (%)
Arasınav 9 2 50
Dönem sonu sınavı 16 2 50
 
Öğrenci Çalışma Yükü
İşlem adıHaftalık süre (saat)

Hafta sayısı

Dönem toplamı
Yüz yüze eğitim 3 14 42
Sınıf dışı çalışma 5 14 70
Arasınav için hazırlık 15 1 15
Arasınav 2 1 2
Dönem sonu sınavı için hazırlık 20 1 20
Dönem sonu sınavı 2 1 2
Toplam Çalışma Yükü151