Next Previous Contents

3. Geometri dan Partisi dari Disk

Jika Anda memiliki beberapa sistem operasi dalam sebuah disk maka setiap sistem operasi menggunakan satu atau lebih partisi disk tersebut. Ketidak-sesuaian letak dari partisi-partisi tersebut dapat berakibat fatal.

Sebuah MBR berisi tabel partisi yang menjelaskan di mana letak partisi-partisi (primer) berada. Tabel tersebut memiliki 4 entri, seluruhnya untuk 4 partisi primer, masing-masing entri berupa struktur:

struct partition {
        Char    active;         /*  0x80: bootable, 0: not bootable */
        Char    begin[3];       /*  CHS untuk sector pertama  */
        Char    type;
        Char    end[3];         /*  CHS untuk sector terakhir  */
        Char    start           /*  32-bit nomor sector (dihitung mulai dari nomor 0)  */
        Char    length;         /*  32-bit nomor jumlah sector  */
} ;
(CHS singkatan dari Cylinder/Head/Sector).

Informasi di atas bersifat duplikasi: lokasi partisi ditunjukan tidak hanya oleh field-field begin (24 bit) dan end (24 bit), tetapi juga oleh start (32 bit) dan length (32 bit).

Linux hanya menggunakan field-field start dan length sehingga dapat menangani partisi yang berukuran tidak lebih dari 2^32 sector, atau 2 TB. Ukuran itu adalah 100 kali lebih besar dari disk yang tersedia saat ini, mungkin ukuran tersebut masih memadai untuk 8 tahun kedepan atau lebih.

Sayang sekali, INT13 call dari BIOS menginterpretasikan angka CHS yang terdiri dari 3 byte itu menjadi sbb: 10 bit bagi nomor silinder, 8 bit bagi nomor head, dan 6 bit untuk nomor sector dalam track. Sehingga nomor silinder dapat berupa angka diantara 0 - 1023, nomor head dapat berupa angka diantara 0 - 255, dan nomor sector dapat berupa angka diantara 1 - 63 (pemberian nomor sector dalam sebuah track dimulai dari 1 bukan 0). Dengan ke-24 bit tadi seseorang dapat mengakses ukuran sebesar 8455716864 byte (7.875 GB), 200 kali lebih besar dari disk yang tersedia pada tahun 1983.

Hal yang lebih disayangkan lagi, interface IDE standar memungkinkan adanya 256 sector/track, 65536 silinder dan 16 head. Dengan standar tersebut memungkinkan pengaksesan terhadap 2^37 = 137438953472 byte (128 GB), tetapi kalau digunakan bersama dengan pembatasan 63 sector dan 1024 silinder dari BIOS maka hanya sebesar 528482304 byte (504 MB) yang dapat diakses.

Ukuran di atas tentunya tidak memadai untuk kebutuhan disk saat ini, sehingga orang mencoba berbagai cara untuk mengatasi batasan di atas baik secara hardware maupun software.


Next Previous Contents