Pada sistem mutitasking terdapat algoritma penjadwalan disk,tujuan dari penjadwalan disk request ini adalah untuk meminimalkan total latency (access time) dan seek time pada operasi transfer data.
Beberapa contoh algoritma penjadwalan disk antara lain:
1.Algoritma Pertama Tiba Pertama Dilayani (PTPD/FCFS)
Proses pengaksesan akan dimulai secara berurutan sesuai dengan urutan tiba atau kedudukan antrian.
Contoh :
Diketahui disk mempunyai 100 track dg nomor urut 0 – 99,& antrian akses track dengan saat awal 50 (letak head R/W) 13, 46, 65, 27, 95, 9, 17, 53, 17, 1, 82, 2, 17, 82, 98, 7
Penyelesaian Contoh PTPD:
• Langkah proses :
• Dari 50 menuju ke lintasan 13, kemudian ke 46, ke 65,dan seterusnya.Setiap lintas yang dilalui dihitung.
2. Algoritma PICK UP
Pada algoritma ini hulu tulis baca akan membaca atau menuju ke track yang terdapat pada urutan awal antrian, sambil mengakses track yang dilalui. Mirip seperti metode PTPD, tetapi lintasan yang dilewati dipungut/diambil, sehingga tidak perlu diakses lagi
Contoh : diketahui antrian akses track dengan saat awal 50
13, 46, 65, 27, 95, 82, 9, 17, 52, 53, 17, 1, 82, 2, 17, 98, 7
Langkah proses :
Dari 50 menuju ke lintasan 13, lintasan yang dilewati 46, 27, dan 17 sekalian dipungut/diakses. Sehingga selanjutnya tidak ke 46, tetapi ke 65, sekaligus memungut 52 dan 53. Karena 27 sudah diambil maka selanjutnya menuju 95, sekaligus memungut 82. Karena 82 sudah dipungut maka langsung menuju 1, dan seterusnya. Perhitungan 50-13, 13-65, 65-95, 95-1, dan seterusnya
3.Algoritma WCTD
Proses dilaksanakan terhadap track yang terdekat dengan hulu baca tulis (Shortest Seet Time First /(SSTF)),diatas/bawah.Kemudian mencari letak track yang terdekat di atas/bawahdan seterusnya.
Contoh :
• diketahui antrian akses track dengan saat awal 50 13 , 46,65, 27, 95, 82, 9, 17, 52, 53, 17, 1, 82, 2,17, 98, 7
Langkah proses :
Hulu baca tulis mulai dari 50, antara 46 dan 52 yang terdekat 52,sehingga menuju ke 52. Selanjutnya dari 52, antara 46 dan 53yang terdekat 53, dan seterusnya. perhitungan 50-52, 52-53, danseterusnya
4. Algoritma Look
Pada algoritma ini hulu tulis baca akan bergerak naik seperti pergerakan lift Menuju antrian track terbesar pada disk sambil mengakses antrian track yang dilalui, kemudian turun menuju antrian track yang terkecil sambil mengakses track yang dilalui, dan track yang telah diakses tidak diakses lagi.
Contoh : diketahui antrian akses track dengan saat awal 50
13, 46, 65, 27, 95, 82, 9, 17, 52, 53, 17, 1, 82, 2, 17, 98, 7
Langkah proses :
Dari 50 menuju ke antrian track terbesar, yaitu 98. Kemudian menuju ke antrian terkecil 1, tidak diakses tetapi dihitung. Selanjutnya menuju ke 46, sisa lintasan yang belum diakses
Pehitungan 50-98, 98-1, 1-46.
5. Algoritma Circular Look
Algoritma C-LOOK adalah algoritma penjadwalan disk yang secara konsep hampir sama dengan algoritma C-SCAN. Bedanya pada algoritma C-LOOK, disk arm tidak berjalan sampai ujung disk, tetapi hanya sampai pada permintaan yang paling dekat dengan ujung disk. Setelah melayani permintaan tersebut, disk arm akan berbalik arah dari arah pergerakannya yang pertama dan langsung berjalan ke permintaan yang paling dekat dengan ujung disk yang lain kemudian melayani permintaan tersebut. Setelah selesai melayani permintaan tersebut, disk arm akan berbalik arah kembali dan melayani permintaan-permintaan lain yang ada di depannya sesuai dengan arah pergerakannya.
Pada algoritma ini hulu tulis baca akan bergerak naik seperti pergerakan lift Menuju antrian track terbesar pada disk sambil mengakses antrian track yang dilalui, kemudian turun
menuju antrian track yang terkecil tetapi tidak mengakses track yang dilalui, baru pada saat naik akan mengakses track yang belum diakses.
Contoh : diketahui antrian akses track dengan saat awal 50
13, 46, 65, 27, 95, 82, 9, 17, 52, 53, 17, 1, 82, 2, 17, 98, 7
Langkah proses :
Dari 50 menuju ke antrian track terbesar, yaitu 98. Kemudian menuju ke antrian terkecil 1, tidak diakses tetapi dihitung. Selanjutnya menuju ke 46, sisa lintasan yang belum diakses
Pehitungan 50-98, 98-1, 1-46.
6. Algoritma Scan
Pada algoritma ini hulu tulis baca akan bergerak naik seperti pergerakan lift Menuju track terbesar pada disk sambil mengakses antrian track yang dilalui, kemudian turun menuju track terkecil pada disk sambil mengakses track yang dilalui, dan track yang telah diakses tidak diakses lagi.
Contoh : diketahui antrian akses track dengan saat awal 50
13, 46, 65, 27, 95, 82, 9, 17, 52, 53, 17, 1, 82, 2, 17, 98, 7
Langkah proses :
Dari 50 menuju ke lintasan track terbesar 99. Selanjutnya
menuju ke lintasan track terkecil 1. Pehitungan 50-99, 99-1.
7. Algoritma Circular Scan
Pada algoritma ini hulu tulis baca akan bergerak naik seperti pergerakan lift Menuju track terbesar pada disk sambil mengakses antrian track yang dilalui, kemudian turun menuju track terkecil tetapi tidak mengakses track yang dilalui, baru pada saat naik akan mengakses track yang belum diakses.
Contoh : diketahui antrian akses track dengan saat awal 50
13, 46, 65, 27, 95, 82, 9, 17, 52, 53, 17, 1, 82, 2, 17, 98, 7
Langkah proses :
Dari 50 menuju ke lintasan track terbesar 99. Selanjutnya menuju ke lintasan track terkecil1, tidak diakses tetapi dihitung. Selanjutnya menuju ke 46, sisa lintasan yang belum diakses Pehitungan 50-99, 99-0, 0-46.
8. Algoritma Penjadwalan FCFS
Bentuk algoritma penjadwalan disk yang paling sederhana adalah First Come First Served (FCFS). Sistem kerja dari algoritma ini melayani permintaan yang lebih dulu datang di queue. Algoritma ini pada hakekatnya adil bagi permintaan M/K yang mengantri di queue karena penjadwalan ini melayani permintaan sesuai waktu tunggunya di queue. Tetapi yang menjadi kelemahan algoritma ini adalah bukan merupakan algoritma dengan layanan yang tercepat. Sebagai contoh, misalnya di queue disk terdapat antrian permintaan blok M/K di silinder
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.
9. Algoritma 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.
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-first(SJF) 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.
Komentar
Posting Komentar