Pada sistem multiprogramming, banyak
proses yang melakukan permintaan membaca dan menulis rekord-rekord disk.
Proses-proses membuat permintaan-permintaan lebih cepat dibanding yang
dapat dilayani disk, membentuk antrian permintaan layanan disk.
Diperlukan penjadwalan disk agar memperoleh kinerja yang optimal.
Terdapat dua tipe penjadwalan disk, yaitu :
1. Optimasi seek.
2. Optimasi rotasi (rotational latency).
1. Optimasi seek.
2. Optimasi rotasi (rotational latency).
Karena waktu seek lebih tinggi satu orde
dibanding waktu rotasi, maka kebanyakan algoritma penjadwalan
berkonsentrasi meminimumkan seek kumpulan atau antrian permintaan
layanan disk. Meminimumkan latency biasanya berdampak kecil pada kinerja
seluruh sistem.
Penjadwalan disk melibatkan pemeriksaan
terhadap permintaan-permintaan yang belum dilayani untuk menentukan cara
paling efisien melayani permintaan-permintaan. Penjadwal disk memeriksa
hubungan posisi diantara permintaan-permintaan. Antrian permintaan
disusun kembali sehingga permintaan-permintaan akan dilayani dengan
pergerakan mekanis minimum.
Beberapa kriteria penjadwalan disk, yaitu :
* Throughput, yaitu berusaha memaksimumkan.
* Waktu tanggap rata-rata, nilai ini diusahakan minimum.
* Variansi waktu tanggap, diusahakan minimum.
* Throughput, yaitu berusaha memaksimumkan.
* Waktu tanggap rata-rata, nilai ini diusahakan minimum.
* Variansi waktu tanggap, diusahakan minimum.
Beberapa algoritma penjadwalan disk, antara lain :
* First Come First Serve (FCFS) / First In First Out (FIFO)

Disk driver melayani satu permintaan sesuai urutan kedatangannya, merupakan metode yang adil. Saat rate permintaan sangat berat, FCFS dapat menghasilkan waktu tunggu sangat panjang. Dengan FCFS, sangat sedikit usaha optimasi waktu seek. FCFS dapat menyebabkan banyak waktu untuk seek silinder yang paling dalam ke silinder paling luar.
Ketika permintaan-permintaan terdistribusi seragam pada permukaan-permukaan disk, penjadwalan FCFS menghasilkan pola seek yang acak. FCFS mengabaikan keterhubungan posisi diantara permintaan-permintaan yang menunggu di antrian. FCFS tidak membuat upaya optimasi pola seek. FCFS dapat diterima ketika beban disk masih ringan, tetapi begitu beban tumbuh cenderung menjenuhi perangkat dan menyebabkan waktu tanggap membesar.
Disk driver melayani satu permintaan sesuai urutan kedatangannya, merupakan metode yang adil. Saat rate permintaan sangat berat, FCFS dapat menghasilkan waktu tunggu sangat panjang. Dengan FCFS, sangat sedikit usaha optimasi waktu seek. FCFS dapat menyebabkan banyak waktu untuk seek silinder yang paling dalam ke silinder paling luar.
Ketika permintaan-permintaan terdistribusi seragam pada permukaan-permukaan disk, penjadwalan FCFS menghasilkan pola seek yang acak. FCFS mengabaikan keterhubungan posisi diantara permintaan-permintaan yang menunggu di antrian. FCFS tidak membuat upaya optimasi pola seek. FCFS dapat diterima ketika beban disk masih ringan, tetapi begitu beban tumbuh cenderung menjenuhi perangkat dan menyebabkan waktu tanggap membesar.
* Shortest Seek Time First (SSTF)

Algoritma ini melayani permintaan seek track terdekat dari track dimana head berada.
Kekurangan : lengan disk akan berkutat ditengah disk. Permintaan di daerah pinggir akan menunggu sampai fluktuasi statistik menyebabkan tidak ada permintaan tracktrack tengah. Terdapat konflik antara meminimalkan waktu tunggu dengan adil.
Algoritma ini melayani permintaan seek track terdekat dari track dimana head berada.
Kekurangan : lengan disk akan berkutat ditengah disk. Permintaan di daerah pinggir akan menunggu sampai fluktuasi statistik menyebabkan tidak ada permintaan tracktrack tengah. Terdapat konflik antara meminimalkan waktu tunggu dengan adil.
* Elevator (SCAN)

Yaitu head bergerak searah sampai tidak ada permintaan ke arah itu, kemudian berbalik arah. Diperlukan bit tambahan untuk mencatat arah gerak head.
Kelebihan : batas atas jumlah gerak adalah tetap yaitu dua kali jumlah silinder.
Yaitu head bergerak searah sampai tidak ada permintaan ke arah itu, kemudian berbalik arah. Diperlukan bit tambahan untuk mencatat arah gerak head.
Kelebihan : batas atas jumlah gerak adalah tetap yaitu dua kali jumlah silinder.
* Elevator dimodifikasi (C-SCAN)

Lengan head hanya bergerak searah, setiap kali mencapai silinder
tertinggi, maka head akan bergerak ke silinder terendah dan dilanjutkan
terus head bergerak searah. Ada kontroller yang dapat mengetahui pada
track mana ia berada, dengan ini dapat dibuat optimasi untuk mencari
sektor yang ada pada track tersebut.
* N-Step Scan
Lengan disk bergerak maju mundur seperti algoritma SCAN, tapi dengan semua permintaan yang tiba selama menyapu dalam satu arah dikumpulkan dulu dan disusun kembali agar layanan optimal selama penyapuan balik.
Lengan disk bergerak maju mundur seperti algoritma SCAN, tapi dengan semua permintaan yang tiba selama menyapu dalam satu arah dikumpulkan dulu dan disusun kembali agar layanan optimal selama penyapuan balik.
* Exchenbach Scheme
Pergerakan lengan disk sirkular seperti C-SCAN, tapi dengan beberapa kekecualian penting setiap silinder dilayani tepat satu track informasi baik terdapat permintaan atau tidak untuk silinder itu. Permintaan-permintaan disusun untuk layanan dalam silinder itu untuk mendapatkan keunggulan posisi secara rotasi (agar dapat diterapkan optimasi rotasi), tapi jika terdapat dua permintaan dengan sektor-sektor yang overlap dalam satu silinder, hanya satu permintaan yang dilayani pada satu kesempatan.
Pergerakan lengan disk sirkular seperti C-SCAN, tapi dengan beberapa kekecualian penting setiap silinder dilayani tepat satu track informasi baik terdapat permintaan atau tidak untuk silinder itu. Permintaan-permintaan disusun untuk layanan dalam silinder itu untuk mendapatkan keunggulan posisi secara rotasi (agar dapat diterapkan optimasi rotasi), tapi jika terdapat dua permintaan dengan sektor-sektor yang overlap dalam satu silinder, hanya satu permintaan yang dilayani pada satu kesempatan.
Penanganan Masalah Operasi Disk
Beberapa tipe kesalahan saat operasi disk dikategorikan sebagai berikut :
1. Programming error
Kesalahan disebabkan programming. Driver memerintahkan mencari track, membaca sektor, menggunakan head atau mentransfer ke atau dari memori yang tak ada. Biasanya tiap controller memeriksa parameter sehingga tidak melakukan operasi yang tak valid. Kesalahan ini seharusnya tidak pernah ada.
Misalnya request sektor yang tidak ada, ditangani dengan membetulkan program untuk komersial software, batalkan operasi dan berharap tidak akan terjadi lagi.
2. Transient checksum error
Kesalahan disebabkan adanya debu diantara head dengan permukaan disk. Untuk mengeliminasi kesalahan ini maka dilakukan pengulangan operasi pada disk.
3. Permanent checksum error
Kesalahan disebabkan kerusakan disk, ditangani dengan membuat daftar blok-blok buruk agar data tidak ditulis di blok-blok buruk tersebut.
4. Seek error
Kesalahan ini ditanggulangi dengan mengkalibrasi disk supaya berfungsi kembali. Misalnya lengan harusnya ke silinder 6 ternyata ke 7, ditangani dengan mengkalibrasi ulang disk supaya berfungsi kembali.
5. Controller error
Misalnya controller menolak perintah akses, ditangani dengan menukar pengendali yang salah dengan pengendali yang baru atau di-reset.
6. Track at time caching
Kontroller mempunyai memori untuk menyimpan informasi track dimana ia berada, permintaan pembacaan blok track dilakukan tanpa pergerakan mekanik.
Kontroller mempunyai memori untuk menyimpan informasi track dimana ia berada, permintaan pembacaan blok track dilakukan tanpa pergerakan mekanik.
Tidak ada komentar:
Posting Komentar