Final Öncesi
Vize konuları dahil değildir. Klasik sınav (60 puanlık) Bellek Yönetimi Disk ve Dosya Yönetimi G/Ç Yönetimi Çok İşlemcili ve Dağıtık Sistemler Güvenlik Çoklu Ortam Vaka Çalışmaları sınavı (20 puanlık) UNIX, Linux, Android ve Windows 2 kişilik grup ödevi (20 puanlık) Vize konuları dahil değildir.
Soru Türleri Doğru/yanlış (gerekçesiyle birlikte) Kısa cevaplı tanım, boşluk doldurma. Algoritmayı açıklayınız, bir algoritma öneriniz vd. Hesaplama gerektiren sorular Verilen kodu inceleme, tamamlama
Bellek Yönetimi 4 sayfadan (çerçeve) oluşan bir bellek ve A,B,C,D,E,C,A,B,C,D,F şeklinde bir sanal sayfa akımı verilmektedir. LRU sayfa yerleştirme ile bütün sayfa hatalarını göstererek tabloyu doldurunuz ve toplam sayfa hatasını belirtiniz. 6’ dan fazla sayfa hatası olmaması için gereken asgari bellek boyutunu sayfa cinsinden belirtiniz. Sayfa A B C D E F 1 2 3 4
Çözüm Toplam 9 sayfa hatası vardır. Bellekte o anda yer almayan sayfalar için sayfa hatası kaçınılmazdır. F’ yi gözardı edersek akımdaki bütün sayfalar 5 sayfalık belleğe sığacaktır. F’ yi çağırmak da 6. sayfa hatasına sebep olacaktır. Sayfa A B C D E F 1 2 3 4
Disk Yönetimi RAID 4 ile yönetilen 5 diskin organizasyonu şekildeki gibidir. Mantıksal bir blok numarasını ve 4 KB’lık bloklar halinde veriyi yazan void KücükYaz(int blok, char *veri) fonksiyonunu yazınız. Çözüm için aşağıda tanımlı fonksiyonlar yardımcı olarak verilmektedir. void oku(int disk, int ofset, char *veri) void yaz(int disk, int ofset, char *veri) void xor(char *d1, char *d2) (Bir bloğu diğeriyle mantıksal XOR işlemi yapar) Disk 0 Disk 1 Disk 2 Disk 3 Disk 4 Blok 0 Blok 1 Blok 2 Blok 3 Parite(0,3) Blok 4 Blok 5 Blok 6 Blok 7 Parite(4,7) …….
Çözüm void KücükYaz(int blok, char *veri) { int disk = blok % 4; int ofset = blok / 4; char eskiveri[4096], eskiparite[4096]; oku(disk,ofset,eskiveri); oku(4,ofset,eskiparite); char *yeniparite = xor(eskiparite, xor(eskiveri,veri)); yaz(disk,ofset,veri); yaz(4,ofset,yeniparite); }
Bellek Yönetimi 4 KB sayfa ve 4 B sayfa tablosu girdi (geçerli, erişim bitleri ve başka sayfa/tablo girdisine işaretçi içeren) boyutlu iki seviyeli bir sayfa çeviri yapısında 32 bitlik bir sanal adresin biçimini ve sayfa tablosunun tamamını gösteriniz.
Çözüm Sanal Adresin Biçimi 4 KB 4 KB 4 KB 10 bit 10 bit 12 bit Ofset 10 bit 10 bit 12 bit Sanal birincil sayfa indeksi Sanal ikincil sayfa indeksi İkincil sayfa tabloları 4 KB Birincil sayfa tabloları 4 KB Sayfa tablosu işaretçisi 4 bayt 4 KB 4 bayt
Disk Yönetimi Aşağıdaki özelliklere sahip bir sistem verilmektedir. Sistemde 20 disk vardır. Her bir disk 10 GB boyutunda, dakikada 10000 kez dönmekte, 10 Mbayt/sn oranıyla veri transfer etmektedir. Her bir disk için ortalama konumlama süresi 8 ms ve blok boyutu 32 KB’ tır. 2 ms denetleyici kontrol zamanına sahip SCSI arayüzü kullanılmaktadır. Diskler dışında performansı başka bir şey etkilememektedir. Her disk bir anda bir talebi işleyebilmekte ancak sistemdeki her bir disk farklı bir talebi işleyebilmektedir. Veriler şeritli dağıtılmamıştır, her istek için bütün G/Ç bir diske gitmek zorundadır. Kuyruklama zamanını hesaba katmaksızın bir diskteki rastgele bir konumdan tek bir disk bloğunu elde etmek için ortalama hizmet süresi nedir?
Disk Yönetimi (devam) b) İşletim sisteminin disk zamanlama konusunda akıllıca davranmadığı ve uygulamadan gelen talepleri diske aynı sırada aktardığı (FIFO) varsayılmaktadır. Eğer uygulama talepleri bir disk üzerinde rastgele erişim gerektiriyorsa, erişilebilecek bant genişliği (bayt/sn) nedir? c) Bir uygulamanın bütün disklerde tamamlanmamış istekleri vardır. (rastgele sırada dağıtılan ve FIFO usulüyle gelen istekler) Bütün sistem için saniye başına en fazla G/Ç (yani blok isteği) sayısı ne olur?
Çözüm a) Zamanhizmet = Zamandenetleyici + Zamankonumlama + Zamandönmegecikme + Zamantransfer Zamandenetleyici = 2 ms Zamankonumlama = 8 ms Zamandönmegecikme = ½ Zamansayısı = ½ x [(60 sn/dak) / 10000 RPM] = 0,003 sn = 3 ms Zamantransfer = (32 x 1024 bayt) / (10 x 106 bayt/sn) = 0. 0032768 sn = 3.2768 ms Zamanhizmet = 2 + 8 + 3 + 3,28 ms = 16,28 ms b) Her Zamanhizmet aralığında 1 blok alabilmektedir. Bu yüzden Bant genişliği = 32768 bayt/0,01628 sn = 2,013 Mb/sn olur. c) Her disk için, her Zamanhizmet defasında 1 G/Ç ve 20 disk için 20 kez saniye başına G/Ç (GÇS) yapılabilir. GÇSsistem = 20 x GÇSdisk = 20 x (1/0,01628 s) = 1229 GÇS
Güvenlik Aşağıdaki soruları RSA kriptografi algoritmasına göre cevaplayınız. a) Eğer p = 7 ve q = 11 ise, d için 5 tane geçerli değeri yazınız. b) Eğer p = 13 ve q = 31 ve d = 7 ise, e’ yi bulunuz. c) Eğer p = 5 ve q = 11 ve d = 27 ise, e’ yi bulunuz ve «aloha» kelimesini şifreleyiniz.
Çözüm a) z = (p - 1) * (q - 1) = 6 * 10 = 60 d için geçerli değerler 7, 11, 13, 17, 19, 23, 29, 31, ... olabilir. b) z = (p - 1) * (q - 1) = 12 * 30 = 360 7 * e (mod 360) = 1 7 * e (mod 360) = 360 * 1 + 1 = 361 7 * e (mod 360) = 360 * 2 + 1 = 721 7 * e = 721 e = 103 c) n = p * q = 5 * 11 = 55 C = Pe (mod n) = P3 mod 55 z = (p - 1) * (q - 1) = 4 * 10 = 40 Her harf için bir sayı değeri (a =1, b=2 … gibi) verilebilir. ASCII kodu kullanılırsa: 27 * e (mod 40) = 1 a: C = 973 (mod 55) = 3 27 * e (mod 40) = 40 + 1 = 41 l: C = 1083 (mod 55) = 47 27 * e (mod 40) = 40 * 2 + 1 = 81 o: C = 1113 (mod 55) = 1 27 * e = 81 e = 3 h: C = 1043 (mod 55) = 4 a: C = 973 (mod 55) = 3
Bellek Yönetimi Sanal adresler için aşağıdaki biçimi kullanan bir çoklu seviye bellek yönetim şeması verilmektedir. Sanal adresler aşağıdaki biçimde 16 bitlik fiziksel adreslere dönüştürülmektedir. Aşağıdaki talimatlarla belirtilen bellek adresinden yükleme ve adrese kaydetme işlemlerinin sonucunun ne olacağını tabloda belirtiniz. Talimatla belirtilen adresler sanaldır, segment tablosundakiler fizikseldir. Adresi çevrilemezse “Yok” diye belirtiniz. Kaydetmenin dönüş değeri “Tamam” veya hata, yüklemenin dönüş değeri 8 bitlik bir değer veya hata olabilir. Hata varsa ne olduğunu da gösteriniz. (bozuk segment, segment taşması, erişim ihlali) Ofset 2 bit 8 bit 8 bit Sanal segment numarası Sanal sayfa numarası Ofset 8 bit 8 bit Fiziksel sayfa numarası
Sorunun Devamı Segment Tablosu (limit =3) Fiziksel Bellek Segment No Sayfa Tablosu Tabanı Bir Segmentteki En Fazla Sayfa Sayısı Segment Durumu 0x2030 0x20 Geçerli 1 0x1020 0x10 2 0xF040 0x40 Geçersiz 3 0x4000 Segment Tablosu (limit =3) Talimat Çevirilmiş Fiziksel Sayfa Sonuç (Dönüş değeri) Yükle 0x30115 Kaydet 0x10345 Kaydet 0x30316 Yükle 0x01202 Kaydet 0x31231 Kaydet 0x21202 Yükle 0x11213 Yükle 0x01515 Fiziksel Bellek
Çözüm Bozuk segment: Geçersiz segment numarası Segment taşması: Adres segment dışında Erişim ihlali: Sayfa geçersiz veya salt okunur sayfaya yazma girişimi Talimat Çevirilmiş Fiziksel Sayfa Sonuç (Dönüş değeri) Yükle 0x30115 0x3115 0x57 Kaydet 0x10345 0x3145 Erişim İhlali Kaydet 0x30316 0xF016 Tamam Yükle 0x01202 0xF002 0x22 Kaydet 0x31231 0xE031 Kaydet 0x21202 Yok Bozuk segment Yükle 0x11213 Segment taşması Yükle 0x01515 0x3015 veya Yok
Çoklu Ortam P1 ve P2 süreçlerinin aralıkları (bitiş için azami süre) p1 = 50 ve p2 = 75 olarak verilmektedir. Yine aynı süreçlerin işlenme (çalışma) süreleri t1 = 25 ve t2 = 30 olarak verilmektedir. Bu süreçler için oran monoton zamanlama (RMS) kullanılabilir mi? Bu süreçlerin zamanlamasını en erken bitiş zamanlı önce (EDF) algoritması ile yapınız.
Çözüm Faydalanma 25/50 + 30/75 = 0,9 N(21/N – 1) = 2(21/2 – 1) = 0,828 𝑖=1 𝑚 𝐶 𝑖 𝑃 𝑖 ≤𝑚( 2 1/𝑚 −1) Zaman Süreç Açıklama 0 – 25 P1 P1, P2 işlemciye gelir. 25 – 50 P2 P1 biter. 50 – 75 P1 işlemciye gelir. 75 P2 bitiş zamanını 5 ms ile kaçırır. Faydalanma 25/50 + 30/75 = 0,9 N(21/N – 1) = 2(21/2 – 1) = 0,828 0,9 > 0,828 olduğu için oran monoton zamanlayıcının işe yaraması garanti değildir. EDF ile zamanlama tabloda gösterilmektedir. Zaman Süreç Açıklama 0 – 25 P1 P1 (d = 50), P2 (d = 75) işlemciye gelir. 25 – 50 P2 P1 biter, P2 başlar. 50 – 55 P1 (bitiş = 100) varır, P2’ nin bitiş süresi daha düşüktür. (b = 75). 55 – 75 75 – 80 P2 (b = 150) varır, P1’ in bitiş süresi daha düşüktür. (b = 100).