İşlem (process), hafıza yönetimi, giriş/çıkış yönetimi, dosya sistemleri ve işlemler arası iletişim/senkronizasyon kavramları ve bellek yönetimi konuları üzerinde durulur. Derste işlenen bilgileri uygulamaya geçirmek için yapılan laboratuvar çalışmalarında C programlama dili kullanılır.
1. Giriş, OS türleri, Temel Kavramlar, Dersin Kapsamı
2. Temel OS bileşenleri, donanım sınıfları, dosya sistemleri
3. Process, Thread, Sistem Çağrıları, Sistemsel ve İçsel Bağlam Takaslama,
4. Temel Senkronizasyon Araçları, Üreten/Tüketen yapısı
5. Zamanlama
6. Güvenlik, Koruma
7. Vize haftası
8. Sanal Bellek I
9. Sanal Bellek II
10. Etkin Önbellek yönetimi, Tutarlılık ve İnsicam
11. Yüksek Performanslı Kilitler, Adil Zamanlama, Karşılıklı kilitlenme
12. Dinamik Bellek Yönetimi
13. Bağlama, Dinamik Kütüphaneler, Deployment
14. OS veya Donanım destekli tecrit
Bu dersi başarıyla tamamlayan öğrenci aşağıdaki konularda yetkinlik kazanır:
1. Standart bir işletim sisteminin işleyişini açıklayabilme yetisi,
2. Alt seviye C POSIX kullanabilme ve programlayabilme becerisi,
3. Çoklu-işlem programlamayı açıklayabilme ve kullanma yetisi,
4. Süreçler arası senkronizasyon gerekliliklerini analiz etme, açıklayabilme ve uygulama becerisi,
5. Etkin bellek yönetimi yetisi,
Anlatım, Tartışma, Gösterip Yaptırma, Örnek Olay, Problem Çözme, İşbirlikli Öğrenme, Proje, Beyin Fırtınası
Kitap: Operating System Concepts, 10th Ed. Silberschatz, Galvin, Gagne
Ders Notlari: https://burakarslan.com/inf333
Ders Projesi: https://pintos-os.org/
| Hafta | Konu Başlıkları |
|---|---|
| 1 | Giriş, OS türleri, Temel Kavramlar, Dersin Kapsamı |
| 2 | Temel OS bileşenleri, donanım sınıfları, dosya sistemleri |
| 3 | Process, Thread, Sistem Çağrıları, Sistemsel ve İçsel Bağlam Takaslama, |
| 4 | Temel Senkronizasyon Araçları, Üreten/Tüketen yapısı |
| 5 | Zamanlama |
| 6 | Güvenlik, Koruma |
| 7 | Vize haftası |
| 8 | Sanal Bellek I |
| 9 | Sanal Bellek II |
| 10 | Etkin Önbellek yönetimi, Tutarlılık ve İnsicam |
| 11 | Yüksek Performanslı Kilitler, Adil Zamanlama, Karşılıklı kilitlenme |
| 12 | Dinamik Bellek Yönetimi |
| 13 | Bağlama, Dinamik Kütüphaneler, Uygulama Yayınlama |
| 14 | OS veya Donanım destekli Tecrit |
| Hafta | Konu Başlıkları |
|---|---|
| 1 | Linux Temelleri I |
| 2 | Linux Temelleri II |
| 3 | Pintos’a Giriş |
| 4 | Süreç, İş Parçacığı |
| 5 | Bağlam Değiştirme |
| 6 | Mutex |
| 7 | Vize Haftası |
| 8 | Pintos II |
| 9 | Üreten/Tüketen Yapısı |
| 10 | Semafor |
| 11 | Semafor II |
| 12 | Mutex Kuyruğu Yönetimi |
| 13 | Paylaşımlı Mutex |
| 14 | Ölü Kilitlenme |
| Etkinlikler | Sayı | Katkı Payı |
|---|---|---|
| Yarıyıl içi çalışmaların başarı notuna katkısı | 4 | 60 |
| Yarıyıl sonu çalışmaların başarı notuna katkısı | 1 | 40 |
| Toplam | 5 | 100 |
| Etkinlikler | Sayı | Katkı Payı |
|---|---|---|
| Ödevler | 0 | 0 |
| Sunum | 0 | 0 |
| Arasınavlar (Hazırlık Süresi Dahil) | 1 | 15 |
| Proje | 2 | 30 |
| Laboratuar | 1 | 15 |
| Diğer Uygulamalar | 0 | 0 |
| Kısa Sınavlar | 0 | 0 |
| Dönem Ödevi / Projesi | 0 | 0 |
| Portfolyo Çalışmaları | 0 | 0 |
| Raporlar | 0 | 0 |
| Öğrenme Günlükleri | 0 | 0 |
| Bitirme Tezi/Projesi | 0 | 0 |
| Seminer | 0 | 0 |
| Diğer | 0 | 0 |
| Bütünleme | 0 | 0 |
| Toplam | 4 | 60 |
| Etkinlikler | Sayı | Süre | Toplam İş Yükü |
|---|---|---|---|
| Ders Süresi | 13 | 2 | 26 |
| Sınıf Dışı Çalışma Süresi | 13 | 2 | 26 |
| Ödevler | 0 | 0 | 0 |
| Sunum | 0 | 0 | 0 |
| Arasınavlar (Hazırlık Süresi Dahil) | 0 | 0 | 0 |
| Proje | 2 | 20 | 40 |
| Laboratuar | 1 | 26 | 26 |
| Diğer Uygulamalar | 0 | 0 | 0 |
| Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) | 1 | 10 | 10 |
| Kısa Sınavlar | 0 | 0 | 0 |
| Dönem Ödevi / Projesi | 0 | 0 | 0 |
| Portfolyo Çalışmaları | 0 | 0 | 0 |
| Raporlar | 0 | 0 | 0 |
| Öğrenme Günlükleri | 0 | 0 | 0 |
| Bitirme Tezi/Projesi | 0 | 0 | 0 |
| Seminer | 0 | 0 | 0 |
| Diğer | 0 | 0 | 0 |
| Bütünleme | 0 | 0 | 0 |
| Ts Yıl Sonu | 0 | 0 | 0 |
| Hazırlık Yıl Sonu | 0 | 0 | 0 |
| Hazırlık Bütünleme | 0 | 0 | 0 |
| Toplam İş Yükü | 128 | ||
| Toplam İş Yükü / 25 | 5.12 | ||
| Dersin AKTS Kredisi | 5 | ||