Ders Bilgileri
SİSTEM PROGRAMLAMA | ||||||
---|---|---|---|---|---|---|
Kodu | Dönemi | Teori | Uygulama | Ulusal Kredisi | AKTS Kredisi | |
Saat / Hafta | ||||||
BM301 | Güz | 3 | 2 | 4 | 6 |
Ön Koşulu Olan Ders( ler ) | BM208 İşletim Sistemleri (Alma koşulu) – CE208 Operating Systems (Alma Koşulu) |
Dili | tr |
Türü | Zorunlu |
Seviyesi | Lisans |
Öğretim Elemanı( ları ) | Doç.Dr. Zeki YETGİN |
Öğretim Sistemi | Yüz Yüze |
Önerilen Hususlar | Dersi alanların temel işletim sistemleri bilgisine sahip olması gerekir. |
Staj Durumu | Yok |
Amacı | Öğrencilerin İşletim Sistemine sunulan servisler ve Donanıma sunulan servisler geliştirebilmeleri için altyapı oluşturmaktır. |
İçeriği | Sistem Programlamanın alanı ve görevleri, Unix ve Windows mimarileri, servisleri ve özellikleri, bir programın yazılımındaki adımlar, önderleyici, makrolar, derleyici ve birleştirici, kabuk ortamları ve kabuk programlama, sistem çağrıları ve kütüphane çağrıları, İşlemler, üst ve alt İşlemler, işlemler arası eşzamanlılık, çoklu-programlama ve iş parçacıkları, disk işlemleri, bellek işlemleri ve sanal bellek, işlemler arası iletişim, dosyalar, geçitler, mesaj kuyrukları, ortak bellek, sinyaller ve semaforlar, soketler, udp ve tcp soketleri, uzaktan yordam çağrısı, işlemler arası iletişimle istemci-sunucu mimarileri, uzaktan yordam çağrısı, işletim sistemi özelleştirme, aygıt sürücü geliştirme |
Dersin Öğrenim Çıktıları
# | Öğrenim Çıktıları |
---|---|
1 | İşletim sistemine ait belli görevleri yerine getirecek programlama yapabilir. |
2 | İşletim Sistemine sunulan servisler ve Donanıma sunulan servisler geliştirebilir. |
3 | Bir sisteme ait kaynakları programlama yoluyla yönetebililir |
4 | Hedef platforma göre, bir sistemin gereksinim analizini yapabililir. |
5 | Hedef platforma göre bir sistem tasarımı yapabilir. |
Haftalık Ayrıntılı Ders İçeriği
# | Konular | Öğretim Yöntem ve Teknikleri |
---|---|---|
1 | Sistem Programlamanın alanı ve görevleri : Sistem Progralamanın geleneksel alanları. Bir OS ortamında Sistem Programlama. Unix ve Windows tarihi, mimarisi, servisleri ve özellikleri | Anlatım, Tartışma |
2 | Unix ortamında bir program. Bir programın yazılımındaki adımlar. Ön-derleyici, Makrolar, Derleyici, Modüller, Birleştirici. Komut satırı parametreleri, Ortam parametreleri, Kabuk Programlama | Anlatım, Tartışma |
3 | Sistem Çağrıları, önemi ve sınıflanması. Sistem çağrıları ve kütüphane çağrıları. İşlemler Arası İletişim (IPC) ve Ağ Programlama için Sistem Çağrıları. UNIX te sistem ve kütüphane çağrıları, genel yapısı ve arabirimleri. | Anlatım, Tartışma |
4 | İşlemler. UNIX te İşlemlerin yaratılması. Ana işlem ve Üst ve Alt İşlemler. | Anlatım, Tartışma |
5 | İşlemlerin kullanılması. Fork() sistem çağrısı. Exec() ailesi sistem çağrıları. Ana işlem ve Alt İşlem arasındaki senkronizasyonlar : system(), wait() , exit(), v.b | Anlatım, Tartışma |
6 | Çoklu-Programlama ve İş Parçacıkları(Thread) temelleri | Anlatım, Tartışma |
7 | Disk işlemleri. I/O dizin ve dosya sistemi işlemleri. Sanal Bellek | Anlatım, Tartışma |
8 | İşlemler Arası İletişim (IPC) : amacı ve sistem programlamadaki kullanımı. IPC mekanizmaları. Geçitler (pipe) olarak IPC: adlandırılmış ve adlandırılmamış geçitler. | Anlatım, Tartışma |
9 | ARA SINAV | Ölçme ve Değerlendirme |
10 | Mesaj Kuyrukları | Anlatım, Tartışma |
11 | Sinyaller, Semaforlar ve Ortak Bellek | Anlatım, Tartışma |
12 | Soketler ve IPC için kullanımı.UDP ve TCP soketleri. Network Programlama | Anlatım, Tartışma |
13 | RPC (Uzaktan Yordam Çağrısı) | Anlatım, Tartışma |
14 | İşletim Sistemi özelleştirme, Aygıt sürücü geliştirme demo uygulamalar | Anlatım, Tartışma |
15 | DÖNEM SONU SINAVI | Ölçme ve Değerlendirme |
16 |
Resources
# | Malzeme / Kaynak Adı | Kaynak Hakkında Bilgi | Referans / Önerilen Kaynak |
---|---|---|---|
1 | İşletim Sistemleri ve Sistem Programlama Mutlu Avcı | ||
2 | UNIX/LINUX Sistem Programla Ders Notları 2002, C ve Sistem Programcılar Derneği |
Ölçme ve Değerlendirme Sistemi
# | Ağırlık | Çalışma Türü | Çalışma Adı |
---|---|---|---|
1 | 0.2 | 1 | 1. Ara Sınav |
2 | 0.2 | 11 | 1. Laboratuar |
3 | 0.6 | 5 | Son Sınav |
Dersin Öğrenim Çıktıları ve Program Yeterlilikleri ile İlişkileri
# | Öğrenim Çıktıları | Program Çıktıları | Ölçme ve Değerlendirme |
---|---|---|---|
1 | İşletim sistemine ait belli görevleri yerine getirecek programlama yapabilir. | 4͵5 | 1͵2͵3 |
2 | İşletim Sistemine sunulan servisler ve Donanıma sunulan servisler geliştirebilir. | 4͵5 | 1͵2͵3 |
3 | Bir sisteme ait kaynakları programlama yoluyla yönetebililir | 4͵5͵6 | 1͵2͵3 |
4 | Hedef platforma göre, bir sistemin gereksinim analizini yapabililir. | 3͵4͵5͵6 | 1͵2͵3 |
5 | Hedef platforma göre bir sistem tasarımı yapabilir. | 3͵4͵5͵6 | 1͵2͵3 |
Not: Ölçme ve Değerlendirme sütununda belirtilen sayılar, bir üstte bulunan Ölçme ve Değerlerndirme Sistemi başlıklı tabloda belirtilen çalışmaları işaret etmektedir.
İş Yükü Detayları
# | Etkinlik | Adet | Süre (Saat) | İş Yükü |
---|---|---|---|---|
0 | Ders Süresi | 14 | 5 | 70 |
1 | Sınıf Dışı Ders Süresi (Ön çalışma, pekiştirme) | 14 | 3 | 42 |
2 | Sunum ve Seminer Hazırlama | 0 | 0 | 0 |
3 | İnternette tarama, kütüphane ve arşiv çalışması | 0 | 0 | 0 |
4 | Belge/Bilgi listeleri oluşturma | 0 | 0 | 0 |
5 | Atölye | 8 | 4 | 32 |
6 | Ara Sınav için Hazırlık | 0 | 0 | 0 |
7 | Ara Sınav | 1 | 8 | 8 |
8 | Kısa Sınav | 0 | 0 | 0 |
9 | Ödev | 0 | 0 | 0 |
10 | Ara Proje | 0 | 0 | 0 |
11 | Ara Uygulama | 0 | 0 | 0 |
12 | Son Proje | 0 | 0 | 0 |
13 | Son Uygulama | 0 | 0 | 0 |
14 | Son Sınav için Hazırlık | 0 | 0 | 0 |
15 | Son Sınav | 1 | 10 | 10 |
162 |