BAB VII MANAJEMEN DISK

Disk berfungsi sebagai media penyimpanan utama untuk data persisten. Perannya mendasar dalam menampung sistem operasi, berbagai aplikasi, dan berkas pengguna. Saat ini, disk cakram magnetis (Hard Disk Drives/HDDS) masih umum digunakan sebagai media penyimpanan utama. Bab ini akan mengulas secara komprehensif berbagai aspek fundamental manajemen disk, mencakup struktur fisiknya, skema pengalamatan logis, mekanisme penanganan permintaan akses, serta pengorganisasian ruang disk secara keseluruhan.


A. STRUKTUR DISK

Secara fisik, disk memiliki struktur tiga dimensi yang terdiri dari silinder, track, dan sektor. Disk cakram magnetis secara fisik tersusun dari beberapa cakram (platter) yang ditumpuk secara vertikal pada sumbu pusat. Kedua sisi atas dan bawah setiap cakram mampu menyimpan data, kecuali permukaan cakram paling atas dari platter teratas dan permukaan paling bawah dari platter terbawah.

Setiap sisi cakram memiliki alur melingkar konsentris yang dikenal sebagai track. Alur-alur ini semakin mengecil seiring mendekatnya ke titik pusat cakram. Selanjutnya, setiap track dibagi lagi menjadi sektor-sektor, yang merupakan unit fisik terkecil untuk penyimpanan data. Setiap sektor memiliki jumlah byte yang sama besarnya. Untuk setiap permukaan cakram, terdapat head pembaca/penulis khusus yang bergerak secara radial secara bersamaan di seluruh permukaan cakram, sementara cakram-cakram terus berputar pada sumbu pusatnya.


B. PENGALAMATAN (ADDRESSING) DISK

Secara logika, disk dialamati sebagai sebuah array satu dimensi berukuran besar, di mana setiap elemennya berukuran satu blok logika. Satu blok logika merupakan unit terkecil untuk transfer data, baik untuk operasi penulisan maupun pembacaan. Umumnya, satu blok logika terdiri dari satu atau lebih sektor fisik. Ukuran blok ditentukan pada saat pengorganisasian atau pemformatan disk. Sebagai contoh, jika suatu disk diformat dengan ukuran blok sebesar 4 KB, maka berkas berukuran 10 byte pun akan dialokasikan minimal satu blok, yaitu 4 KB. Hal ini dapat menyebabkan alokasi disk menjadi tidak efisien jika banyak berkas berukuran kecil disimpan.

Urutan penomoran alamat logika disk mengikuti aturan spesifik yang dirancang untuk efisiensi :

  1. Alamat paling awal, yaitu sektor 0, adalah sektor pertama dari track pertama pada silinder yang paling luar.
  2. Alamat berikutnya mengikuti urutan sektor lainnya pada track pertama tersebut.
  3. Setelah semua sektor pada track pertama dialamati, penomoran berpindah ke track lainnya pada silinder pertama (terluar) pada sisi cakram lainnya.
  4. Setelah silinder pertama pada semua sisi cakram lainnya telah dialamati, alamat berikutnya kembali ke sisi cakram pertama, namun pada track yang letaknya lebih dekat ke titik pusat cakram.
  5. Urutan pengalamatan yang mendahulukan silinder yang sama sebelum berpindah ke track berikutnya bertujuan untuk mengurangi perpindahan head pembacaan pada setiap sisi cakram.


C. MEKANISME PENANGANAN DISK REQUEST

Operasi disk merupakan fungsi khusus yang hanya dapat dilakukan oleh rutin sistem operasi. Aplikasi atau proses pengguna menginisiasi operasi disk dengan melakukan system call kepada sistem operasi. Pemanggilan ini akan menghasilkan sebuah disk request.

Mekanisme penanganan permintaan operasi disk (disk request) secara lengkap adalah sebagai berikut:

  1. Inisiasi System Call: Ketika suatu proses membutuhkan transfer data dari atau ke disk, proses tersebut akan memanggil system call kepada sistem operasi.
  2. Pemblokiran Proses dan Keterlibatan Device Driver: Setelah system call dipanggil, sistem operasi akan memblokir proses yang bersangkutan. Disk request yang dihasilkan kemudian akan ditangani oleh device driver yang sesuai dengan perangkat I/O yang akan diakses.
  3. Pemeriksaan Status Disk dan Antrean: Device driver disk akan memeriksa status disk saat ini. Jika disk sedang sibuk melayani permintaan lain, disk request yang baru akan diantrekan pada antrean disk yang bersangkutan. Jika disk tidak sedang digunakan (tersedia), disk request tersebut akan segera dilayani.
  4. Pengiriman Alamat ke Disk Controller: Setelah disk request siap dilayani, alamat disk yang dituju (lokasi data yang akan diakses) akan dikirimkan ke disk controller.
  5. Operasi Penulisan (Write): Data akan disalin dari memori utama ke buffer disk controller oleh DMA controller (Direct Memory Access) atau prosesor. Dari buffer ini, data kemudian akan ditulis secara fisik ke piringan disk. Sementara pada Operasi Pembacaan (Read): Untuk operasi pembacaan, data yang dibaca dari piringan disk akan disalin terlebih dahulu ke buffer disk controller. Selanjutnya, data dari buffer disk controller akan disalin ke memori utama, di mana proses yang meminta dapat mengaksesnya.

1. Waktu untuk Penanganan Disk Request

Ketika suatu proses meminta operasi disk, hal itu menimbulkan penundaan, dan proses tersebut akan tetap dalam status "diblokir" sampai data yang diminta telah dipindahkan ke memori utama. Waktu total yang dibutuhkan untuk memproses suatu disk request terdiri dari komponen-komponen berikut :

  1. Overhead time: Ini adalah total waktu yang dihabiskan sistem operasi untuk menangani disk request.
  2. Queuing time: Yaitu waktu yang dihabiskan dalam antrean disk untuk menunggu disk tersedia untuk digunakan.
  3. Latency (Random Access Time): Ini adalah waktu yang dibutuhkan untuk menempatkan head baca/tulis ke lokasi yang hendak diakses. Komponen ini dibagi lagi menjadi dua: 1) Seek time yaitu waktu yang dibutuhkan disk untuk memindahkan head ke silinder 2) Rotational latency yaitu waktu tambahan yang dibutuhkan untuk menunggu putaran disk sehingga head berada tepat di bawah sektor yang hendak diakses.
  4. Transfer time: Yaitu waktu yang dibutuhkan untuk mentransfer data dari atau ke lokasi disk.

2. Penjadwalan Disk Request

Pada sistem operasi yang multitasking, sangat mungkin terjadi disk request baru sebelum disk request sebelumnya selesai dilayani. Oleh sebab itu, diperlukan suatu mekanisme penjadwalan disk request. Contoh algoritma penjadwalan disk antara lain:

  1. FCFS (First Come First Serve): Pada algoritma ini, disk request ditangani berdasarkan urutan masuknya di antrian. 
  2. SSTF (Shortest Seek Time First): Pada algoritma ini, disk request yang memiliki seek distance yang paling dekat dengan posisi head terkini akan dilayani terlebih dahulu. 
  3. Elevator/SCAN: Algoritma ini mengasumsikan head baca tulis senantiasa bergerak ke satu arah. 
  4. One-way elevator/C-SCAN: Algoritma ini serupa dengan Elevator/SCAN. Perbedaannya adalah head tidak melakukan pembalikan arah baca/tulis, misalnya head hanya bergerak dari track terluar ke arah dalam. 
  5. C-LOOK: Algoritma ini serupa dengan C-SCAN. Bedanya head tidak perlu melakukan perjalanan penuh dari track terluar ke track terdalam seandainya pada arah pergerakan head sudah tidak ada disk request. 

D. PENGORGANISASIAN DISK

Secara fisik, ruang pada disk ibarat ruangan tanpa sekat. Untuk memfasilitasi penyimpanan dan pembacaan data yang efisien, ruang penyimpanan ini perlu diorganisasi secara sistematis ke dalam unit-unit logis.Tahapan hierarkis pengorganisasian ruang disk meliputi:

  1. Pemformatan Fisik (Low-level formatting): Ini adalah tahap awal yang melibatkan pembagian disk menjadi sektor-sektor fisik. Tujuannya adalah agar disk controller dapat membaca dan menulis data dengan menandai awal setiap sektor dengan header dan akhir setiap sektor dengan trailer.
  2. Pemartisian: Setelah pemformatan fisik, disk dapat dibagi menjadi satu atau lebih partisi. Setiap partisi secara logika dapat diperlakukan sebagai disk terpisah. Setiap partisi dapat diberi identitas atau label (misalnya, huruf drive A sampai Z di sistem operasi Windows) untuk identifikasi logis. 
  3. Pengformatan Secara Logika: Aktivitas ini mencakup pembuatan struktur tabel isi alokasi berkas, yang dikenal sebagai FAT (File Allocation Table), serta menentukan unit alokasi berkas terkecil atau blok untuk alokasi berkas. 
  4. Alokasi Blok Booting: Tahap ini melibatkan pembangunan struktur yang diperlukan untuk proses booting sistem. Jika berkas-berkas sistem operasi disimpan dan dibaca dari disk, maka harus dibuat suatu blok khusus di bagian awal disk yang berisi bootstrap. Bootstrap adalah program kecil yang dirancang untuk menginisialisasi proses booting sistem operasi. 
  5. Manajemen Blok atau Sektor yang Rusak (Bad sector): Tahap terakhir ini berfokus pada pengelolaan, pencatatan, atau pengalihan bad block (satu atau lebih sektor yang rusak) pada disk. Ruang pada disk sangat rentan terhadap potensi kerusakan baik karena kondisi suhu maupun goncangan. Jika data ditulis pada bagian yang rusak ini, data tersebut tidak akan dapat dibaca kembali. Untuk mengatasi masalah ini, lokasi yang rusak harus dicatat agar tidak ditulisi data. 


5. PENGELOLAAN SWAP SPACE

Sistem operasi yang menggunakan konsep virtual memory menggunakan disk sebagai ekstensi memori utamanya. Umumnya ruang khusus ini dapat diorganisasi di disk sebagai suatu partisi khusus, seperti halnya partisi swap pada Linux ataupun sebagai berkas swap seperti berkas pagefil.sys pada Windows XP


Komentar