ISE 206 İŞLETİM SİSTEMLERİ DR. TUĞRUL TAŞCI 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ş Depolama Yönetiminin Amaçları İkincil depolama aygıtlarının fiziksel yapısını tanımak ve kullanımdaki etkisini öğrenmek Depolama aygıtlarının performans özellikleri hakkında bilgi sahibi olmak Disk çizelgeleme algoritmaları hakkında bilgi edinmek Depolama yönetimi için, işletim sistemi tarafından sağlanan (RAID gibi) servisleri öğrenmek Depolama Yönetimi ile İlgili Hususlar Bellek tüm program ve verileri sürekli saklayabilecek yapıda ve büyüklükte olmadığından, ikincil depolama aygıtı olarak diskler kullanılır. Dosya sistemi, program ve verilerin diskte depolanmasını ve bunlara erişimi sağlayan bir mekanizma sunar. Dosya, biçimi oluşturucusu tarafından tanımlanan birbiriyle ilişkili bir bilgi topluluğudur. Dosyalar, işletim sistemi tarafından fiziksel disklerin belli alanlarına yerleştirilir. Dosyalar, kolay kullanım için klasörler şeklinde organize edilir. Manyetik Disklerin Yapısı • Manyetik diskler, her iki tarafı manyetik malzeme ile kaplanmış plakalardan (1-5) oluşur. • Diske veri kaydetme manyetik olarak yapılır. • Her plaka üzerinde bir okuma-yazma kafası (read-write head) bulunur. • Manyetik disk kullanımdaki iken bir sürücü motor dönüş yapar. Dakikada 5400, 7500 ve 15000 dönüş (RPM). • Manyetik diskler için, iki hız değeri söz konusudur. Erişim hızı ve transfer hızı. • Diskler bilgisayar sistemine bir dizi girişçıkış veri yolu ile bağlıdır. ( ATA, PATA, SATA, eSATA, USB, SAS, FC ) Diğer Diskler (Katı Hal Diski – Manyetik Teyp) SSD Disk • Katı hal disklerinin hareketli parçası bulunmadığı için manyetik disklere göre daha güvenli, veri erişiminde arama ve gecikme zamanı oluşmadığı için manyetik disklere göre daha hızlıdır. • Katı hal diskleri, manyetik disklere göre daha az enerji tüketirler. Üretim maliyetleri manyetik disklere göre daha yüksek, boyutları daha küçük, kapasiteleri ve kullanım ömürleri ise genellikle daha azdır. • Manyetik teypler, günümüzde pek kullanılmayan ikincil depolama aygıtlarıdır. Diğer disklere göre genellikle daha uzun ömürlü ve daha fazla kapasiteye sahip olmalarına rağmen, erişim hızları oldukça düşüktür. Genellikle sıkça kullanılmayan verileri yedekleme amaçlı olarak kullanılırlar. Harici Teyp Sürücü Disk Kullanımı Host-Attached ve NetworkAttached Storage Diskler bilgisayar sistemi içinde iki şekilde kullanılır: Yerel girişçıkış birimleri üzerinden ( Host-Attached) ve uzaktaki bir aygıt aracılığıyla dağıtık bir dosya sistemi üzerinden ( Network-Attached) Yerel giriş-çıkış birimleri üzerinden belli veri yolları ile diske erişim sağlanır. Yaygın olarak bilinen ve kullanılan veri yolları: ATA, PATA, SATA, eSATA, USB, SAS, FC Ağ üzerinde bulunan depolama aygıtları, NAS (NetworkAttached Storage) olarak adlandırılır. NAS erişimi, uzak prosedür çağrıları aracılığıyla sağlanır. Ağ üzerinden depolama aygıtı erişimi, farklı bilgisayarların ortak kullanımını sağladığından yerel kullanıma göre avantajlı iken, erişim hızı bakımından dezavantajlıdır. Depolama Alanı Ağı (Storage Area Network – SAN) Ağ erişimli depolama sistemlerinin temel problemlerinden birisi, giriş-çıkış işlemlerinin ağın bant-genişliğini tüketmesidir. Bu da erişim gecikmelerine sebep olur. Depolama Alanı Ağı (SAN), ağ erişim protokolleri yerine depolama protokollerinin kullanıldığı özel bir ağ olarak tanımlanır. SAN sistemlerinin gücü, esnek olmalarından kaynaklanır. Bir SAN sistemi üzerinde birçok bilgisayar ve depolama aygıtı konumlandırılabilir. Bir SAN anahtarı (switch) bilgisayar ve depolama aygıtları arasındaki iletişimi kontrol eder. Erişime imkan verebilir, ya da kısıtlayabilir. Bir örnek olarak, SAN üzerindeki bir bilgisayarda boş disk alanı azalmış ise, SAN üzerinde düzenleme yapılarak o bilgisayarın kullanabileceği disk alanı artırılabilir. Disk Çizelgeleme (Disk Scheduling) Diskler için en önemli husus, yüksek bant-genişliği ve hızlı erişimdir. Arama zamanı (seek time), disk kolunun erişilmesi istenen sektörün bulunduğu silindire taşınması için geçen süredir. Dönme gecikmesi (rotational latency) ise, disk okuma-yazma kafasının erişilmesi istenen sektöre kadar döndürülmesi için geçen ek zamandır. Disk bant-genişliği, diske yapılan ilk erişim isteği ile transferin tamamlanması arasında geçen toplam sürenin, transfer edilen toplam veriye bölümü ile elde edilir. Disk çizelgeleme, hem erişim zamanını hem de bantgenişliğini iyileştirmek amacıyla gerçekleştirilen bir disk yönetim faaliyetidir. Disk Çizelgeleme Yöntemleri SCAN (Tarama): LOOK ve CDisk çizelgeleme C-SCAN (Circular Tarama LOOK: Bu yöntemleri Scan): Diğer bir FCFS ( First-Come yönteminde, disk yöntemlerde manyetik diskler First-Served): İlk SSTF ( Shortesttarama kolu, diski bir tarama için uygulanır. seek-time-first ): yöntemidir. Bu gelen istek ilk uçtan diğer uca yönteminin SSD disklerde yöntemde, disk olarak yerine Okuma yazma doğru iki yönlü benzerleridir. Bu hareketli bir getirilir. Bu kafasına en kolu tarama olarak sürekli yöntemlerin mekanizma yakın olan erişim yaptığı yöndeki yöntem basit tarayarak, farklılığı, herhangi bulunmadığında en uzak olmasına isteği yerine üzerine geldiği bir yöne hareket n FCFS, temel rağmen etkin bir getirilir. silindirdeki isteği silindirde var olan etmeden önce olarak yerine getirerek yöntem değildir. erişim istekleri istek uygulanan ters yöne döner. yerine getirilir. beklemeleridir. yöntemdir. Disk Çizelgeleme Yöntemleri Günümüzde piyasada bulunan diskler için, dönme gecikmesi de nerdeyse arama zamanına eşit hale gelmiştir. Bu nedenle, disk üreticileri disk çizelgeleme yöntemlerini kontrolör donanımı üzerinde çalışacak şekilde üretmektedir. Disk çizelgelemede tek problem giriş-çıkış performansı değildir. İşlem önceliği: Yazma isteklerinin okuma isteklerine göre daha acil olarak yerine getirilmesi gerekebilir. Sistem çökmesi ihtimaline karşı, yazma işlerinin garantiye alınması gerekebilir. Disk Yönetimi – Disk Yapısı ve Biçimlendirme İşletim sistemi, disk yönetimi kapsamında disk başlatma (initialization), disk biçimlendirme (formatting) ve bozuk-blok düzeltme (bad-blok recovery) gibi işlevleri yürütür. Yeni bir manyetik disk, boş durumdadır. Bu diske veri kaydedilebilmesi için öncelikle, disk kontrolörünün okuyup yazabilmesi için sektörlere ayrılmalıdır. Bu işleme düşük seviye biçimlendirme (low-level formatting) ya da fiziksel biçimlendirme denilir. Fiziksel biçimlendirmede, her bir sektör özel verilerle yapılandırılır. Bu veriler, çoğunlukla başlık (header), veri alanı (data area) ve kuyruk(trailer) şeklindedir. Başlık ve kuyruk, disk kontrolörünün kullanacağı sektör numarası ve hata doğrulama kodu ( Error Correcting Code – ECC) gibi bilgileri içerir. Disk Yönetimi – Disk Yapısı ve Biçimlendirme Bir yazma işleminde, ECC tüm veri alanındaki veriden hesaplanarak güncellenir. Okuma işleminde ise, ECC tekrar hesaplanır ve önceki değerle karşılaştırılır. Eşleşme olmadığı takdirde bu verinin ya da sektörün zarar görmüş olduğu anlamına gelir. Disk kontrolörü uyarılarak, verideki bozulmanın düzeltilmesi sağlanır. Günümüzde manyetik diskler çoğunlukla, üreticiden fiziksel biçimlendirmesi yapılmış olarak çıkar. Bu, üreticiye diski test etme ve boş sektörleri belirleme imkanı verir. Fiziksel biçimlendirme yapılırken, başlık ile kuyruk arasında kalan veri alanının boyutunun ne olacağı belirtilmelidir. Bu değer genellikle 256, 512 ya da 1024 byte’dir. Diski daha büyük boyutlu sektörlere sahip olacak şekilde biçimlendirmek, her iz(track) üzerinde daha az sayıda sektör oluşturulmasını sağlarken aynı zamanda, daha az başlık ve kuyruk olması demektir. Böylece daha fazla veri alanı elde edilir. Disk Yönetimi – Disk Yapısı ve Biçimlendi rme Fiziksel disk biçimlendirmesi, İşletim sisteminin diski kullanmaya başlaması için yeterli değildir. İşletim sisteminin diski kullanmaya başlaması için kendi veri yapısını diske yazması gerekir. Bu iki aşamada yapılır. İlk aşamada disk bölümlendirme (partitioning) ikinci aşamada ise mantıksal biçimlendirme (logical formatting) yapılır. Mantıksal biçimlendirme dosya sisteminin oluşturulması demektir. Çok çeşitli dosya sistemleri mevcuttur. Windows sistemlerde FAT32 ve NTFS yaygın olarak kullanılır. ReFS ise Windows 8 sunucu sistemleri için geliştirilmiş yeni bir dosya sistemidir. VMFS, sanal makinelerin imajlarını ve anlık görüntülerini (snapshot) sakalamak için geliştirilmiş bir dosya sistemidir. Yaygın Olarak Kullanılan Dosya Sistemleri Windows Linux •FAT – FAT32 •NTFS •ReFS •EXT 2-3-4 •ReiserFS •XFS, JFS Macintosh BSD, Solaris •HFS+ •UFS Dağıtık Sistemler •ZFS •Xscan •VMFS •GFS Disk Yönetimi – Disk Başlatma Açılış programı (bootstrap) çoğu bilgisayarda ROM’da tutulur. ROM’ların başlatmaya ihtiyacı olmaması ve sabit bir adreste çalışması, işlemcinin açılışta ve yeniden başlatmada doğrudan bu programı yürütebilmesini sağlar. ROM sadece okunabilir olduğu için virüs bulaşma riski de yoktur. Açılış programı ile ilgili problem, bu programda değişiklik yapmanın donanım çipini değiştirme zorunluluğunu ortaya çıkarmasıdır. Bundan dolayı, birçok sistemde işi sadece tam açılış programını diskten getirme görevi olan küçük bir açılış programı ROM’da tutulur. ROM’daki küçük açılış programı, disk kontrolörüne açılış bloklarını okuması gerektiği sinyalini gönderir ve bu kodu işletmeye başlar. Tam açılış programı işletim sisteminin gerekli kısımlarını belleğe yükleyip başlamasını sağlar. Windows işletim sistemindeki bir açılış sürecini düşünelim. Windows disk bölümlemeye imkan veren bir işletim sistemidir. Bölümlerden birisi ise işletim sistemi ve aygıt sürücülerini içeren sistem bölümü olarak ayrılmıştır. Windows sisteminin açılış kodu, diskin ilk sektöründe (MBR – Master Boot Record) tutulur. ROM’daki açılış programı ile başlayan açılış süreci, MBR’deki açılış koduna yöneltilir. Ayrıca, MBR diskteki bölümleri ve hangi bölümün sistem bölümü olduğunu tutan bir tabloya sahiptir. Sistem açılış bölümüne ulaşarak, açılış sektörünü okur ve alt sistemleri ve servisleri yüklemeye başlar.