Email: levent.bayindir@atauni.edu.tr

BIM-301 – İşletim Sistemleri

İşletim Sistemleri dersinin amaci, temel işletim sistemi kavramlarının öğrenilmesi, işletim sistemini oluşturan temel algoritmaların kavranması, bu mekanizmaların C ve/veya Java’da gerçeklenerek daha iyi kavranmasının sağlanması ve ders süresi elverdiğince popüler bazı işletim sistemlerindeki farkların ve ortak noktaların irdelenmesidir.

Ders Asistanı: Arş. Gör. Mete YAĞANOĞLU
Ofis saati:


Duyurular

    • 27.12.2017 Vize notlarınızı bu dosyadan öğrenebilirsiniz.
    • 11.12.2017 Proje 1 ile ilgili duyurular:
      • Proje metninde bahsedilen ve telefonla kaydı yapılacak sunum için sınıf ayarlanmayacaktır. Eşleştirilen gruplar kendi aralarında anlaşarak ayarladıkları sessiz ve rahat bir ortamda sunumlarını yapacaklardır. Sunumlar kişisel bilgisayarınız kullanılarak yapılacaktır. Sunumlar için grup eşleşmeleri (hangi grubun hangi gruba sunacağı) asistanınızın odasının kapısında duyurulacaktır (en geç yarın). Oradan takip ediniz.
      • 3 ve 4’üncü aşamaları için değerlendirmelerin hangi tarih ve saatte yapılacağı asistanınızın kapısında duyurulacakıtr.
      • Önceki aşamalara ait notlar ve diğer ödev notlarınız asistanınızın kapısında duyurulacaktır.
      • Herhangi bir maduriyet yaşamamanız için asistanınızın kapısındaki duyuruları takip etmeniz gerekmektedir.
    • 31.10.2017 Proje 1 grup ve konu dağılımlarının güncellenmiş haline buradan ulaşabilirsiniz.
    • 30.10.2017 Proje 1’in ilk ve ikinci aşamalarının teslim tarihi vizelerden dolayı şu şekilde değiştirilmiştir. Aşama 1: 19.11.2017 ve Aşama 2: 30.11.2017. Diğer aşamaların teslim tarihleri değiştirilmemiştir.
    • 30.10.2017 Proje 2 son teslim tarihi 07.11.2017 olarak değiştirilmiştir.
    • 30.10.2017 Proje 1 gruplarına ve konu dağılımına buradan ulaşabilirsiniz.
    • 23.10.2017 Proje 2 dokümanına buradan ulaşabilirsiniz. Teslim tarihi: 04.11.2017
    • 23.10.2017 Proje 1 dokümanına buradan ulaşabilirsiniz. Teslim tarihleri doküman içerisindedir.
    • 16.09.2017 Dersin web sayfası yeni dönem için güncellendi.

Notlandırma

    • Ödevler: %30
    • Vize: %20
    • Final: %50

Ders Kitapları

    • Operating System Concepts with Java (8. baskı), Avi Silberschatz, Peter Baer Galvin ve Greg Gagne, John Wiley & Sons, 2009.
    • Modern Operating Systems (3. baskı), Andrew S. Tanenbaum, Prentice Hall, 2007.
    • Operating Systems – An Introduction, R. Garg ve G. Verma, Mercury Learning and Information, 2017
    • Operating Systems: Internals and Design Principles (8. baskı), William Stallings, Pearson, 2014
    • Operating Systems: Principles and Practice (2. baskı), Thomas Anderson ve Michael Dahlin, Recursive Books, 2014

Ders Çizelgesi ve Ders Notları

Hafta Tarih Konu(lar)
1 24/09 İşletim Sistemlerine Genel Bakış: Bilgisayar Sistemi Organizasyonu, Bilgisayar Sistemi Mimarisi, İşletim Sistemi Yapısı, İşletim Sistemi İşleyişi, İşlem Yönetimi, Hafıza Yönetimi, Depolama Birimi Yönetimi, Koruma ve Güvenlik, Dağıtık Sistemler, Özel Amaçlı Sistemler, Bilgisayar Ortamları ve Açık Kodlu İşletim Sistemleri
2 01/10 İşletim Sistemi Yapıları: İşletim Sistemi Servisleri, Kullanıcı İşletim Sistemi Arayüzü, Sistem Çağrıları, Sistem Çağrısı Tipleri, Sistem Programları, İşletim Sistemi Tasarım ve Gerçekleştirimi, İşletim Sistemi Yapısı, Sanal Makinalar, İşletim Sistemi Oluşturma ve Sistem Önyükleme
3 08/10 İşlemler (Processes): İşlem Kavramı, İşlem Durumları, İşlem Kontrol Bloğu, Hazır Kuyruğu ve I/O Cihaz Kuyrukları, İşlem Zamanlaması (Process Scheduling), Zamanlayıcılar, Ortam Değişikliği, İşlem Oluşturma, İşlem Sonlandırma, İşlemler Arası İletişim, Üretici-Tüketici Problemi, İşlemler Arası Mesaj Sistemi, Senkronizasyon, IPC Sistem Örnekleri, İstemci-Sunucu Sistemlerinde İletişim, Soketler, Uzak Prosedür Çağrıları ve Uzak Metot Çağırma
4 15/10 İş Parçacıkları (Threads): Tek ve Çok İş Parçacıklı İşlemler, İş Parçacıklarının Faydaları, Tek ve Çok Çekirdekli Sistemlerde Eş Zamanlı Çalıştırma, Kullanıcı İş Parçacıkları, Çekirdek İş Parçacıkları, Çoklu İş Parçacığı Modelleri, İş Parçacığı Kütüphaneleri, Pthreads, Java İş Parçacıkları, Java İş Parçacığı Durumları, Java ile Üretici-Tüketici Problemi Çözümü, İş Parçacıkları ile İlgili Mevzular, İş Parçacığı İptali, İş Parçacığı Havuzları ve İşletim Sistemi Örnekleri (Windows XP ve Linux)
5 22/10 İşlemci Zamanlaması (CPU Scheduling): CPU–I/O İşlem Döngüsü, CPU İşleme Süresi Dağılım Eğrisi, İşlemci Zamanlayıcısı, Görevlendirici (Dispatcher), Zamanlama Kriterleri, Zamanlama Algoritması Optimizasyon Kriterleri, İlk Gelen Önce – İşlemci Zamanlama Algoritması, En Kısa İş Önce – İşlemci Zamanlama Algoritması, Öncelik Tabanlı – İşlemci Zamanlama Algoritması, Zaman Dilimli – İşlemci Zamanlama Algoritması, Zaman Kuantumu ve Ortam Değiştirme Süresi, Çok kuyruklu – İşlemci Zamanlama Algoritması, Çok-seviye Geri Besleme Kuyruğu, İş Parçacığı Zamanlaması, Pthread Scheduling API, İşletim Sistemi Örnekleri (Solaris, Windows XP ve Linux), Java İş Parçacığı Zamanlaması, Zamanlama Algoritması Değerlendirmesi, Deterministik Modelleme, Kuyruklama Modelleri ve İz Kasetleri
6 29/10 İşlem Senkronizasyonu (1) (Process Synchronization): İşlem Senkronizasyonu Neden Gereklidir, Yarışma Durumu, Kritik-kısım Problemi, Peterson Çözümü, Senkronizasyon Donanımı, Semafor (Semaphore), Java ile Semafor Kullanımı, Semafor Gerçekleştirimi, Kilitlenme (Deadlock) ve Açlık (Starvation), , Sınırlı Tampon Bellek Problemi (Bounded-Buffer Problem), Okuyucular -Yazıcılar Problemi (Readers-Writers Problem), Yemek Yiyen Filozoflar Problemi (Dining-Philosophers Problem) ve Klasik Senkronizasyon Problemlerinin Semafor ile Çözümleri
7 05/11 İşlem Senkronizasyonu (2): Monitörler, Monitör Kullanımı, Monitör Koşul Değişkenleri, Yemek Yiyen Filozoflar için Monitör Çözümü, Java Senkronizasyonu – Giriş Kümesi (Entry Set), Java Senkronizasyonu – wait/notify(), notify() ve notifyAll(), Java Senkronizasyonu ile Okuyucular-Yazıcılar Problemi Çözümü, Java’da Blok Senkronizasyonu, Java 5’deki Aynı Anda Kullanım Özellikleri, Yeniden Girişli Kilitler (reentrant locks), Semaforlar (semaphores), Koşul değişkenleri (condition variables) ve Senkronizasyon Örnekleri (Solaris, Windows XP, Linux ve Pthreads)
8 12/11 VİZE
9 19/11 Kilitlenmeler (Deadlocks): Kilitlenme Problemi, Sistem Modeli, Kilitlenme Tarifi, Kaynak-Ayırım Çizgesi, Java Kilitlenme Örneği, Kilitlenmeler İçin Çözüm Yöntemleri, Kilitlenmeyi Önleme, Kilitlenmeden Kaçınma, Güvenli Durum (Safe State), Güvenilir, Güvenilmez ve Kilitlenme Durumları, Kilitlenmeden Kaçınma Algoritmaları, Kaynak-Ayırım Çizgesi Yaklaşımı, Banker Algoritması, Kilitlenme Tespit Algoritması ve Kilitlenmeden Kurtarma
10 26/11 Ana Bellek (Main Memory): Ana Bellek, Ön Bellek (Cache), Taban ve Sınır Yazmaçları, Komutların ve Verilerin Hafızaya Bağlanması, Kullanıcı Programının Çok Adımlı İşletimi, Mantıksal veya Fiziksel Adres Uzayı, Hafıza Yönetim Birimi (MMU), Dinamik Yükleme (Dynamic Loading), Dinamik Bağlama (Dynamic Linking), Yer Değiştirme (Swapping), Bitişik Bellek Yerleşimi, Yeniden Yerleştirme ve Sınır Yazmaçları için Donanım Desteği, Dinamik Kayıt Birimi Ayırım Problemi, Parçalanma (Fragmentation), Adres Dönüşüm Mekanizması, Sayfalama Donanımı, Sayfa Tablosunun Gerçekleştirimi, Çağrışımlı Bellek, TLB ile Sayfalama Donanımı, Geçerli Erişim Zamanı, Hafıza Koruma, Paylaşımlı Sayfalar, Sayfa Tablosunun Yapısı ve Segmentasyon (Segmentation)
11 03/12 Sanal Bellek (Virtual Memory)
12 10/12 Dosya Sistemi Arayüzü ve Gerçekleştirimi
13 17/12 I/O Sistemleri

Diğer Kaynaklar

Contact us

We're not around right now. But you can send us an email and we'll get back to you, asap.

Questions, issues or concerns? I'd love to help you!

Click ENTER to chat