Upload
others
View
18
Download
0
Embed Size (px)
Citation preview
İŞLETİM SİSTEMLERİ
Dr. Mehmet SARIGÜL
Ders İçeriği
● İşletim sistemleri başta masaüstü bilgisayar, dizüstü bilgisayar, cep telefonları, tabletler olmak üzere birçok elektronik cihazda çalışmaktadır.
● Cihazlarda işletim sistemi programların nasıl çalışacağı, kullanıcı ile, birbirleri ile ve donanım ile nasıl iletişim kuracakları ile ilgili kuralları koyar.
Ders İçeriği
● İşletim sistemlerinin çalışmasını anlamak aşağıdaki konuları anlamak konusunda kazanımlar sağlar. – Sistem performansı ve güvenilirlik– Kaynak yönetimi– Sanallaştırma ve soyutlama– Eş-zamanlılık ve paralelleştirme– Donanım arayüzü ve Giriş/Çıkış
Ders İçeriği
Kullanıcı ProgramlarıKullanıcı Programları
İşletim Sistemi
Bellek Yönetimi İşlem(Process) YönetimiDosya Sistemleri TCP/IP İşlemleri
Araç Sürücüleri(Drivers) Disk Giriş/Çıkışlarıİşlemci yönetimi vb.
İşletim Sistemi
Bellek Yönetimi İşlem(Process) YönetimiDosya Sistemleri TCP/IP İşlemleri
Araç Sürücüleri(Drivers) Disk Giriş/Çıkışlarıİşlemci yönetimi vb.
DonanımDonanım
İşletim Sistemi Görevleri
● İşletim sistemi her bir uygulama için işlemci zamanını yönetir.
● İşlemcinin işlem geçişleri 1/100 saniye gibi çok kısa sürelerdir.
Program AProgram AProgram BProgram BÇekirdek
Zamanlayıcı
ÇekirdekZamanlayıcı
CPUCPUA | B | A | B | A ...
İşletim Sistemi Görevleri
● İşletim sistemi her program için belleğin yönetilmesini sağlar.
Program AProgram A
Program BProgram B
Sanal HafızaSistemi
Sanal HafızaSistemi
Swap AlanıSwap Alanı
Ram
İşletim Sistemi Görevleri
● Çoklu İşlemci Desteği – Modern cihazlar birden çok işlemcisi ile çalışır.– Birden fazla uygulama ya da iplik paralel olarak çalışabilir. – İşletim sistemi bellekte ve önbellekte doğru içeriklerin
yüklü olduğuna ve işlemciler üzerinde doğru çalıştırıldığına emin olur.
● Dosya Sistemi– Diskler aslında sektör tabanlı bir erişim sistemine sahiptir,
işletim sistemi bunu hiyerarşik bir yapıya çevirir.
İşletim Sistemi Görevleri
● Network protokolleri– Ağ donanımı üzerinden güvenilir olmayan paketler
iletilebilir. Kullanıcı programı güvenli(nispeten) paketler alır.
● Güvenilirlik ve Koruma– Bir çok işlemin eş zamanlı olarak birbirinin alanına
müdahale etmeden çalışmasına olanak sağlar.
İşletim Sistemi Görevleri
● Yazılımcıları donanım karmaşasından kurtarmak. – Uygulamalara temiz bir donanım arayüzü sunmak.– Yazılımcıları donanımsal detaylardan korumak– Bir çok farklı markada donanım için platform sağlamak.
● Güvenlik– Uygulamaların dilediği biçimde kaynaklara ulaşımını önlemek.
(İnternet erişimi, yazım izinleri...vb)– Uygulamaların diğer uygulamaların işleyişini etkilemesini önlemek.
● Etkinlik– Birçok farklı uygumanın eş zamanlı olarak etkin bir biçimde
çalışmasını sağlamak.
Temel Konular
● Prosesler● İplikler(Threads)● Senkronizasyon● Semaforlar● Ölümcül Kilitlenmeler● Zaman yönetimi● Hafıza yönetimi ve sanal hafıza● Diskler ve dosya sistemi● Giriş/Çıkış sistemi
Neden İşletim Sistemleri?!
● Sıfırdan bir işletim sistemi yazmak çok zahmetli bir iştir. ● İşletim sistemleri ve yapısı hakkında bilgi sahibi olmak;
– Veri yapıları– Eşzamanlı çalışma– Performans– Kaynak yönetimi– Senkronizasyon– Ağ yönetimi– Dağıtık sistemler konularında bilgi birikimi kazandırır.
● Bu dersin uzman seviye dersleri– Dağıtık sistemler– Paralel programlama...etc.
Kullanılacak Kaynaklar
Ders ile İlgili Bilgiler
● Ders ile ilgili soru, görüş, önerilerinizi [email protected] adresine iletebilirsiniz.
● Ders ile ilgili sunum, kod ve benzeri kaynaklara mehmetsarigul.com adresinden ulaşabilirsiniz.
● Dersteki kod uygulamaları C/C++ dili ve linux ortamında çalışacak kodlar olacaktır!!!– Ubuntu, pardus ya da başka bir linux dağıtımı
kullanabilirsiniz.– İsterseniz Virtual Machine kullanabilirsiniz. – Herhangi bir harici usb/disk’e linux kurabilirsiniz.