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:

Disk Manyetik ortamı

iz kafa sektör

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.

IDE kablo resmi
IDE anakart bağlantısı
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.

Yorumlar

  1. freelancer03

    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.

  2. solnishka

    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..

  3. Şadi Evren ŞEKER Article Author

    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.

  4. solnishka

    İç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..

  5. Otvertka

    Ö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

  6. Şadi Evren ŞEKER Article Author

    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

  7. Soru

    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.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir