4.2. Sabit diskler

Bu bölümde sabit disklere ait terimler ve terminolojiye yer verilmiştir. Şayet bu konuda bilgi sahibi iseniz bu bölümü atlayabilirsiniz.

Şekil 4.1 de bir sabit diskin önemli parçaları gösterilmiştir. Bir sabit disk bir veya daha fazla sayıda metal plaka ihtiva eder. Bu disklerin her iki yüzeyi de bilgi depolayabilmek için manyetik bir tabaka ile kaplanmıştır. Her yüzeyde bilgileri okuyan ya da değiştiren bir okuma/yazma kafası bulunur. Diskler ortak bir eksen/mil etrafında döner. Genellikle 5400 devir/dak ile 7200 devir/dak arası bir hıza sahiptir. Yeni sabit disklerin bazıları daha hızlı olabilmektedir. Bazı eski sabit disklerin hızı ise daha düşüktür. Kafalar plakaların/disklerin yarı çapları boyunca hareket eder. Bu hareket plakaların dönüşü ile birleştirilerek kafaların bütün plaka/disk yüzeyini okuması/işlemesi sağlanır.

İşlemci (CPU) ve disk, bir disk denetleyicisi vasıtası ile haberleşir. Çeşitli türdeki diskler bilgisayarın işlemci dışında kalan kısmı ile haberleşmek için aynı arayüzü kullanır, bu sayede bilgisayarın geri kalan parçalarının disk ile haberleşmek için ne kullanmaları gerektiğine dair bir fikir elde etmeleri gerekmez ve bu da işlemleri kolaylaştırır. Bu sayede bilgisayar diske "hey disk ne istiyorsam çabuk ver" diyebilir. Bu işler böyle olmasa idi bilgisayar karmaşık ve uzun elektrik sinyallerini diskin kafasına yollayacak, kafa disk üzerinde belli bir konumda doğru verileri bulana kadar bekleyecek ve tekrar bunları bilgisayara iletecekti. Yapması gereken pek çok karışık ve hoş olmayan işlerle uğraşacaktı. Bu da sistemin performansını olumsuz etkileyecekti. Aslında diskin kullandığı bu arayüz de karmaşık olarak nitelenebilir. Ama diğer yapılması gereken işlemlere göre çok daha az karmaşıklık ihtiva eder. Denetleyiciler otomatik hatalı sektör taraması ve düzeltmesi gibi değişik işler yapabilir.

Yukarıdaki açıklamalar birisinin sabit diskleri anlaması için gereken açıklamaların hepsini içermektedir. Ayrıca sabit disklerde kafanın ve plakaların çalışmasını ve dönmesini sağlayan bir motor, mekanik bölümleri denetleyen elektronik bölümler de vardır. Fakat bunların, sabit diskin çalışma mantığının anlaşılması ile doğrudan bir ilgisi yoktur.

Yüzeyler eş merkezli çemberlere ayrılmıştır. İz olarak adlandırılan bu bölümlerde sektörlere ayrılmıştır. Bu sayede disk yüzeyindeki yerleşimleri tanımlamak, bilgilerin bulunduğu yeri tespit etmek ve dosyaları disk yüzeyine yerleştirmek mümkün olabilmektedir. Disk yüzeyindeki bir yeri bulmak için "yüzey 3, iz 5, sektör 7" gibisinden bir tanımlama yapılabilir. Genellikle sektör sayısı bütün izler için aynıdır. Ama bazı sabit disklerde, dıştaki izlerde içtekilerden daha fazla sektör olabilmektedir. Genel olarak bir sektör 512 byte bilgi içerir.

Şekil 4.1. Bir sabit diskin yapısı
Bir sabit diskin yapısı

Aynı yolla bütün yüzeyler iz ve sektörlere ayrılmıştır. Bir yüzeydeki bir kafa bir iz üzerindeyken diğer yüzeydeki kafa da ona mukabil gelen iz üzerindedir. Bütün karşılıklı izlerin hepsine birden silindir denir. Bir izden diğerine geçmek zaman alır. Sık sık kullanılan dosyalar aynı silindir üzerine yazılarak kafaların bütün disk yüzeyinde hareket etmeleri mecburiyeti ortadan kaldırılmış olur. Bu sayede zamandan tasarruf sağlanır ve performans artışı elde edilir. Tabii bu her zaman mümkün olmaz, bu durumdaki dosyalara parçalanmış (fragmented) dosyalar denir.

Kafaların veya yüzeylerin sayısı, ki ikisi de aynı şeyi ifade eder (her yüzeye bir kafa), silindirler ve sektörler bir sabit diskte çok çeşitlilik gösterebilir. Her birinin numaralarının tarifine diskin geometrisi denir. Bu geometri CMOS RAM diye anılan batarya destekli özel bir bellek bölümünde saklanır. İşletim sistemi açılış sırasında ya da sürücü başlangıcında gidip bu bölümden gerekli bilgileri alır.

Büyük bir şanssızlık eseri CMOS RAM'de iz sayısı 1024 ile sınırlandırılmıştır. Bu büyük sabit diskler göz önüne alındığında oldukça küçük bir rakam olarak kalmaktadır. Bu sorunun üstesinden gelmek için denetleyici bilgisayara yalan söyler (günümüzde bu tür sorunlar ortadan kalkmıştır. Pek çok yerde standart olarak 60-80Gb sabit diskler satılmakta ve BIOS ayarlarında LBA kipinin etkinleştirilmesi sayesinde 1024 silindir sınırı ortadan kalkmaktadır).

Bu sınır SCSI diskler için söz konusu değildir. Çünkü SCSI diskler işlemci ile farklı bir yol ile haberleşir. SCSI disk denetleyicileri ardışık sektör numaraları sayesinde haberleşir. Bilgisayar bu durumda diskin gerçek geometrisini asla bilmemektedir.

Linux, böyle durumlarda diskin gerçek yapısını bilememekte olup, asla dosyaları bir silindir içine depolamaz, onun yerine ardışık sektör numaralarının olduğu bölüme bilgileri yazar, ki bu sistemde diğeri kadar iyi performans verir. Buradaki en önemli nokta bunların ve daha fazlasının denetleyicinin önbelleği sayesinde yapılıyor olmasıdır. Bütün bu işlemler otomatik olarak yönetilir.

Her sabit disk bağımsız birer aygıt dosyası ile temsil edilir. Genellikle 2 veya 4 adet IDE disk sisteme bağlı haldedir (bir veya üç adet disk olmasının IDE sabit diskler için hiçbir mahsuru yoktur.). Bunlar /dev/hda, /dev/hdb, /dev/hdc ve /dev/hdd olarak sıralanır ve adlandırılır. SCSI diskler ise /dev/sda, /dev/sdb, /dev/sdc, ... olarak sıralanır. Sabit disk çeşitleri ve isimleri hakkında daha ayrıntılı bilgi Aygıt Dosyaları bölümünde mevcuttur. Unutmayın ki bu isimler disk bölümlerine ulaşmak için değil, bütün sabit diske ulaşmak için geçerlidir. Böyle durumlarda çok dikkatli olunmazsa bilgiler ve bölümler karıştırılabilir. Disk aygıt dosyaları sadece MBR'ye (Master Boot Record - Ana Önyükleme Kaydı) ulaşmak için kullanılırdı. Bu konu da ilerde açıklanacaktadır.