Alokasi berindeks menggunakan akses langsung tanpa mengalami fragmentasi eksternal karena blok kosong pada disk dapat digunakan untuk berkas lain. Alokasi berindeks memerlukakan suatu blok
khusus yang berisi blok indeks. Hal ini sangat merugikan jika blok indeks lebih banyak daripada pointer.
Dengan alokasi link kita kehilangan banyak ruang untuk satu pointer per blok. Dengan alokasi berindeks semua blok indeks harus dialokasikan, walaupun hanya satu atau dua pointer yang tidak
NULL.
Hal diatas menimbulkan pertanyaan seberapa besar seharusnya blok indeks yang tepat. Setiap berkas harus ada dalam blok indeks, maka harus menyediakan blok indeks seminimal mungkin. Jika
blok indeks terlalu kecil, maka tidak bisa memenuhi kebutuhan berkas yang ukurannya besar. Ada tiga mekanisme yang bisa mengatasi masalah ini, yaitu sebagai berikut:
1. Linked Scheme . Untuk suatu berkas, blok indeks normalnya adalah satu blok. Untuk berkas
yang besar, dapat menggabungkan beberapa blok indeks. Jadi, bila berkas kita masih berukuran kecil, maka isi dari tempat yang terakhir dari blok indeks berkas tersebut adalah NULL. Namun,
bila berkas tersebut berkas besar, maka tempat terakhir itu berisikan alamat untuk ke blok indeks selanjutnya, dan begitu seterusnya.
Gambar 17.6. Gambar Linked Scheme
135
2. Indeks Bertingkat. Pada mekanisme ini blok indeks itu bertingkat- tingkat, blok indeks pada
tingkat pertama akan menunjukkan blok-blok indeks pada tingkat kedua, dan blok indeks pada tingkat kedua menunjukkan alamat-alamat dari blok berkas, tapi bila dibutuhkan dapat
dilanjutkan ke tingkat ketiga dan keempat tergantung dengan ukuran berkas tersebut. Untuk blok indeks dua tingkat dengan ukuran blok 4.096 byte dan petunjuk yang berukuran 4 byte dapat
mengalokasikan berkas hingga 4 GB, yaitu 1.048.576 blok berkas.
Gambar 17.7. Gambar Indeks Bertingkat
3. Skema Kombinasi. Alternatif lain adalah seperti yang dipakai oleh UNIX File System adalah
kombinasi dari direct blocks dan indirect blocks. Indirect blocks terdiri dari single, double, dan triple .
17.5. Kombinasi Alokasi
Seperti yang telah di jelaskan sebelumnya, kombinasi alokasi menggunakan mekanisme menggabungkan direct block dan indirect block. Direct block akan langsung menunjukkan alamat
dari blok berkas, dan pada indirect block , penunjuk pointer akan menunjukkan blok indeks seperti dalam mekanisme indeks bertingkat. Penunjuk pada sebuah single indirect block akan
menunjuk ke blok indeks yang berisi alamat dari blok berkas, penunjuk double indirect block akan menunjuk suatu blok yang bersifat sama dengan blok indeks 2 tingkat, dan triple indirect block akan
menunjukkan blok indeks tiga tingkat.
136
Gambar 17.8. Gambar INode pada UNIX File System
17.6. Manajemen Ruang Bebas
Penyimpanan yang tidak berkesinambungan dan adanya penghapusan data menyebabkan adanya ruang-ruang bebas di disk. oleh karena itu diperlukan manajemen ruang bebas. Caranya, dengan
membuat daftar ruang-ruang kosong. Apabila ada berkas baru yang ingin disimpan, maka ruang bebas dicari pada daftar ini.
Ada empat jenis daftar ruang bebas:
Vektor Bit
Blok yang kosong ditandai dengan angka 1 dan blok yang ada isinya ditandai dengan angka 0. Contoh: 0100100, ini berarti blok yang kosong adalah blok ke 1 dan 4.
Gambar 17.9. Gambar Vektor Bit
Perhitungan nomor blok kosong pada vektor bit ini adalah: jumlah bit per wordjumlah nilai-0 word+offset dari bit pertama.
Kelemahan dari cara ini adalah pemetaan bit-nya membutuhkan ruang tambahan blok tersendiri. Contoh:
137
ukuran blok = 212 byte, ukuran disk = 230 byte 1 gigabyte,
ruang untuk vektor bit=230212 bit atau 32Kbyte. Dengan menggunakan vektor bit bisa terjadi kesalahan dimana bit[i]=1 pada memory dan bit[i]=0
pada disk. Untuk mencegah terjadinya perbedaan ini, maka pada saat pengalokasian suatu ruang kosong untuk suatu berkas dilakukan cara berikut:
• set bit[i]=0 pada disk • alokasikan blok[i]
• set bit[i]=0 pada memory
Linked-List
Blok kosong pertama pointer ke blok kosong kedua, dan blok kosong kedua pointer ke blok ketiga yang kosong.
Gambar 17.10. Gambar Linked-List
Keunggulan linked-list adalah linked- list tidak membutuhkan terlalu banyak ruang khusus untuk pointer seperti pada vektor bit yang membutuhkan banyak ruang kosong untuk menyimpan bit-bit
yang menyatakan status dari setiap blok. Kelemahannya adalah sulit untuk mendapatkan ruang kosong berurutan dengan mudah.
Pengelompokan
Menggunakan satu blok untuk menyimpan alamat blok-blok kosong di dekatnya. Jika blok telah terisi, maka akan terhapus dari blok alamat kosong.
Gambar 17.11. Gambar Pengelompokan
Penghitungan
Ruang kosong list berupa urutan blok-blok kosong, maka dilakukan pendaftaran rangkaian blok kosong dengan memasukkan alamat blok kosong pertama dari rangkaian tersebut, lalu disertakan
138
jumlah blok kosong yang bersebelahan dengannya.
Gambar 17.12. Gambar Penghitungan
17.7. Backup
Kita tidak pernah tau apa yang akan terjadi dengan komputer dalam hal ini disk kita esok hari. Bisa saja, tiba- tiba terjadi failure yang membuat data yang ada dalam disk berubah, bahkan
terhapus. Untuk mengantisipasi ketidakonsistenan data dan terhapusya data dari disk, maka kita perlu melakukan backupdata. Backup adalah menyalin isi disk kedalam media lain seperti: floppy
disc, magnetic tape, optical disk, external hardisk, dll.
Setelah menyalin disk ke media sementara, maka perlu mengembalikan data tersebut ke dalam disk. Hal inilah yang dinamakan restore
Sebelum melakukan backup data, kita perlu mengecek kekosistenan data, yaitu dengan membandingkan data pada struktur direktori dengan data pada blok, lalu apabila ditemukan
kesalahan, maka program tersebut akan mencoba memperbaikinya. Pengecekan kekonsistenan data inilah yang disebut recovery
Ada 4 jenis backup data, yaitu:
BackupPenuh Full Backup
Full backup adalah menyalin semua data termasuk folder ke media lain. Oleh karena itu, hasil full backup lebih cepat dan mudah saat operasi restore. Namun pada saat pembuatannya membutuhkan
waktu dan ruang yang sangat besar.
BackupPeningkatan Incremental Backup
Incremental backup adalah menyalin semua data yang berubah sejak terakhir kali melakukan full backup atau differential backup. Incremental backup disebut juga differential backup
Kelebihan: • Membutuhkan waktu yang lebih singkat.
• Jika banyak melakukan incremental backup, maka data yang di backup semakin kecil ukurannya. • Backup lebih cepat daripada full backup dan membutuhkan tempat sementara yang lebih kecil
daripada yang dibutuhkan oleh full backup. Kekurangan: Waktu untuk restore sangat lama.
Backup Cermin Mirror Backup
Mirror backup sama dengan full backup, tetapi data tidak di padatkan atau dimampatkan dengan format .tar, .zip, atau yang lain dan tidak bisa di lindungi dengan password. Dapat juga diakses
dengan menggunakan tools seperti Windows Explorer. Mirror backup adalah metode backup yang paling cepat bila dibandingkan dengan metode yang lain karena menyalin data dan folder ke media
tujuan tanpa melakukan pemadatan. Tapi hal itu menyebabkan media penyimpanannya harus cukup besar.
139