İŞletİm sİstemlerİİşletim sistemi bellek yönetimi İşlem(process) yönetimi dosya...

13
İŞLETİM SİSTEMLERİ Dr. Mehmet SARIGÜL

Upload: others

Post on 28-May-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

İŞLETİM SİSTEMLERİ

Dr. Mehmet SARIGÜL

Page 2: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

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.

Page 3: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

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ış

Page 4: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

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

Page 5: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

İş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 ...

Page 6: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

İş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

Page 7: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

İş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.

Page 8: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

İş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.

Page 9: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

İş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.

Page 10: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

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

Page 11: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

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.

Page 12: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

Kullanılacak Kaynaklar

Page 13: İŞLETİM SİSTEMLERİİşletim Sistemi Bellek Yönetimi İşlem(Process) Yönetimi Dosya Sistemleri TCP/IP İşlemleri Araç Sürücüleri(Drivers) Disk Giriş/Çıkışları İşlemci

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.