Master Boot Record (MBR)

advertisement
BÖLÜM 11
İKİNCİL DEPOLAMA YÖNETİMİ
İçerik






Disk Yapısı
Diske Yerleşim
Disk Düzenleme
Disk Yönetimi
Boş Alan Yönetimi
İşletim Sistemleri Özellikleri
...
Disk Düzenleme

Disk düzenleme:



Read/Write data:





Erişim zamanı
diskin band genişliğinin iyi kullanılması
Arama zamanı: Disk kolunun istenen sektörü içeren silindire hareket
etmesi için gereken zaman
Döngüsel gecikme zamanı: Diskin okuma başlığının istenen sektör
üzerine gelene kadar gereken dönme zamanı.
Transfer zamanı: okuma-yazma kafası altındaki bit bloklarının
transfer süresi
Diskin band genişliği, Son transferin tamamlanması ile ilk isteğin
servis edilmesi arasında geçen toplam zaman ile bölünen, toplam
transfer edilen byte sayısıdır.
Erişim zamanı ve band genişliğini, I/O isteklerini iyi şekilde servis
edilerek düzenlenebilir.
...


Disk Gecikmesi=Kuyrukta bekleme
zamanı+Kontrolör zamanı+Arama zamanı+Dönme
zamanı+transfer zamanı
Disk üzerinde random bir alan



Aynı silindirde random bir yer



Seek (5ms) + Rot. Delay (4ms) + Transfer (0.25ms)
Yaklaşık olarak 10ms 100Kbyte/sec
Rot. Delay (4ms) + Transfer (0.25ms)
Yaklaşık olarak 5ms 200Kbyte/sec
Aynı track teki bir sonraki sektör

Transfer (0.25ms): 4 MByte/sec
..

Bir işlem I/O işlemi ya da disk işlemi
gerektiğinde sistem çağrısı yapılır. Sistem
çağrısı şu bilgileri içerir:




operasyon bir giriş mi çıkış mıdır
Transfer edilecek disk adresi nedir
Transfer edilecek bellek adresi nedir
Transfer edilecek byte sayısı kaçtır
Disk Yapısı



Diskteki mantıksal blok numarası fiziksel adreslere
çevrilmelidir.
Fiziksel adres silindir numarası, silindirdeki(cylinder) iz
(track) numarası ve izdeki sektör(sector) numarasından
oluşmaktadır.
Tipik olarak:
 Her yüzeyde 500-20.000 arası iz
 Her izde 32-800 sektör
Disk Yapısı

Disk sürücüler, tek boyutlu mantıksal blok dizilerine
adreslenmişlerdir. Bu mantıksal bloklar transferin en
küçük birimleridir.

Tek boyutlu Mantıksal blok dizisi, diskin sektörlerine
sıra ile eşleştirilir.


Sector 0, en dıştaki silindirin birinci iz’inin ilk sektörüdür.
Bu ize eşleştirme işinden sonra bu silindirdeki diğer izlere
ve daha sonra en dıştakinden en içteki silindire doğru
eşleştirme işi devam eder.
Disk Düzenleme Algoritmaları

Algoritmalar değerlendirilirken şunlar
varsayılacaktır:


Disk 0-199 silindire sahip
Bekleme kuyruğunun şu şekilde olduğu
düşünülecektir
98, 183, 37, 122, 14, 124, 65, 67
Okuma Yazma Kafası: 53. silindirde
FCFS

toplam kafa hareketi: 640 silindir
SSTF




Mantığı kafanın şu anki yerini değiştirmeden
önce ona yakın tüm istekleri öncelikle
karşılamak daha sonra diğer tarafa
yönelmektir.
SSTF kafanın şu anki pozisyonuna en yakın
yeri biri sonraki adım olarak seçer.
Bazı disk request’ lerin gecikmesine sebep
olur.
Alg. Bu işletimde 208 kafa hareketi gerektirir.
SSTF
SCAN




Scan algoritmasında driver kuyruğun yapısını
inceler.
Okuma / yazma kafası öncelikle diskin bir tarafına
doğru ilerler daha sonra tam aksi yönde turunu
tamamlar.
İstekleri bu yönde değerlendirir. Asansör mantığında
işliyor diyebiliriz.
Alg. Bu işletimde 236 kafa hareketi gerektirir
SCAN
C-SCAN




Circular SCAN ‘den gelmektedir. Scan ‘in bir
varyantıdır.
Diskin fiziksel yapısını dikkate alarak işini
yapar.
Öncelikle bir yöne doğru ilerler. Daha sonra
geri dönüş yolunda isteklere bakmaksızın
tekrar başa konumlanır.
Tekrar sona doğru ilerler.
C-SCAN
C-LOOK





SCAN ve C-SCAN de o yöndeki isteklere bakılmaksızın sabit bir
yöne doğru ilerlenmekte idi.
LOOK metodunda ise farklı olarak bir yöne gitmeden önce o
yöndeki isteklerin yoğunluğu da değerlendirilir.
Mantığı: Look for a request before moving in that direction
O yöne ilerlemeden önce o yöndeki isteklere bakar.
Hangi yönde istek fazla ise o yöne yönelir.
C-LOOK
Algoritma Seçmek






SSTF genelde uygulanan algoritmadır.
SCAN ve C-SCAN yüklü diski olan işletim sistemlerinde daha iyi
işlemektedir.
Performans gelen istek tipi ve sayısına göre değişir.
Disk için gelen istekler dosya yerleşiminden etkilenebilir.
Disk düzenleme algoritması bir işletim sisteminin ayrı bir modülü
olarak yazılmalıdır. Ki gerektiğinde başka bir algoritma ile rahat
değiştirilebilsin.
SSTF ya da LOOK default algoritma olarak iyi bir seçim
olabilirler.
Disk Yönetimi


Low-level formatting ve High-level formatting
Low-level formatting (fiziksel formatlama):





Yeni bir manyetik disk, boş bir yüzeydir.
Disk veriyi depolayabilir olmadan önce, disk denetleyicinin okuyup
yazabileceği sektörlere bölünmüş olmalıdır.
Fiziksel formatlama, her sektör için diski özel bir veri yapısı ile
doldurur.
Bir sektör için veri yapısı, tipik olarak bir başlık ve kuyruk alanı içerir.
Sektör boyutları 256-512-1024 olarak formatlama işlemleri yapılır.
Low Level Formatting
...

Başlık ve kuyruk bilgisi:








sektör numarası,
hata kodlama bitleri (ECC) gibi disk denetleyicinin ihtiyaç
duyacağı bilgileri içerir.
Denetleyici, normal I/O zamanında sektöre yazarken, ECC ler
güncellenir.
Sektör okunduğunda ECC de okunur ve yeniden hesaplanır.
Disk ve disk kontrolör arasındaki bit aktarımında, eğer ECC nin daha
önceki değeri ile yeni hesaplanan ve saklanan değeri farklı ise sektör
zarar görmüş demektir ve bad sektör olarak adlandırılır.
ECC, bir hata düzeltme kodudur.
Denetleyici hangi bitlerin bozulduğunu anlayabilir ve sonrasında doğru
olan değerlerini hesaplayabilir.
Denetleyici, bir sektör okunduğunda yada yazıldığında ECC işlemini
otomatik olarak yapar.
...


Dosya sistemini disk üzerinde saklayabilmek için, işletim sistemi
hala bir takım ek veri yapılarına ihtiyaç duyar.
Bu iki aşamada gerçekleşen bir işlemdir.
 İlk adım, diski silindir gruplarına ayırmaya yarayacak olan
partitioning işlemidir.



İşletim sistemi, her partitiona, ayrı bir diskmiş gibi davranır.
Örneğin bir partition işletim sisteminin işletilebilir kodlarını içerirken
diğeri kullanıcı dosyalarını içerebilir.
İkinci aşama, mantıksal formatlama (yada dosya sistemi yaratma)
işlemidir.


Bu adımda, işletim sistemi, dosya sistemi veri yapılarını disk üzerine
depolarlar.
Bu veri yapıları, boş ve yerleşim yapılmış alan bilgileri (FAT ve inode)
ve mevcut boş dizin bilgilerini tutarlar.
Boot Blok




Bir bilgisayar için run işlemini başlatmak- örneğin güç verildiğinde
yada restart edildiğinde- bir başlangıç programı başlatmaya
ihtiyaç duyar.
Boot başlangıç programı basit olma eğilimdedir.
Bir sistemin tüm özelliklerini CPU registerlarından aygıt
denetleyicilere ve ana bellek içeriklerine başlangıç değeri verirler.
Bu işi yapabilmek için, boot başlangıç programı, işletim
sisteminin çekirdeğini disk üzerinde bulur, belleğe yükler ve
işletim sistemini başlatmak için başlangıç adresine atlar.
Boot Blok








Birçok bilgisayar için, boot başlangıç programı Rom üzerinde yer alır.
Rom readonly olduğunda bilgisayar virüsleri tarafından zarar göremez.
Buradaki problem ise şudur.
Boot başlangıç programını değiştirmeye çalışmak demek, ROM belleğin
donanım çiplerini değiştirmek demektir. Bu nedenle çoğu sistem çok
küçük bir boot başlangıç programını rom üzerinde saklar.
Bu programın görevi boot başlangıç programının geri kalan kısmını
diskin ilgili yerinden getirebilmektir.
Bu şekilde program kolayca değiştirilebilir.
Boot bölümü içeren disk, boot disk yada sistem disk olarak adlandırılır.
Rom daki boot kodları, disk denetleyiciye boot bloklarını belleğe
okumasını söyler ve sonra bu kodu işletmeye başlar.
Boot Process
Basic Disk Partitioning

Bir disk Master Boot Record (MBR) diye adlandırılan bir sektöre
sahiptir. Bu ilk sektördür. partition table ile bölümleme bilgisini içerir.
MBR
Boot code
Boot sector
1
2
3
4
Partitiion
table
Partitions within an
extended partition
Extended partition
boot record
Boot partition
Partition 1
Partition 2
Partition 3
(extended)
Partition 4
Bad Bloklar





Disk ve denetleyicinin kullanımdaki durumuna göre bloklar
değişik şekillerde tutulabilirler.
Basit disklerde, örneğin IDE denetleyiciler gibi, bad bloklar
manuel olarak tutulur.
Eğer format bir bad sektör bulursa, Fat girişine özel değerler
yazar ve rutinleri bir dahaki işletimde bu blokları kullanmamak
üzere çalıştırır.
Eğer bloklar normal işletim sırasında bad blok olurlarsa, özel bir
program(chkdsk) bad blokların aranması ve kilitlemesi için mauel
olarak çalıştırılabilmelidir.
Bu bloklardaki veriler kaybedilirler.
...





Daha karmaşık yapılı SCSI disklerin kullanıldığı PC ler, serverlar
bad blokların bulunması konusunda daha akıllı sistemlerdir.
Denetleyici, disk üzerinde bir bad blok listesini düzenler.
Liste, fabrikasyonda low-level format sırasında ilk değerlerini alır
ve diskin işletmi boyunca güncel değerlerini almaya devam eder.
Denetleyici, her bad sektörü mantıksalolarak bir spare sektör ile
değiştirmeyi söyleyebilmelidir.
Bu şema sector sparing ya da forwarding olarak bilinir.
...

Tipik bir bad sektör işlemi şu şekilde olur:




İş. Sist, mantıksal blok 87 yi okumaya çalışır.
Denetleyici, ECC yi hesaplar ve sektörün bad sektör
olduğunu görür. Bunu işletim sistemine bildirir.
Sistemin tekrar boot edildiği bir sonraki zamanda, Özel bir
komut, SCSI kontrolöre, bad sektör ile spare ile
değiştirmesi gerektiğini söyler.
Bundan sonra, sistem 87. bloğu tekrar çağırırsa, denetleyici
tarafından değiştirilen sektörün adresine yönlendirme
yapılır.
Bad Block
Swap Alanı Yönetimi


Disk, bellekten daha yavaş erişim
gerçekleştirdiğinden, swap alanı kullanmak
sistemin performansını oldukça artırmaktadır.
Swap alanı dizaynının ana hedefi, sanal
bellek sistemi için en iyi throughput’u
sağlamaktır.
Linux Sistemlerde Swapping Data
Structures



Genel uygulama: swap alanını bölüm bilgisi olarak düzenlemek
Slot size=page size (örn 4KB)
Page boş slotlardan birine yazılır
Download