Pendahuluan Struktur Disk Media Disk

85, 35, 10, 90, 45, 80, 20, 50, 65 secara berurutan. Jika posisi head awal berada pada silinder 25, maka pertama kali head akan bergerak dari silinder 25 ke 85, lalu secara berurutan bergerak melayani permintaan di silinder 35, 10, 90, 45, 80, 20, 50, dan akhirnya ke silinder 65. sehingga total pergerakan head-nya adalah 400 silinder. Untuk lebih jelasnya perhatikan contoh berikut. Tabel 19.1. Contoh FCFS Next cylinder accessed Number of cylinder traversed 85 60 35 45 10 25 90 80 45 45 80 35 20 60 50 30 65 15 Total pergerakan head 400 silinder Pergerakan head yang bolak balik dari 25 ke 85 kemudian ke 35 melukiskan masalah dari algoritma penjadwalan ini. Jika permintaan di silinder 20 dan 35 dilayani setelah atau sebelum permintaan di silinder 85 dan 90, total pergerakan head akan berkurang jumlahnya sehingga dapat meningkatkan performa.

19.6. Penjadwalan SSTF

Shortest-Seek-Time-First SSTF merupakan algoritma yang melayani permintaan berdasarkan waktu pencarian yang paling kecil dari posisi head terakhir. Sangat beralasan untuk melayani semua permintaan yang berada dekat dengan posisi head yang sebelumnya, sebelum menggerakan head lebih jauh untuk melayani permintaan yang lain. Gambar 19.7. SSTF 151 Untuk contoh permintaan di queue kita, permintaan yang terdekat dari head awal 25 adalah permintaan silinder 20. maka silinder itu akan dilayani terlebih dahulu. Setelah head berada di silinder 20, maka permintaan yang terdekat adalah silinder 10. Secara berurutan permintaan silinder berikutnya yang dilayani adalah silinder 35, lalu 45, 50, 65, 80, 85, dan akhirnya silinder 90. dengan menggunakan algoritma ini, maka total pergerakan head-nya menjadi 95 silinder. Hasil yang didapat ternyata kurang dari seperempat jarak yang dihasilkan oleh penjadwalan FCFS. Untuk lebih jelasnya perhatikan contoh berikut: Tabel 19.2. Contoh SSTF Next cylinder accessed Number of cylinder traversed 20 5 10 10 35 25 45 10 50 5 65 15 80 15 85 5 90 5 Total pergerakan head 95 silinder Sistem kerja SSTF yang sama dengan penjadwalan shortest-job-firstSJF mengakibatkan kelemahan yang sama dengan kelemahan yang ada di SJF. Yaitu untuk kondisi tertentu dapat mengakibatkan terjadinya starvation. Hal tersebut bisa digambarkan apabila di queue berdatangan permintaan-permintaan baru yang letaknya lebih dekat dengan permintaan terakhir yang dilayani, maka permintaan lama yang letaknya jauh dari permintaan yang dilayani harus menunggu lama sampai permintaan yang lebih dekat itu dilayani semuanya. Walaupun SSTF memberikan waktu pelayanan yang lebih cepat namun apabila dilihat dari sudut pandang keadilan bagi permintaan yang menungu di queue, jelas algoritma ini lebih buruk dibandingkan FCFS scheduling.

19.7. Penjadwalan SCAN dan C-SCAN

Pada algoritma SCAN, head bergerak ke silinder paling ujung dari disk. Setelah sampai disana maka head akan berbalik arah menuju silinder di ujung yang lainnya. Head akan melayani permintaan yang dilaluinya selama pergerakannya ini. Algoritma ini disebut juga sebagai Elevator Algorithm karena sistem kerjanya yang sama seperti yang digunakan elevator di sebuah gedung tinggi dalam melayani penggunanya. Elevator akan melayani pengguna yang akan menuju ke atas dahulu sampai lantai tertinggi, baru setelah itu dia berbalik arah menuju lantai terbawah sambil melayani penggunanya yang akan turun atau sebaliknya. Jika melihat analogi yang seperti itu maka dapat dikatakan head hanya melayani permintaan yang berada di depan arah pergerakannya. Jika ada permintaan yang berada di belakang arah geraknya, maka permintaan tersebut harus menunggu sampai head menuju silinder di salah satu disk, lalu berbalik arah untuk melayani permintaan tersebut. Jika head sedang melayani permintaan silinder 25, dan arah pergerakan disk arm-nya sedang menuju ke silinder yang terkecil, maka permintaan berikutnya yang akan dilayani secara berurutan adalah 20 dan 10 lalu menuju ke silinder 0. Setelah sampai disini head akan berbalik arah menuju silinder yang terbesar yaitu silinder 99. Dalam pergerakannya itu secara berurutan head akan melayani permintaan 35, 45, 50, 65, 80, 85, dan 90. Sehingga total pergerakan head-nya adalah 115 silinder. Salah satu behavior yang dimiliki oleh algoritma ini adalah, memiliki batas atas untuk total pergerakan head-nya, yaitu 2 kali jumlah silinder yang dimiliki oleh disk. Jika dilihat dari cara 152