UTİ 506 - İşletim Sistemleri

ÖĞRETİM ÜYESİ
Moharram Challenger, Yrd.Doç.Dr.
ASİSTANT
Kaya Oğuz
DERS NOTU

DERSİN AMACI
Bu dersin amacı öğrencilerin, işletim sistemleri kavramlarının teori ve uygulamalarını Linux, Unix ve Windows gibi örnek işletim sistemleriyle; bilgisayar kaynak paylaşımının nasıl yapıldığını görmelerini sağlamaktır.

DETAYLAR

Dersin Adı 

İşletim Sistemleri

Dersin Kodu 

UTİ 506

Dersin Türü

Zorunlu

Dersin Seviyesi

Yüksek Lisans

Dersin AKTS Kredisi

7,5

Haftalık Ders Saati

3

Haftalık Uygulama Saati

3

Haftalık Laboratuar Saati

Yok

Dersin Verildiği Yıl

1

Dersin Verildiği Yarıyıl

2

Dersin Öğretim Üyesi

(Üyeleri)

Yrd. Doç. Dr. Moharram Challenger

Öğretim Sistemi

Örgün Eğitim

Eğitim Dili

Türkçe

Dersin Ön Koşulu Olan Ders(ler)

 

Ders İçin Önerilen Diğer Hususlar

Yok

Staj Durumu

Yok

Dersin Amacı

Bu dersin amacı öğrencilerin, işletim sistemleri kavramlarının teori ve uygulamalarını Linux, Unix ve Windows gibi örnek işletim sistemleriyle; bilgisayar kaynak paylaşımının nasıl yapıldığını görmelerini sağlamaktır.

Öğrenme Çıktıları

1.   Bir işletim sistemlerinin bileşenlerini kavrayabilme

2.   İşletim sistemlerinin genel çalışma prensiplerini açıklayabilme

3.   İşletim sistemi çeşitlerini ve özelliklerini karşılaştırabilme

4.   Bir bilgisayar sistemindeki kaynak paylaşımı problemlerini farkedebilme

5.   İşletim sisteminin servislerini kavrayabilme

6.   İşletim sistemlerinde görev ve thread, ölümcül kilitlenme kavramlarını, görev planlama algoritmalarını, bellek yönetimini ve dosya sistemlerini açıklayabilme

7.   Kaynak paylaşım yöntemlerinin bilgisayarın çeşitli alanlardaki performansına olan etkilerini irdeleyebilme

8.   Çoklu threadler kullanarak ölümcül kilitlenme önleyici mekanizma gerektiren problemlere yazılım geliştirebilme.

9.   İşletim sistemleri ile ilgili kendine özgü bir konu hakkında araştırma yaparak bu konu hakkında açıklama, sunum ..vb yapabilme

10. İşletim sistemleri konusundaki etik sorunların farkında oluş.

Dersin İçeriği

Görevlerin tanımı, görevler arası iletişim, görev senkronizasyonu  (Scheduling Synchronization), bellek yönetimi,  sanal bellek, sayfalama, swapping, dosya sistemleri , girdi-çıktı güvenliği, koruma, ölümcül kilitlenme önleme algoritmaları,
UNIX tabanlı kavramlar, dağıtık sistemlere giriş.

Haftalık Ayrıntılı Ders İçeriği (16 Haftalık)

HAFTA

KONULAR

Teorik Dersler

Uygulama

1

İşletim Sistemi tanımı, bilgisayar sisteminin temel bileşenleri, interrupt yakalama ve çeşitleri, depolama hiyerarşisi, işletim sistemi yapısı, işletim sistemi temel konu özetleri : görev yönetimi, hafıza yönetimi, bellek yönetimi.

 

2

İşetim sistemi servisleri, işletim sistemi arayüzleri (GUI ve CLI), Sistem Çağrıları ve işetim sistemiyle ilişkisi, sistem programları, MS-DOS yapısı, Unix sistem yapısı, microkernel  sistem yapısı, Mac OS X ve Solaris sistem yapısı, sanal makineler.

Araştırma Ödevi

 

3

Görev kavramı, görev planlama, görev işlemleri, görev zaman programlanması, birlikte çalışan görevler, görevler arası iletişi, sunucu-istemci tabanlı sistemlerde görevler arası iletişim

Araştırma Ödevi

 

4

Thread tanımı, çoklu thread modeli, Posix threadleri (Pthread),  Windows Xp threadleri, Linux ve Java threadleri

 

5

CPU planlama konuları: planlama kriterleri, çoklu işlemci zaman planlaması, zaman planlama algoritmaları,  gerçek zamanlı planlama, thread planlaması, işletim sistemi örnekleri,  Java thread senkronizasyon örneği

 

 

 

Java threadleri ile bir uygulama

6

Görev senkronizasyonu, kritik bölge problemi, Peterson’un çözümü, donanımsal senkronizasyon, semaforlar, klasik senkronizasyon problemleri, monitör kavramı.

Semafor

Programlama ödevi

7

Ölü-kilit problemi, ölü-kilit önleme yöntemleri, ölü -kilitten kaçınma, ölü-kilit durumunu kurtarma

Ölü kilit önleme uygulama programı

8

Ara Sınav

 

9

Klasik ölümcül kilitlenme algoritmaları ve çözümleri, örnek kod uygulamaları.

Literaür

Araştırma

 

10

Bellek yönetimi, swapping,  ardışıl yerleştirme, sayfalama, bölümleme, sayfalamayla birlikte bölümleme.

 

11

Sanal bellek, istenildiğinde sayfalama, görev yaratma,sayfayı yeniden yerleştirme, frame yerleştirme, istenildiğinde bölümleme, işletim sistemlerinden örnekler.

Literaür

Araştırma

 

12

Dosya Sistem Arayüzü, dosya kavramı, dosya erişim metotları, dosya paylaşma ve dosya koruma, dosya ilişkilendirme kavramları.

 

13

Dosyalama sistemleri, disk yapısı, disk yönetimi, disk planlaması, RAID kavramı, çeşitleri ve yapıları, kalıcı depolama uygulamaması, disk erişiminde performans konuları.

 

14

Dağıtık sistemlerinin tanımları, uygulama alanları, avantaj ve kısıtları, dağıtık işletim sistemleri.

 

15

Proje Sunumları

 

16

Final Sınavı

 

 

Ders Kitabı/Malzemesi/Önerilen Kaynaklar

 

 

 

 

 1. Andrew S. Tanenbaum, Albert S.Woodhull, The Minix book: Operating Systems - Design and Implementation- (3.rd Edition),Prentice Hall, 2006

2. Silberschatz Galwin, Operating System Concepts with JAVA, Wiley, 2004

 

© 2014 Uluslararası Bilgisayar Enstitüsü. TÜM HAKLARI SAKLIDIR.