Son Söz

Disk Bölümlerinin Biçimlendirilmesi

Komut satırında disk bölümlerim üzerindeki dosya sistemlerini oluşturmaya başlıyorum. Birincil ve mantıksal disk bölümleri karışık örneğini takiben:

# mke2fs /dev/sda1

Bunu /dev/sda4 (ek disk bölümü) dışındakilerin hepsi için yapmalıyım.

Linux ext2 dışındaki dosya sistemlerini de destekler. /usr/src/linux/include/linux/fs.h dosyasının içeriğine bakarak çekirdeğinizin hangi dosya sistemi türlerini desteklediğini öğrenebilirsiniz.

Yaygın dosya sistemleri /sbin içerisindeki mk ile başlayan mkfs.msdos ve mke2fs gibi programlarla yapılabilir.

Takas Alanınının Etkinleştirilmesi

Bir takas alanını yapılandırmak için:

# mkswap -f /dev/hda5

Takas alanını etkinleştirmek için:

# swapon  /dev/hda5

Normalde, takas alanı önyükleme sırasında ilklendirme betikleri tarafından etkinleştirilir.

Disk Bölümlerinin Bağlanması

Disk bölümlerini bağlamak onları linux dosya sistemi ile ilişkilendirmek demektir. Bir linux disk bölümünü bağlamak için:

# mount -t ext2 /dev/sda1 /opt

-t ext2
Dosya sistemi türü. Kullanmak isteyebileceğiniz diğer dosya sistemi türleri:

  • ext3 (ext2 tabalı günlüklemeli (journaling) dosya sistemi)
  • msdos (DOS)
  • hfs (mac)
  • iso9660 (CDROM)
  • nfs (ağ dosya sistemi)

/dev/sda1
Aygıt adı. Kullanmak isteyebiledeğiniz diğer aygıt dosyası adları:

  • /dev/hdb2 (ikinci IDE sürücüsündeki ikinci disk bölümü)
  • /dev/fd0 (floppy disk A)
  • /dev/cdrom (CDROM)

/opt
Bağlama noktası. Burası ls /opt yazdığınız zaman "görmek" istediğiniz yerdir, böylece /dev/sda1 içerisinde ne varmış diye görebilirsiniz. Eğer /opt altında halihazırda dizinler ve/veya dosyalar varsa bağlama işleminden sonra bunlar görünmez olacaklardır.

Saçılım ve Dosya sistemleri hakkında bazı gerçekler

Disk alanı işletim sistemi tarafından bloklar ve blok kayıtları olarak yönetilir. ext2'de, bloklar ve blok kayıtları aynı büyüklükte olmalıdır, böylece açıklamamızı bloklarla sınırlandırabiliriz.

Dosyalar herhangi bir büyüklükte olabilir. Blok sınırlarıyla sonlanmazlar. Dolayısiyle her bir dosya için bloğun bir kısmı boşa harcanır. Dosya boylarının rasgele olduğunu varsayarsak, her bir dosya için diskinizde yaklaşık yarım blok boşa harcanmaktadır. Tanenbaum "İşletim Sistemleri" ("Operating Systems") isimli kitabında buna "dahili saçılım" ("internal fragmentation") demektedir.

Kaç dosyanız olduğunu dosya düğümü (inode) sayısına bakarak tahmin edebilirsiniz. Benim diskimde

# df -i
Dosyasistemi      Dosyaindeksi Dolu    Boş    Kull% Bağlanılan yer
/dev/hda3              64256   12234   52022    19%  /
/dev/hda5              96000   43058   52942    45%  /var

/ üzerinde yaklaşık 12000, /var üzerinde ise yaklaşık 44000 dosya var. 1 kB'lık blok büyüklüğü için, yaklaşık 6+22 = 28 MB'lık disk alanı dosyaların blok sonlarındaki kısımlarında kaybedilir. 4 KB'lık blok büyüklüğü seçmiş olsaydım, bu büyüklüğün 4 katı kadarını kaybetmiş olacaktım.

Veri aktarımı tek ve kesintisiz bir veri tomarında daha hızlı gerçekleşir. Bu da, dosyalar büyüdükçe ext2'nin ardışık 8 blokluk birimler tahsis etmesinin sebebidir. Dosya kapatıldığında ayrıldığı halde kullanılmayan bloklar serbest bırakılır ve böylece boşa alan harcanmaz.

Dosyaların ardışık olmayan bloklardan oluşması performans açısından kötüdür, çünkü genelde dosyalara erişimde sıralı erişimle kullanılır. Bu durum da işletim sisteminin diske erişimini bölmeye zorlamakta ve de disk kafalarını hareketine sebep olmaktadır. Buna da harici saçılım ("external fragmentation") veya basitçe saçılım ("fragmentation") denir ki MS-DOS dosya yapılarındaki temel sorundur. MS-DOS'un kullandığı berbat önbelleğin birleşimi ile dosya saçılmalarının etkileri dikkat çekici boyutlardadır. DOS kullanıcıları disklerini birleştirmeyi bir kaç haftada bir yaptıkları mutad işler arasına almışlardır hatta bazıları disk birleştirmeyle ilgili törensel fikirler geliştirmiştir.

Bu alışkanlıklarının hiç birisinin Linux ve ext2 üzerinde işi yoktur. Linux dosya yapısı normal kullanımda ve azından %5'lik bir disk alanının boş olması durumunda hiçbir koşulda disk birleştirmeye gerek duymaz. ext2'de disk birleştirmek için defrag isimli bir araç vardır, fakat kullanıcılar dikkatsiz kullanımı konusunda uyarılmaktadır. Böylesi bir işlem sırasındaki güç kesintisi sisteminizi çökertebilir. Verilerinizi yedeklemeniz gerekeceğinden, kopyasından yazmak iş görecektir.

MS-DOS dosya yapısı aynı zamanda dahili saçılımdan dolayı büyük miktarda alan kaybetmesiyle bilinir. 256 MB'dan büyük disk kısımları için, DOS blok boyutu kullanılamayacak kadar büyür (Bu durum belli ölçülerde FAT32 için de geçerlidir). Ext2, 0.5 TB (terabayt, 1 TB = 1024 GB'tır) ve üstü büyüklükler dışında, sizi büyük dosya yapıları için büyük bloklar seçmeye zorlamaz. Bu durumlarda küçük blok büyüklükleri verimsiz hale gelmektedir. Dolayısiyle, DOS'takinin aksine büyük diskleri blok büyüklüğünü küçük tutmak için bir kaç bölüme ayırmanın gereği yoktur.

Eğer pek çok küçük dosyanız varsa 1 kB'lık blok büyüklükleri kullanın. Büyük disk bölümleri için 4 kB yeterlidir.