ISE 206 İŞLETİM SİSTEMLERİ DR. TUĞRUL TAŞCI Dersin Bilgisayar sistemlerinin temel Amacı organizasyonunu tanımak İşletim sistemlerinin ana bileşenlerini öğrenmek Çeşitli bilgisayar sistemlerini genel özellikleriyle öğrenmek Yaygın olarak kullanılan işletim sistemlerini tanımak Ders Kapsamı ve İşleyiş Planı • Temel Bilgiler • Bilgisayar Sistemi ve İşleyişi • İşletim Sistemi Kavramları •Büyük Depolama Yapısı •Dosya Sistemi Ara Yüzü •Dosya Sistemi İşleyişi •Giriş-Çıkış Sistemleri Depolama Yönetimi Proses Yönetimi • Proses ve Thread • Senkronizasyon • CPU Scheduling • Deadlock •Koruma •Güvenlik Koruma ve Güvenlik •Sanal Makineler •Dağıtık Sistemler İleri Konular Bellek Yönetimi • Ana Bellek • Sanal Bellek •Linux •Windows •Tarihi Perspektif Vaka Çalışmaları Giriş Dosya Erişim Biçimleri Sıralı Erişim (Sequential Access) Direk Erişim (Direct/Relative Access) • En çok kullanılan ve en temel erişim biçimidir. • Dosya içindeki veri birbiri ardına işlenir. • Örneğin derleyici (compiler) programları bu erişim biçimini kullanır. • Dosyadaki veri bloklarının rasgele okunması ya da yazılmasına imkan veren erişim biçimidir. • Veritabanı dosyalarına erişim çoğunlukla bu yöntemle olur. Diğer Erişim Biçimleri • Genellikle direk erişimin farklılaştırılmasında elde edilen yöntemlerdir. • Örneğin, dosyadaki veri bloklarının diskteki yerlerinin indekslenerek okunması ya da çok büyük boyutlu dosyalarda, indeks dosyalarının da indekslenmesi ile kullanılabilir. Klasör İşlemleri Klasör, dosyaların organize edildiği mantıksal birimdir. İşletim sistemi, dosyalar üzerinde olduğu gibi klasörler üzerinde de çeşitli işlemlerin yapılmasını sağlayan fonksiyonlara sahiptir. •Klasör İsimlendirme •Klasör Oluşturma •Klasör Silme •Klasör Yedekleme •Klasör Paylaşma Çok kullanıcılı bir işletim sisteminde, dosya ve klasörlerle işlem yapmak, işletim sisteminin konfigürasyonunda tanımlı kullanıcı yetkileri üzerinden mümkün olur. Kullanıcılar sahip oldukları yetkilerle ( kendileriyle paylaşılmış) bir dosyaya ya da bir klasöre erişim sağlayıp bunlar üzerinde işlem yapabilir. Uzak dosya sistemlerinde, dosya ya da klasör erişimleri çoğunlukla FTP, dağıtık dosya sistemi ya da HTTP üzerinden yürütülür. Uzaktaki dosya ve klasörlere FTP ile bir istemci aracılığıyla ulaşılırken, web tarayıcı yazılımları ile HTTP üzerinden erişilir. Dağıtık dosya sistemlerinde ise, uzaktaki bilgisayarın klasörleri yerel bilgisayar üzerinde listelenir ve erişilebilir. Dosya Koruma ve Paylaşımı ile İlgili Hususlar Bilgisayar sisteminde saklanan veriler iki bakımdan koruma altında tutulur. •Fiziksel bozulmalara karşı koruma ( güvenilirlik – reliability) •İzinsiz erişime karşı koruma (protection) Dosyalarla ilgili Okuma, Yazma, Çalıştırma, Veri Ekleme, Silme, Listeleme, gibi yetkiler mevcuttur. Erişim Kontrolü Güvenilirlik, genellikle yedekleme ya da RAID gibi yapılarla sağlanır. Kopyalama, Taşıma, İsimlendirme gibi işlemler de kontrol altında tutulabilir. İşletim sistemi, hangi kullanıcının hangi dosya ile ilgili ne tür yetkileri olduğunu Erişim-KontrolListesinde (Access Control List) tutar. Bir erişim isteği olduğunda ACL listesinden kontrol yaparak işleme izin verir. Çok fazla dosyanın olduğu bir sistemde, böyle bir listeye giriş yapılması ve bu listeden okunması performans üzerinde olumsuz etki yapar. Paylaşımlı Kullanım Erişim-Kontrol-Listesi yerine, birçok işletim sistemi bu listenin daha kullanışlı bir şekli üzerinden yetki kontrolü yapar. Bu kullanımda, Oluşturucu (Owner), Group ( Paylaşılan Kullanıcı Grubu) ve Universe ( Diğer tüm kullanıcılar) ait haklar tanımlanır. Örnek: drwxrw-r-- Dosya Sistemi Yapısı ve İşleyişi Okuma yazma işlemi sonlandırılır. F Aygıt •Sabit disk, monitör vb. Gelen yüksek seviyeli komut isteğini donanım komutuna dönüştürür. E Giriş/Çıkış Sistemi •Aygıt sürücüleri ve kesme (interrupt) yöneticilerini içerir Okuma, yazma isteği uygun aygıt sürücüsüne yönlendirilir. D Basit Dosya Sistemi •Sadece temel komutları, uygun aygıt sürücülerine bildirir. Dosyanın mantıksal blok adresi, fiziksel blok adresine dönüştürülerek C’ye iletilir. C Dosya Organizasyon Sistemi •Dosyalar ve onların fiziksel ve mantıksal blok adreslerine ilişkin bilgiye sahiptir. Dosya bilgileri, verilerin yeri, ve dosya izinleri, B’ye iletilir. B Mantıksal Dosya sistemi •Dosya verileri dışındaki tüm mantıksal dosya yapısını saklar. Okuma, yazma isteği oluşturulur. A Uygulama Programları Disk Alan Ayrımı Yöntemleri Disklerin direk erişime imkan veren yapıları, dosya işlemleri için esneklik sağlarken etkin ve hızlı erişim için disk alanının dosyalara nasıl ayrılacağı problemini ortaya çıkarır. Bitişik-Düzen alan Ayrımı Bitişik-Düzen alan ayrımında, diskin sıralı blokları blok sayısı belirtilerek dosyalar için ayrılır. Bu yöntemde arama zamanı oldukça kısalmış olur. Bu yöntemdeki temel dezavantaj ise yeni bir dosya için uygun boş alan bulma işidir. Diğer bir problem ise dosyalar (dosya boyutu değişken olabilir) için ayrılacak alan miktarının belirlenmesidir. Disk Alan Ayrımı Yöntemleri Bağlantılı Alan Ayrımı Bağlantılı alan ayrımında, bitişik-düzendeki uygun boş alan bulma problemi ortadan kaldırılır. Bu yöntemde, fiziksel olarak diskin herhangi bir bölgesinde bulunan bloklar birbirlerine işaretçi (pointer) aracılığı ile bağlanarak dosya verilerinin tutulmasında kullanılır. Bu yöntemin temel dezavantajlarından birisi arama zamanını artırmasıdır. Dosyadaki belli bir veriye ulaşmak için o verinin bulunduğu bloktan önceki tüm blokların taranması gerekir. Bağlantılı alan ayrımındaki diğer bir problem ise veri güvenilirliği ile ilgilidir. İşaretçilerden herhangi birisine bir şekilde erişim mümkün olmadığında veri güvenirliği kaybolur. Ayrıca, işaretçiler için ayrıca alan ayırmak gerektiğinden diskin bir kısmı (yaklaşık %1) bunları saklamak için kullanılır. İndeksli Alan Ayrımı İndeksli alan ayrımı, bağlantılı alan ayrımındaki problemlere çözüm getirir. Bir dosyanın parçalarını tutan blokların adreslerini gösteren tüm işaretçiler bir indeks dizisinde toplanır, böylece hızlı şekilde dosya bütünlüğü içinde verilere ulaşılabilir. Dosya Sistemi Alan Ayrımı Bitişik-Düzen (Contiguous Allocation) Bağlantılı (Linked Allocation) İndeksli (Indexed Allocation) Diskteki Boş Alan Yönetimi Diskteki boş alanların yönetimi Bit vektörü, Bağlantılı liste, Gruplama, Sayma gibi farklı yöntemlerle yapılır. Bit vektörü yönteminde boş olan blok için 0, olmayanlar için 1 kullanılarak tüm bloklar işaretlenir. Bağlantılı liste yönteminde, her boş blok için, bir sonraki boş bloğun adresini gösterecek şekilde bir işaretçi kullanılır. Gruplama yönteminde, n. boş blok ilk n-1 boş bloğun adresini tutacak şekilde bir yapıya sahiptir. Sayma yönteminde ise, bulunan ilk boş bloktan sonra sıralı şekilde boş olan tüm blokların adresleri tutulur. Uyumluluk Kontrolü – Yedekleme/Geri Alma İşletim sistemlerinde mevcut klasör yapısını diskteki veri blokları ile karşılaştırarak uyumluluk sorunlarını geren sistem programları bulunur. ( UNIX: fsck, WINDOWS: chkdsk ) Yedekleme(ba ckup) ve geri alma(restore) işletim sisteminin sağlaması gerekli işlemlerdendir. Bilgisayar sisteminin çökmesi durumunda daha önce yedeklenmiş olan veriler geri alınabilir. Yedekleme için çoğunlukla başka bir disk ya da ortam tercih edilir. Yedeklemede genellikle 2 şekilde yapılır: 1-tam yedekleme, 2artan yedekleme Tam yedeklemede tüm dosyalar yedeklenir. Artan yedeklemede ise, bir önceki yedeklemede n sonra değişen dosyalar yedeklenir. Böylece değişikliğe uğramayan dosyalar sürekli kopyalanmaz. Giriş Aygıtları Fare Joystick Barkod Okuyucu Klavye MIDI Klavye Web Kamera Tarayıcı Mikrofon Oyun Direksiyonu Dijital Kalem Grafik Tablet Çıkış Aygıtları Projektör Kulaklık Hoparlör Monitör Yazıcı Giriş & Çıkış Özelliğine Sahip Aygıtlar Kulaklık Seti Modem Ethernet Kartı Flash Disk Çok Fonksiyonlu Yazıcı Dokunmatik Ekran Koruma ve Güvenlik İşletim sistemi, koruma ve güvenlik kapsamında, yetkisiz erişim, zararlı yazılımların sistemi çalışmaz hale getirmesi veya veri değiştirmesi, uyumsuz veri girişini önleme işlemlerini yürütür. Yetkisiz erişimi engellemede, işletim sistemi, kullanıcı ya da proseslerin nesnelere ( dosya ya da klasör ) erişim yetkilerinin tanımlandığı bir tabloyu kullanır. Bu tabloya göre D4 kullanıcısı F1 nesnesi üzerinde okuma ve yazma işlemi yapabilirken F2 nesnesi üzerinde hiçbir yetkiye sahip değildir.