Bab 20. Sistem Penyimpanan Masal
20.1. Pendahuluan
Pada umumnya, penyimpanan sekunder berbentuk magnetic, kecepatan pengaksesan memori ini jauh lebih lambat dibandingkan memori utama. Pada bagian ini akan diperkenalkan konsep-konsep
yang berhubungan dengan memori sekunder seperti system berkas, atribut dan operasi system berkas, struktur direktori, atribut dan operasi struktur direktori, system berkas jaringan, system
berkas virtual, system berkas GNUlinux, keamanan system berkas, FHS File Hierarchy Systems, serta alokasi blok system berkas.
Karakteristik dari perangkat penyimpanan tersier pada dasarnya adalah menggunakan removable media yang tentu saja berdampak pada biaya produksi yang lebih murah. Sebagai contoh: sebuah
VCR dengan banyak kaset akan lebih murah daripada sebuah VCR yang hanya dapat memaminkan satu kaset saja.
Struktur disk merupakan suatu hal yang penting bagi penyimpanan informasi. Sistem komputer modern menggunakan disk sebagai media penyimpanan sekunder, dulu pita makgnetik digunakan
sebelum penggunaan disk sebagai media penyimpanan, sekunder yang memiliki waktu akses yang lebih lambat dari disk. Sejak digunakan disk, tape digunakan untuk beckup, untuk menyimpan
informasi yang tidak sering digunakan, sebagai media untuk memindahkan informasi dari satu sistem ke sistem lain, dan untuk menyimpan data yang cukup besar bagi sistem disk.
20.2. Format
Disk adalah salah satu tempat penyimpanan data. Sebelum sebuah disk dapat digunakan, disk harus dibagi-bagi dalam beberapa sektor. sektor-sektor ini yang kemudian akan dibaca oleh penegendali
pembentukan sektor-sektor ini disebut low level formatting atau physical formatting. low level formatting juga akan mengisi disk dengan beberapa struktur data penting seperti header dan trailer.
Header dan trailer mempunyai informasi seperti nomor sektor, dan error correcting codeECC. ECC ini berfungsi sebagai correcting code karena mempunyai kemampuan untuk medeteksi bit
yang salah, menghitung nilai yang benar dan kemudian mengubahnya. ketika proses penulisan, ECC di update dengan menghitung bit di area data. pada proses pembacaan, ECC dihitung ulang dan
dicocokan dengan nilai ECC yang tesimpan saat penulisan. jika nilainya berbeda maka dipastikan ada sektor yang terkorup.
Agar dapat menyimpan data, OS harus menyimpan struktur datanya dalam disk tersebut. proses itu dilakukan dalam dua tahap, yaitu partisi dan logical formatting. partisi akan membagi disk menjadi
beberapa silinder yang dapat diperlukan secara independen. logical formatting akan membentuk sistem berkas yang disertai pemetaan disk. terkadang sistem berkas ini dirasakan menggangu proses
alokasi suatu data, sehingga diadakan sistem partisi yang tidak mengikutkan pembentukan sistem berkas, sistem raw disk
Gambar 20.1. Format sektor
159
Walaupun ukuran sektor dapat diatur pada proses formatting, namun kebanyakan disk memiliki sektor dengan ukuran 512 byte dengan alas an bahwa beberapa OS dapat menangani ukuran sektor
512. namun kemungkinan juga untuk memformat sektor dengan ukuran misalnya 256 bytes atau 1024 bytes. Jika ukuran sektor semakin besar, itu artinya semakin sedikit jumlah sektor yang dapat
dibuat, begitupun sebaliknya. Bagian preamble mengandung bi-bit yang berisi informasi yang akan dikenali oleh hardware misalnya tentang informasi nomor silinder atau sektor.
Proses formatting sendiri sebenarnya terdiri dari dua proses utama, yaitu partisi dan logical formatting. Proses partisi akan membagi disk menjadi beberapa silinder sehingga silinder-silinder
tersebut akan diperlakukan secara independen seolah-olah mereka adalah disk yang saling berbeda. Sedangkan proses logical formatting akan membentuk sebuah berkas system beserta pemetaan disk
.
Perlu diingat bahwa beberapa OS memberlakukan berkas system khusus yang berbeda satu sama yang lain. Sehingga mungkin saja dirasakan mengganggu proses alokasi data. Hal ini dapat disiasati
dengan system partisi lain yang tidak mengikutkan pembentukan file system, yang disebut raw disk raw partition. Sebagai contoh, pada Windows XP ketika kita membuat sebuah patisi tanpa
menyertakan suatu berkas system ke dalamnya maka partisi tersebut dapat disebut sebagai raw partition.
20.3. Boot
Booting adalah istilah teknologi informasi dalam bahasa ingris yang mengacu kepada proses awal menyalakan
komputer dimana
semua register
prosesor disetting
kosong, dan
status mikroprosesorprosesor disetting reset. Kemudian address 0xFFFF diload di segment code code
segment dan instruksi yang terdapat pada alamat address 0xFFFF tersebut dieksekusi. Secara umum program BIOS Basic Input Output System, yaitu sebuah software dasar, terpanggil. Sebab memang
biasanya BIOS berada pada alamat tersebut. Kemudian BIOS akan melakukan cek terhadap semua error dalam memory, device-device yang terpasangtersambung kepada komputer -- seperti port-port
serial dan lain-lain. Inilah yang disebut dengan POSTPower-On Self Test. Setelah cek terhadap sistem tersebut selesai, maka BIOS akan mencari [Sistem Operasi], memuatnya di memori dan
mengeksekusinya. Dengan melakukan perubahan dalam setup BIOS kita dapat melakukannya dengan menekan tombol tertentu saat proses booting mulai berjalan, kita dapat menentukan agar
BIOS mencari Sistem operasi ke dalam floppy disk, hard disk, CD-ROM, USB dan lain-lain, dengan urutan yang kita inginkan. BIOS sebenarnya tidak memuat Sistem Operasi secara lengkap.
Ia hanya memuat satu bagian dari code yang ada di sektor pertama first sector, disebut juga boot sector pada media disk yang kita tentukan tadi. Bagianfragmen dari code Sistem Operasi tersebut
sebesar 512 byte, dan 2 byte terakhir dari fragmen code tersebut haruslah 0xAA55 disebut juga sebagai boot signature. Jika boot signature tersebut tidak ada, maka media disk dikatakan tidak
bootable, dan BIOS akan mencari Sistem Operasi pada media disk berikutnya. Fragmen code yang harus berada pada boot sector tadi disebut sebagai boot-strap loader. BIOS akan memuat boot-strap
loader tersebut ke dalam memory diawali pada alamat 0x7C00, kemudian menjalankan boot-strap loader tadi. Akhirnya sekarang kekuasaan berpindah kepada boot-strap loader untuk memuat Sistem
Operasi dan melakukan setting yang diperlukan agar Sistem Operasi dapat berjalan. Rangkaian proses inilah yang dinamakan dengan booting.
Saat sebuah computer dijalankan, system akan mencari sebuah initial program yang akan memulai segala
sesuatunya. Initial
programnya initial
bootstrap bersifat
sederhana dan
akan menginisialisasi seluruh aspek yang dibutuhkan computer untuk beroperasi dengan baik seperti CPU
Register, controller, dan terakir adalah Sistem Operasinya. Pada kebanyakan computer, bootstrap disimpan di ROM read only memory kanrena letaknya yang tetap dan dapat dieksekusi waktu
pertama kali listrik dijalankan. Letak bootstrap di ROM juga menguntungkan karena sifatnya yang read only memungkinkan dia untuk tidak terinveksi virus. Untuk alasan praktis, bootstrap sering
dibuat berbentuk kecil tiny loader dan diletakan di ROM yang kemungkinan akan me-load full bootstrap dari disk bagian disk yang disebut boot block. Perubahan berbentuk simple ini bertujuan
jika ada perubahan yang diadakan perubahan pada bootstrap, maka stuktur ROM tidak perlu dirubah semuanya. Konsep boot block sangan erat kaitannya dengan proses booting pada sebuah computer.
Ketika computer dinyalakan, sistem akan mencari sebuah initial program yang akan memulai segalah sesuatu yang berhubungan dengan proses booting. Program ini dikenal sebagai initial
bootstrap dan akan menginisialisasi seluruh aspek yang dibutuhkan computer untuk beroperasi dengan baik seperti CPU Register, controller, dan terakir adalah Sistem Operasinya. Pada Pentium
160
dan kebanyakan computer , MBR terletak pada sector 0 dan mengandung beberapa boot code dan beserta table partisi. Table partisi ini mengandung berbagai informasi misalnya letak sector pertama
pada setiap partisi dan ukuran partisi. Agar isa melakukan boot dari hard disk, salah satu partisi yang terdapat pada table partisi, harus ditangdai sebagai active partition. Boot block tidak selalu
mengandung kernel. Bisa saja ia derupa sebuah boot loader, misalnya LILO Linux Loader atau GRUB GRand Unified Bootloader. Contoh komfigurasi sebuah inisialisasi boot loader misalnya
dapat ditemukan pada Linux Ubuntu 5.04 yang berada pada file bootgrubmenu.lst. sedangkan pada sistem windows XP, konfigurasinya dapat ditemukan pada berkas C:\boot.ini degan catatan
bahwa C:\ adalah volume atau partisi yang di-set sebagai active partition.
20.4. Bad Block
Bad block adalah satu atau lebih sektor yang cacat atau rusak. kerusakan ini akan diakibatkan karena kerentanan disk jika sering dipindah-pindah atau kemasukan benda asing. akibatnya, data didalam
bed block menjadi tidak terbaca.
Pada disk sederhana seperti IDE controller, bad block akan ditangani secara manual seperti dengan perintaj format MS-DOS yang akan mencari bad block dan menulis nilai spesial ke FAT entry agar
tidak mengalokasikan slidebaru. branch rountine ke block tersebut. SCSI mengatasi bad block dengan cara yang lebih baik. daftar bad block-nya di pertahankan oleh controller saat low-level
formaating dan terus diperbaharui selama disk itu digunakan. low-leveel formating, akan memindahkan bad sector itu ke tempat lain yang kosong dengan algoritma sector sparingsector
forwarding. sector sparing dijalankan dengan cara ECC mendeteksi bad sector dan melaporkannya ke OS, sehingga saat sistem dijalankan sekali lagi, controller akan menggantikan bad sector tersebut
dengan sektor kosong. lain halnya dengan algoritma sector slipping. ketika sebuah bad sector terdeteksi, sistem akan mengcopy semua isi sektor ke sektor selanjutnya secara bertahap secara satu
per satu sampai ditemukan sektor kosong. misal bad sector ditemukan di sektor 7 dan sektor-sektor selanjutnya hanyalah sektor 30 dan seterusnya. Maka isi sektor 30 akan akan di-copy keruang
kosong sementara itu sektor 29 ke sektor 30, 28 ke 29, 27 ke 28 dan seterusnya hingga sektor 8 ke sektor 9. dengan demikian, sektor 8 menjadi kosong sehingga sektor 7bad sectordapat di-map ke
sector 8.
perlu diingat bahwa kedua algoritma diatas juga tidak selalu berhasil karena data yang telah tersimpan didalam bad block biasanya sudah tidak bisa terbaca
20.5. Swap
Swap space adalah istilah lain untuk backing store. Swap space dapat diletakan pada file sistem dalam bentuk swap file atau dalm partisi disk yang terpisah. dengan megunakan file sistem akan
terjadi overhead yang cukup segnifikan. overhead dapat dikurangi dengan mengunakan aplikasi yang megalokasikan swap file dalam block disk yang berdekatan. lebih umum lagi, partisi yang
terpisah digunakan ketika tidak ada file sisitem.solaris linux mengijinkan pertukaran antara raw partition dan file system.
Managemen Ruang Swap adalah salah satu low level task dari OS. Memori virtual mengunakan ruang disk sebagai perluasan dari memori utama. Tujuan utamanya adalah untuk menghasilkan
output yang baik. Namun dilain pihak, pengguanaan disk akan memperlambat akses karena akses dari memori jauh lebih cepat.
Penggunaan Ruang Swap. Ruang Swap digunakan dalam beberapa cara tergantung penerapan algoritma. Sebagai contoh, sistem yang menggunakan swapping dapat menggunakan ruang swap
untuk menggunakan seluruh proses trmasuk data yang segmen. Jumlah dari ruang swap yang dibutuhkan dari jumlah memori fisik, jumlah dari memeori virtual yang dijalankan, cara
penggunaan memori virtual tersebut. beberapa sistem operasi seperti UNIX menggunakan banyak ruang swap, yang biasa diletakan pada disk terpisah. Ketika kita menentukan besarnya ruang swap,
sebaiknya kita tidak terlalu banyak atau terlalu sedikit. Namun perlu diketahui bahwa akan lebih aman jika mengalokasikan lebih ruang swap. Jika sistem dijalankan dan ruang swap terlalu sedikit,
maka proses akan dihentikan dan mungkin akan merusak sistem. sebaliknya jika terlalu banyak juga akan mengakibatkan lamanya akses dan pemborosan ruang disk, tetapi hal itu tidak menimbulkan
resiko terhantinya proses. Sebagai contoh, Linux memperbolehkan penggunaan banyak ruang swap
161