Disk Yönetimi
Hazırlayan. Şadi Evren ŞEKER
Bu yazının amacı bilgisayarın önemli donanım parçalarından birisi olan sabit diskin (hard disk) daha iyi anlaşılmasını sağlamaktır.
Aşağıdaki resimde klasik bir sabit diskin parçalarının isimleri gösterilmiştir:
Temel kavramlar:
Kafa (head) : Güncel sabit diskler genelde birden fazla disk içermektedirler. Her diskin üzerine işlem yapan (okuyan, yazan veya hareket eden) manyetik uca kafa denilir. Güncel disklerin iki yüzü de işlenebilir olduğu için bir disk için 2 kafa kullanılır.
İz (track) Disk üzerinde kafanın hareket ettiği ve manyetik olarak işlenebilen alanlardır.
Silindir (cylinder): Diskler daire şeklinde olduğu için, disk üzerindeki izler çembere benzetilebilir. Birden fazla disk olduğu için ve her disk üzerinde aynı koordinatlara çember olduğu düşünülürse, bu çemberlerin birleştirilmesi bir silindir görüntüsünde olur. Dolayısıyla silindir birden fazla diskte aynı yere düşen izler demektir.
Sektör (sector) Disk üzerindeki izlerin bölündüğü alt parçalardır. Bu parçalar sayesinde izler üzerinde bilgi gruplanabilmektedir. Yuvarlak bir pasta (disk) üzerindeki dilimler gibi düşünülebilir.
Diskin üzerinde bilgilerin durması manyetik alan yönüne göre olur. Örneğin aşağıdaki resimde sağa doğru olan yükleme 1, sola doğru olan yükleme 0 olarak kabul edilmşitir:
Blok (Block) Sektör ve izlerin kesişimidir. Disk üzerindeki en küçük birimdir.
Yukarıdaki bilgiler ışığında aşağıdaki formüller elde edilebilir:
Diskin bir yüzündeki blok sayısı: diskteki silindir sayısı * diskteki sektör sayısı
Disk başına blok sayısı: Diskin bir yüzündeki blok sayısı * diskin yüz sayısı
Disk başına blok sayısı: Diskin bir yüzündeki blok sayısı * disk başına kafa sayısı
Disk başına blok sayısı: diskteki silindir sayısı * diskteki sektör sayısı * disk başına kafa sayısı
Toplam blok sayısı: Silindir sayısı * disk başına kafa sayısı * sektör sayısı * disk sayısı
Toplam blok sayısı: silindir * kafa * sektör
Örnek: 100 silindiri 2 kafası ve 20 sektörü olan bir diskin kaç bloğu vardır?
Toplam blok sayısı: 100 * 2 * 20
Toplam blok sayısı: 4000 olarak bulunur.
Şayet bir blok boyutu 512 byte olarak kabul edilirse diskin kapasitesi:
4000 * 512 = 2MB olarak bulunur.
LBA ( logical block addressing) mantıksal blok adreslemesi:
Disk üzerindeki blokların adreslenmesi için kullanılır. Diskte bulunan ilk blok lba0 , ikinci blok lba1 şeklinde adreslenir.
CHS (cylinder head sector) Silindir Kafa Sektör
Disk üzerinde blokların adreslenmesi için kullanılan ikinci yöntemdir. Diskte bulunan ilk blok 0 0 0 şeklinde ikinci blok 0 0 1 şeklinde adreslenir. 3 sayı tutar, silindir, kafa ve sektör bilgisi ayrı ayrı durur.
Örnek dönüşüm tablosu:
LBA Değeri
CHS Satırı
0
0, 0, 1
1
0, 0, 2
2
0, 0, 3
62
0, 0, 63
63
0, 1, 1
64
0, 1, 2
65
0, 1, 3
125
0, 1, 63
126
0, 2, 1
127
0, 2, 2
188
0, 2, 63
189
0, 3, 1
190
0, 3, 2
16,063
0, 254, 62
16,064
0, 254, 63
16,065
1, 0, 1
16,066
1, 0, 2
16,127
1, 0, 63
16,128
1, 1, 1
16,450,497
1023, 254, 1
16,450,558
1023, 254, 62
16,450,559
1023, 254, 63
Yukarıdaki tabloya göre bir disk CHS kullanılarak en fazla:
1024 * 255 * 64 * 512 ( byte) = 8.4GB olabilir.
CHS sistemi MS-DOS ve NT4.0 versiyonu bilgisayarlarda kullanılan bir sistemdi ancak yukarıda da görüldüğü üzere adreslemedeki yetersizlik yüzünden ilerletilmesi gereken bir sistemdir.
ATA sürücülerinde kullanılan yeni teknoloji sayesinde ECHS (enhanced CHS) silindir sayısı arttırılabilmektedir:
LBA Değeri
CHS Satırı
0
0, 0, 1
1
0, 0, 2
2
0, 0, 3
62
0, 0, 63
945
0, 15, 1
1007
0, 15, 63
1008
1, 0, 1
1070
1, 0, 63
1071
1, 1, 1
1133
1, 1, 63
1134
1, 2, 1
2015
1, 15, 63
2016
2, 0, 1
16,127
15, 15, 63
16,128
16, 0, 1
32,255
31, 15, 63
32,256
32, 0, 1
16,450,559
16319, 15, 63
16,514,063
16382, 15, 63
Yukarıdaki dönüşüm tablosunu kullanan bir disk:
16384 * 16* 42 blok işleyebilmektedir bu değer de 128 GB alan karşılık gelmektedir. ATA-6 standardı ile bu değer 28 bitlik bilgiden 48 bitlik bilgiye çıkartılmıştır. Dolayısıyla adreslene bilen bilg 128PB olabilmektedir. 64 bit’e çıkan son adresleme yöntemi ile de bu bilgi 9 tirilyon GB’a kadar çıkabilmektedir. Burada BIOS’un bu adresleme şeklini desteklemesi gerektiği unutulmamalıdır.
Arayüz
Standart CHS
Extended CHS (ECHS) / Large
Logical Block Addressing
Entegre disk kontrolune eklenen basit diskler
Fiziksel geometri
Fiziksel geometri
Fiziksel geometri
BIOS’a entegre edilmiş disk kontorlu
Mantıksal Geometri
Mantıksal Geometri
Mantıksal Blok Adresleme(LBA)
BIOS’tan işletim sistemi ve uygulamalara geçiş ( Int 13h ile)
Mantıksal Geometri
Çevirilmiş Geometri
Çevirilmiş Geometri
IDE (Integrated Drive Electronics) sabit disk bağlantılarını (ana kart ile) standartlaştırmak için Western Digital firması tarafından geliştirilmiş olan 40 bitlik standarttır. Daha sonraları SATA (serial ATA) ile ayırmak için PATA (paralel ATA) isminde de kullanılmıştır.
EIDE: IDE teknolojisinin adreslemede yetersiz kalması üzerine (max. 520mb adreselenebilmekteydi) 8.4 GB’a kadar adresleme yapabilen ve yine western digital firması tarafından geliştirilen standarttır.
Yukarıdaki resimde bir ide kablosu ve ana kart üzerindeki bağlantı yuvası gösterilmiştir.
Standardın ismi
Diğer ismi
Transfer şekli (MB/s)
Maximum disk boyutu
Diğer yeni özellikler
pre-ATA
IDE
PIO 0
2.1 GB
22-bit logical block addressing (LBA)
ATA-1
ATA, IDE
PIO 0, 1, 2 (3.3, 5.2, 8.3)
Single-word DMA 0, 1, 2 (2.1, 4.2, 8.3)
Multi-word DMA 0 (4.2)
137 GB
28-bit logical block addressing (LBA)
ATA-2
EIDE, Fast ATA,
Fast IDE, Ultra ATA
PIO 3, 4: (11.1, 16.6)
Multi-word DMA 1, 2 (13.3, 16.6)
ATA-3
EIDE
S.M.A.R.T., Security
ATA/ATAPI-4
ATA-4, Ultra ATA/33
Ultra DMA 0, 1, 2 (16.7, 25.0, 33.3)
aka UDMA/33
AT Attachment Packet Interface (ATAPI), i.e. support for CD-ROM, tape drives etc.,
Optional overlapped and queued command set features,
Host Protected Area (HPA)
ATA/ATAPI-5
ATA-5, Ultra ATA/66
Ultra DMA 3, 4 (44.4, 66.7)
aka UDMA/66
80-wire cables
ATA/ATAPI-6
ATA-6, Ultra ATA/100
UDMA 5 (100)
aka UDMA/100
144 PB
48-bit LBA, Device Configuration Overlay (DCO),
Automatic Acoustic Management
ATA/ATAPI-7
ATA-7, Ultra ATA/133
UDMA 6 (133)
aka UDMA/133
SATA/150
SATA 1.0, Streaming feature set, long logical/physical sector feature set for non-packet devices
ATA/ATAPI-8
ATA-8
—
Hybrid drive featuring non-volatile cache to speed up critical OS files
Disk Erişim Hızları.
Diskin üzerindeki bir veriye okumak veya yazmak için erişilmesi için belirli bir vakit geçmektedir. Bu geçen vakit aşağıdaki parçalara ayrılabilir:
Rotational Delay (döme gecikmesi)
Diskin ilgili sektörünün kafanın altına getirilmesi için disklerin döndürülmesi süresidir.
İki türlü olabilir :
Constant Angular Velocity: Sabit Açısal Hız. Bu çeşit disklerde açısal hız sabittir yani disk her zaman aynı hızda döner.
Constant Linear Velocity: Sabit Doğrusal Hız: Bu çeşit disklerde kafanın okuma hızına göre disk hızı yavaşlayıp artar. Örneğin diskin merkezine yakın bölgelerinde daha çevre uzunluğu kısaldığı için, bu bölgelerden okuma yapıldığı sırada doğrusal hız sabit tutulmak için diskin hızı azaltılır. Veya diskin dışına doğru uzunluk arttığı için diskin hızı arttırılır.
Seek Time: Arama Zamanı
Kafanın bir track (silindir, iz) üzerine gelmesi için kafanın hareket etmesi süresidir.
Latency Time (erişim süresi) verinin manyetik ortamdan okunup işlenecek hale çevrilmesi süresidir.
Bir bilginin diskten okunması veya yazılması için Dönme gecikmesi + arama zamanı + latency kadar vakit geçmelidir.
merhaba hocam.
silindir ve blok kavramını tam anlamış değilim biraz daha açıklayabilirmisiniz. Birde şöyle bir sorum olacaktı.
İçinde 300 sekiz ikillik (bayt, byte) 1000 kayıt bulunan bir dosya, 1024 sekiz ikillik disk bloklarında saklanacaktır. Kayıtlar, blok sınırlarını aşmayacak şekilde diskte saklanırsa bu dosya için kaç blok gereklidir?
çözüm olarak 300*1000= 300000 byte yer gereklidir. 300000/1024=~293 bloğa yerleştirilir.böyle bir çözüm yapmaya çalıştım. Fakat cevap 334 olarak belirtilmiş.
yardımcı olabilirmisiniz.
3 tane çift yüzlü diski, 1024 silindiri, 25 ms ortalama
konumlama süresi ve 4KB blokları olan bir
disk sürücüde, toplam kaç tane iz (track) vardır?
A) 1024 B) 3072 C) 4096
D) 5529 E) 6144
teşekkürler şimdiden..
sorudaki konumlama süresi ve blok boyutlarının konu ile ilgisi yoktur.
Track (iz) diskin bir yüzündeki dairesel yapıdır. Kafa bu iz üzerinde hareket ederek verileri okur.
Bu durumda 1024 silindir demek bir yüzde 1024 iz (Track) var demektir. toplam 3 disk ve her diskte de 2 yüz olduğuna göre 6 adet yüzümüz bulunur. Bu yüzlerin her birinde 1024 iz bulunuyorsa sorunun cevabı 6 x 1024 = 6144 olarak bulunur.
İçinde 300 sekiz ikillik (bayt, byte) 1000 kayıt bulunan
bir dosya, 1024 sekiz ikillik disk bloklarında saklanacaktır.
Kayıtlar, blok sınırlarını aşmayacak şekilde diskte
saklanırsa bu dosya için kaç blok gereklidir?
A) 1000 B) 334 C) 330 D) 293 E) 3
yardımlarınız için tekrar tekrar teşekkürler..
Öncelikle açıklamalarınız ve yardımlarınız için teşekkürler Şadi Bey.Rica etsem aşağıdaki sorunun çözümünde yardımcı olur musunuz?
İçinde 300 sekiz ikillik (bayt, byte) 1000 kayıt bulunan bir dosya, 1024 sekiz ikillik disk bloklarında saklanacaktır.Kayıtlar, blok sınırlarını aşmayacak şekilde diskte saklanırsa
bu dosya için kaç blok gereklidir?
A) 1000 B) 334 C) 330 D) 293 E) 3
arka arkaya gelen sorular üzerine sanırım bu soruyu cevaplamam gerekecek.
Hesaplama aslında çok basit. bir kayıt için 300 byte yer gerekiyor.
Bizim bloklarımız ise 1024 byte alabiliyor. bu durumda bir bloğa 3 kayıt yerleşebilir. Yani her kayıt 300 byte olduğu için 3×300 = 900 byte yerleştikten sonra arta kalan 124 byte alan israf oluyor ve buna fragment ismi veriliyor.
Soruyu artık şu şekilde ele alabiliriz. Her blok 3 kayıt alıyorsa, 1000 kayıt için kaç blok gerekir?
1000 / 3 = 333.33.. elbette yarım veya 0.33 blok olmayacağına göre bunu da tam blok sayıyoruz ve cevap olarak 334 blok diyoruz.
Kısacası 334 adet blok kullanıyoruz, son blok hariç her blokta (333 blokta), blok başına 124 byte fragment oluşuyor. Son blokta ise 1 kayıt saklanıyor (999 kayıt ilk 333 blokta saklandığı için). son blokta ise 1024 – 300 = 724 byte israfımız var (fragment).
Yukarıdaki soruyu cevaplarken kayıtların parçalanamayacağını bilmeniz yeterli. Yani bir kayıtın bir kısmı bir bloğa geri kalanı farklı bloğa konulamaz ön kabulü yapılmıştır.
başarılar
Merhaba hocam,
Benimde konuyla ilgili bir sorum var ancak bölümüm ingilizce olduğundan ingilizce ekliyorum, yanıtlarsanız sevinirim: A 255-GB disk has 65,536 cylinders with 255 sectors per track and 512 bytes per sector. How many platters and heads does this disk have? Assuming an average cylinder seek time of 11 ms, average rotational delay of 7 msec and reading rate of 100 MB/sec, calculate the average time it will take to read 400 KB from one sector.