Bilgisayar Mühendisliği (İngilizce)
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: COE303
Ders İsmi: İşletim Sistemleri
Ders Yarıyılı: Güz
Ders Kredileri:
AKTS
6
Öğretim Dili: İngilizce
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Doç. Dr. AMIR SEYYEDABBASI
Dersi Veren(ler): Dr. Öğr. Üyesi Hüsamettin OSMANOĞLU
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu ders, işletim sistemleri ve işlem yönetimi, bellek yönetimi, dosya sistemleri ve giriş/çıkış yönetimi gibi temel kavramları içeren geniş bir konu yelpazesini kapsar. Öğrenciler daha sonra işlem yönetimine daha derinlemesine girerek işlem zamanlama, işlem senkronizasyonu ve süreçler arası iletişim konularını öğrenirler. Ayrıca, sanal bellek, bellek tahsisi, bellek koruması ve sayfalama algoritmaları da dahil olmak üzere bellek yönetimini öğrenirler. Ders, dosya sistemleri bölümünde dosyaların, dizinlerin ve depolama cihazlarının organizasyonu ve yönetimini kapsar. Giriş/çıkış yönetimi bölümünde öğrenciler, aygıt sürücüleri, aygıt yönetimi ve giriş/çıkış işlemleri hakkında bilgi edinirler. Güvenlik ve koruma bölümü, erişim kontrolü, kimlik doğrulama ve işletim sistemleri tarafından kullanılan diğer güvenlik tekniklerini kapsar.
Dersin İçeriği: Bu ders, modern bilgisayar işletim sistemlerini yapılandırmak için kullanılan temel kavramlar ve temel prensiplere giriş yapar. Ana konular arasında süreçler, iş parçacıkları ve eşzamanlı programlama, süreç zamanlaması ve iletişim bulunur. Ayrıca farklı örneklerle süreç senkronizasyonunu ve son olarak kilitlenmeleri kapsar. Bunun yanı sıra, bellek yönetimi ve bellek sanallaştırma da ele alınır. Son olarak, dosya yönetimi, işletim sisteminin güvenliği ve koruması açıklanır.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Modern bilgisayar işletim sistemlerinin temel kavramlarını ve prensiplerini anlamak.
2) İletişim, senkronizasyon ve kilitlenme (tespit ve kaçınma) dahil olmak üzere işbirliği process kavramını anlayın.
3) Farklı dosya sistemlerinde dosyaların, dizinlerin ve depolama cihazlarının organizasyonunu ve yönetimini anlamak.
4) İşlem (process) yönetimi ve planlama sorunlarına ilişkin içgörü geliştirin.
5) Bellek Yönetimi ve sanal Belleğin temel ilkelerini anlayın.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) İşletim Sistemlerine Giriş
2) İşletim Sistemi Yapıları
3) Süreçler (Processes )
4) İş Parçacıkları ve Eşzamanlılık (Threads & Concurrency)
5) CPU Zamanlaması
6) Senkronizasyon Araçları
7) Senkronizasyon Araçları ve Senkronizasyon Örnekleri
8) Ara Sınav
9) Kilitlenmeler
10) Ana Bellek
11) Ana Bellek - Sayfalama
12) Sanal Bellek (Virtual Memory )
13) Yığın Depolama ve Dosya Sistemi Arayüzü
14) Dosya Sistemi Uygulaması

Kaynaklar

Ders Notları / Kitaplar: Abraham Silberschatz, Peter B. Galvin, Greg Gagne - Operating System Concepts, 10th Edition (Wiley)
Diğer Kaynaklar: https://codex.cs.yale.edu/avi/os-book/OS10/index.html

Ders - Program Öğrenme Kazanım İlişkisi

Course Learning Outcomes

1

2

3

4

5

Program Kazanımları
1) Matematik, bilim ve bilgisayar mühendisliği prensipleri hakkında yeterli bilgiye sahip olma, hem teorik hem de pratik olarak, ve bu bilgiyi karmaşık mühendislik problemlerine uygulayabilme becerisi.
2) Uygun analiz ve modelleme tekniklerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlama, formülleme ve çözebilme yeteneği. 2 2 2
3) Belirli gereksinimleri karşılayan ve gerçekçi kısıtlar ve koşullar altında çalışan karmaşık bilgisayar sistemleri, cihazlar veya ürünler tasarlama ve geliştirme yeteneği, modern tasarım yöntemlerini kullanma yeteneği. 2 2 3 3 2
4) Karmaşık bilgisayar mühendisliği problemlerinin analizi ve çözümü için kullanılan modern teknikleri ve araçları geliştirme, seçme ve kullanabilme yeteneği, bilgi teknolojilerini etkili bir şekilde kullanabilme yeteneği. 2 2 2 2
5) Karmaşık bilgisayar mühendisliği problemleri veya araştırma konularının incelenmesinde deney planlama ve yürütme, veri toplama ve analiz etme, sonuçları yorumlama yeteneği. 3 2 3
6) Çok disiplinli ekiplerde etkili bir şekilde çalışma yeteneği; bireysel çalışma becerileri.
7) Sözlü ve yazılı iletişim becerileriyle etkili iletişim kurabilme; en az bir yabancı dil bilgisi; etkili raporlar yazabilme ve yazılı raporları anlayabilme, tasarım ve üretim raporları hazırlayabilme, etkili sunumlar yapabilme, açık ve anlaşılır talimatlar verip alabilme yeteneği.
8) Yaşam boyu öğrenme gerekliliğinin farkında olma; bilgiye erişme yeteneği, bilim ve teknolojideki gelişmeleri takip etme ve sürekli yenileme yeteneği.
9) Etik prensiplere, mesleki ve etik sorumluluğa uygun davranma; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibi olma.
10) Proje yönetimi, risk yönetimi ve değişim yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilik farkındalığı; sürdürülebilir kalkınma hakkında bilgi.
11) Bilgisayar mühendisliği uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri ve bilgisayar mühendisliğine yansıyan dönemin sorunları hakkında bilgi sahibi olma; bilgisayar mühendisliği çözümlerinin yasal sonuçları konusunda farkındalık.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Orta 3 En Yüksek
       
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Matematik, bilim ve bilgisayar mühendisliği prensipleri hakkında yeterli bilgiye sahip olma, hem teorik hem de pratik olarak, ve bu bilgiyi karmaşık mühendislik problemlerine uygulayabilme becerisi.
2) Uygun analiz ve modelleme tekniklerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlama, formülleme ve çözebilme yeteneği. 2
3) Belirli gereksinimleri karşılayan ve gerçekçi kısıtlar ve koşullar altında çalışan karmaşık bilgisayar sistemleri, cihazlar veya ürünler tasarlama ve geliştirme yeteneği, modern tasarım yöntemlerini kullanma yeteneği. 2
4) Karmaşık bilgisayar mühendisliği problemlerinin analizi ve çözümü için kullanılan modern teknikleri ve araçları geliştirme, seçme ve kullanabilme yeteneği, bilgi teknolojilerini etkili bir şekilde kullanabilme yeteneği. 2
5) Karmaşık bilgisayar mühendisliği problemleri veya araştırma konularının incelenmesinde deney planlama ve yürütme, veri toplama ve analiz etme, sonuçları yorumlama yeteneği. 3
6) Çok disiplinli ekiplerde etkili bir şekilde çalışma yeteneği; bireysel çalışma becerileri.
7) Sözlü ve yazılı iletişim becerileriyle etkili iletişim kurabilme; en az bir yabancı dil bilgisi; etkili raporlar yazabilme ve yazılı raporları anlayabilme, tasarım ve üretim raporları hazırlayabilme, etkili sunumlar yapabilme, açık ve anlaşılır talimatlar verip alabilme yeteneği.
8) Yaşam boyu öğrenme gerekliliğinin farkında olma; bilgiye erişme yeteneği, bilim ve teknolojideki gelişmeleri takip etme ve sürekli yenileme yeteneği.
9) Etik prensiplere, mesleki ve etik sorumluluğa uygun davranma; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibi olma.
10) Proje yönetimi, risk yönetimi ve değişim yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilik farkındalığı; sürdürülebilir kalkınma hakkında bilgi.
11) Bilgisayar mühendisliği uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri ve bilgisayar mühendisliğine yansıyan dönemin sorunları hakkında bilgi sahibi olma; bilgisayar mühendisliği çözümlerinin yasal sonuçları konusunda farkındalık.

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Küçük Sınavlar 5 % 10
Ödev 3 % 10
Projeler 2 % 10
Ara Sınavlar 1 % 30
Final 1 % 40
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 60
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 40
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Aktiviteye Hazırlık Aktivitede Harçanan Süre Aktivite Gereksinimi İçin Süre İş Yükü
Ders Saati 13 3 39
Laboratuvar 10 2 20
Uygulama 1 0 0
Arazi Çalışması 1 0 0
Sınıf Dışı Ders Çalışması 13 3 39
Sunum / Seminer 1 0 0
Proje 1 5 5
Ödevler 4 3 12
Küçük Sınavlar 4 2 8
Ara Sınavlar 1 10 10
Final 1 20 20
Toplam İş Yükü 153