İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi ? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir ve daha önceden saklanmış bilgiyi kullanabilir. YAZILIM İKİYE AYRILIR: 1. Sistem Programları : Bilgisayarın kendisine ait olan işleri yerine getirir. 2. Uygulama Programları: Kullanıcının problemlerini çözer. İşletim Sistemlerine Giriş/ Ders01 2 İşletim Sistemi ? En temel SİSTEM PROGRAMI İŞLETİM SİSTEMİ dir. Bilgisayarın tüm kaynaklarını kontrol eder ve uygulama programlarının yazılabilmesi için gerekli olan temeli oluşturur. Uygulama programları işletim sistemi üzerine yazılır. İşletim Sistemlerine Giriş/ Ders01 3 Bilgisayarın içerisinde neler vardır? Bir ya da daha fazla işlemci,bellek, monitör, diskler, ağ aygıtları, yazıcılar, cd rom, dvd rom ve daha birçok Giriş/Çıkış (I/O) aygıtı vardır. PROBLEM : Bilgisayarda çalışacak programın tüm bu bileşenlerin nasıl çalıştığını ve bu bileşenler ile nasıl haberleşeceğini bilmesi gereklidir. İşletim Sistemlerine Giriş/ Ders01 4 ÇÖZÜM Bu problemi ortadan kaldırmak için donanım ile programcılar arasına karmaşıklığı azaltan ve programcıya yardım eden bir katman konulması tasarlanmıştır. Bu katmanda bulunan yazılama İŞLETİM SİSTEMİ denilir. İşletim Sistemlerine Giriş/ Ders01 5 BİLGİSAYAR SİSTEMİ UYGULAMA PROGRAMLARI DERLEYİCİ DÜZENLEYİCİ KULLANICI PROGRAMLARI KOMUT YORUMLAYICI İŞLETİM SİSTEMİ SİSTEM PROGRAMLARI MAKİNE DİLİNDE PROGRAMLAR MİKRO PROGRAM (ROM) DONANIM DONANIM İşletim Sistemlerine Giriş/ Ders01 6 BİLGİSAYARIN DONANIMI Bir işletim sistemi üzerinde çalıştığı donanıma tamamen bağımlıdır. İşlemci (CPU) Bellek (Memory) Monitör Klavye Disket Harddisk Video Kontrolcüsü Klavye Kontrolcüsü Disket Kontrolcüsü Disk Kontrolcüsü YOL (BUS) İşletim Sistemlerine Giriş/ Ders01 7 İŞLEMCİLER (CPU) Bilgisayarın beynidir. Bellekten komutları (instruction) alır (fetch), komutun anlamını çözer (decode) ve çalıştırır (execute). İşletim Sistemlerine Giriş/ Ders01 8 İŞLEMCİLER (CPU) Her işlemcinin çalıştırabileceği komutlar sınırlıdır ve o işlemciye özeldir. Bu nedenle Pentium işlemci için yazılan kod, SPARC işlemci üzerinde çalışmaz. İşletim Sistemlerine Giriş/ Ders01 9 İŞLEMCİLER (CPU) İşlemci üzerinde YAZMAÇ (REGISTER) adı verilen saklama birimleri bulunur. Bu birimler son derece hızlıdırlar. İşlemcinin çalıştırdığı komutlar genelde yazmaçlar üzerinde işlem yapar. İşletim Sistemlerine Giriş/ Ders01 10 ÖZEL YAZMAÇLAR(REGISTERS) Program Sayacı (Program Counter-PC): getirilecek olan bir sonraki komutun bellek adresini tutar. Yığın İşaretçisi (Stack Pointer-SP): Bellekte bulunan yığın alanının en üst adres bilgisini tutar. Program Durum Kelimesi(Program State Word-PSW): Çeşitli durum bilgilerinin tutar. Komutların işlenmesi sonucunda oluşan çeşitli olayların bilgisini tutar. Ayrıca kip(mode) bilgisini tutarlar. Kullanıcı Kipi(User Mode) , Çekirdek Kipi (Kernel Mode) İşletim Sistemlerine Giriş/ Ders01 11 CPU larda İki Kip Bulunur. *Kullanıcı Kipi (User Mode) *Çekirdek Kipi (Kernel Mode) PSW deki 1 bit bunu kontrol eder. CPU çekirdek kipinde tüm komutlarını kullanabilir, kullanıcı kipinde belirli bir komut alt kümesi kullanabilir. Bu kipler donanıma direkt erişimi denetim altında tutmak için kullanılır. İşletim Sistemlerine Giriş/ Ders01 12 CPU larda İki Kip Bulunur. İşletim sistemi Çekirdek Kipinde çalışır. Kullanıcı programları kullanıcı kipinde çalışır. Eğer kullanıcı Giriş/Çıkış işlemi, bellek ile ilgili işlemler, ... yapacak ise bu işlemleri işletim sistemi üzerinden yapar. Bu şekilde sistem denetim altında korunmuş olur. İşletim Sistemlerine Giriş/ Ders01 13 BELLEK (MEMORY) Bellek CPU hızına yakın hızlara sahip depolama donanımlarıdır. CPU bilgileri bellekten alır ve belleğe yükler. Bellek hızları CPU hızına oranla yavaş olduğu için katmanlar şeklinde tasarlanırlar. İşletim Sistemlerine Giriş/ Ders01 14 BELLEK (MEMORY) 1 nano saniye 2 nano saniye 10 nano saniye 10 mili saniye Yazmaçlar (Registers) <1 KB ÖN BELLEK (Cache) ANA BELLEK (RAM) DİSK İşletim Sistemlerine Giriş/ Ders01 1 MB 64-512 MB 5-100 GB 15 BELLEK (MEMORY) Bilgi önbellekte aranır orada varsa yazmaçlara alınarak kullanılır, yoksa bellekte aranır. Bilgi bellekte de bulunmuyorsa diskten önce belleğe daha sonra ön belleğe ve oradan da işlemciye getirilerek kullanılır. İşletim Sistemlerine Giriş/ Ders01 16 BELLEK (MEMORY) Bir program derlenip, bağlandıktan sonra fiziksel bellekte nereye yerleştirileceğini, programın hangi adresten başlayacağını bilemez. Bu yüzden derleyici ve bağlayıcı programın 0 adresinden başlatırlar. İşletim Sistemlerine Giriş/ Ders01 17 BELLEK (MEMORY) Örneğin, bir komut 10000 adresindeki veriyi yüklemek istesin. Program ve tüm verisi bellekte 50000 adresinden itibaren yerleştirilmiş olsun. İlk komut çalıştırığında komut 10000 numaralı adrese erişmeye çalışacaktır. Bu adres doğru değildir. Erişimlesi gereken gerçek adres 60000 dir. İşletim Sistemlerine Giriş/ Ders01 18 BELLEK (MEMORY) Bu problem için iki yazmaç kullanılır. Taban yazmacı (base register), ve sınır yazmacı( limit register). Program belleğe atıldığında ve çalışmaya başladığında, taban yazmacı programın başlangıç adresini, sınır yazmacı ise programın tüm verisi ile birlikte bittiği adresi tutar. Program tarafından kullanılan adrese sanal adres (virtual address), belleğin kullandığı adrese ise fiziksel adres (physical address) denilir. Bu işlemleri ve çevrimi kontrol eden bellek yönetim birimi MMU (memory management unit) dir. İşletim Sistemlerine Giriş/ Ders01 19 Giriş/Çıkış (I/O) Bir I/O aygıtı, aygıtın kendisi ve bir kontrolcü(controller) olmak üzere iki parçadan oluşur. Kontrolcü aygıtın kendi üzerinde yer alan bir çiptir. Aygıtın çalışmasını kontrol eder. İşletim sistemi yapmak istediği komutları kontrolcüye gönderir, sonuçları da kontrolcüden alır. Kontrolcü ile konuşan, komut gönderen ve cevaplar alan yazılımı aygıt sürücüsü (device driver) denilir. İşletim Sistemlerine Giriş/ Ders01 20 Giriş/Çıkış (I/O) Bu aygıtın kullanılması için işletim sistemine eklenmesi gereklidir. 1.yöntem : işletim sisteminin çekirdeğine aygıt sürücüsü eklenir ve yeni çekirdek oluşturulur. 2.yöntem: İşletim sisteminin sistem dosya sistemine eklenir ve sürücünün nerede bulunacağı söylenir. Sistem yeniden başlatılır. İşletim sistemi ihtiyaç halinde yükler. 3.yöntem: İşletim sistemi sürücüyü çalışırken kabul eder, yükler ve kullanır. (USB) İşletim Sistemlerine Giriş/ Ders01 21 Giriş/Çıkış (I/O) Kullanıcı I/O için bir istek yapar. Bu isteği işletim sisteminin sunmuş olduğu özel prosedürleri kullanarak yapar. İşletim sistemi gelen isteği uygun aygıt sürücüsünün ilgili prosedürüne gönderir. I/O bitince sürücü veriyi ya da sonuç ne ise belirtilen yere koyar. Veri okunurken CPU bekler. Bu işleme yoğun bekleme(busy waiting) denilir. İşletim Sistemlerine Giriş/ Ders01 22 Giriş/Çıkış (I/O) ikinci yöntem, sürücü başlatılır ve sürücüye işini bitirdiğinde bir sinyal-kesme(interrupt) göndermesi söylenir. Sürücü komutu alır kendisi çalışmaya başlar ve işletim sistemine geri döner. İşletim sistemi istekte bulunan programı beklemeye alır ve başka birini çalıştırır. Kontrolcü işini bitirdiğinde bir bilgilendirme sinyali -kesme (interrupt) gönderir. Bloklanan programa geri dönülür. İşletim Sistemlerine Giriş/ Ders01 23 Giriş/Çıkış (I/O) üçüncü yöntem, özel DMA (Direct Memory Access) çipleri kullanmaktır. Bu çip CPU kullanılmadan kontrolcü ile bellek arasındaki bir akışını yönetir. CPU, DMA ya hangi aygıttan ne kadar veri alacağını ve nereye koyacağını söyler. DMA işlemleri kendisi yaparken CPU başka işler yapar. DMA işini yaptığında bir kesme oluşturur ve CPU yu bilgilendirir. İşletim Sistemlerine Giriş/ Ders01 24 YOLLAR (BUSES) L2 Önbellek önbellek yolu SCSI CPU USB Klavye yerel yolu PCI Bridge bellek yolu ISA Bridge Ana Bellek (RAM) IDE Disk Fare Graphic Adaptor PCI YOLU (BUS) kullanılabilir PCI yuvaları Monitör ISA YOLU (BUS) Modem Ses Kartı Yazıcı İşletim Sistemlerine Giriş/ Ders01 kullanılabilir ISA yuvaları 25 YOLLAR (BUSES) Bilgisayardaki aygıt ve donanımlar arasındaki hız farkı nedeniyle farklı yollar vardır. ISA – Industry Standard Architecture IBM PCI- Peripheral Component Interconnect İşletim Sistemlerine Giriş/ Ders01 26 İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 27