muchad

PENJADUALAN DISK

Struktur Disk
Disk (hard disk) adalah tempat penyimpanan data yang didalamnya terdiri dari kumpulan cakram-cakram magnetik. Disk dapat memiliki kapasitas yang sangat besar. Disk juga memiliki waktu akses yang cukup cepat jika dibandingkan dengan magnetic tape. Disk memiliki disk arm yang bertugas untuk bergerak dari satu silinder ke silinder yang lain. Di ujung disk arm terdapat head, fungsi head adalah membaca data pada sektor yang berada diatas/bawahnya.

Disk Performance Parameters
• Seek time
Waktu yang dibutuhkan disk arm untuk menempatkan head berada pada silinder yang dituju.
• Rotational Latency
Waktu yang dibutuhkan untuk mengakses suatu bagian terte
Waktu yang dibutuhkan disk untuk berputar agar sektor yang ingin diakses berada di bawah/atas head.
• Access Time
ntu di dalam disk, yaitu: Seek time + Rotational Latency.
• Bandwidth
Jumlah bytes yang dapat ditransfer oleh disk per satuan waktu (biasanya detik).
• Time to get data
Waktu total dari permintaan terhadap disk sampai permintaan terhadap disk tersebut dipenuhi, yaitu: Acces time + Transfer time.
• Cache of Disk
Tempat penyimpanan sementara untuk data yang keluar/masuk dari disk. Semakin besar ukuran cache akan semakin baik.

Penjadualan Disk
Jika suatu proses membutuhkan pelayanan I/O dari atau menuju disk, maka proses tersebut akan melakukan system call ke sistem operasi Informasi yang dibawa:
1. Apakah operasi Input / output
2. Alamat disk untuk proses tersebut
3. Alamat memori untuk proses tersebut
4. Jumlah byte yang akan ditransfer

Terdapat dua tipe penjadwalan disk, yaitu :
   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 :
   o Throughput, yaitu berusaha memaksimumkan.
   o Waktu tanggap rata-rata, nilai ini diusahakan minimum.
   o Variansi waktu tanggap, diusahakan minimum.

Beberapa macam penjadualan DISK:
1. FCFS
2. SSTF
3. SCAN
4. C-SCAN
5. LOOK
6. C-LOOK
7. Exchenbach scheme.

Konsep utama, keunggulan dan kelemahan macam-macam penjadualan tersebut adalah:
1. Penjadualan FCFS
o    Merupakan penjadualan yang paling sederhana, menggunakan aturan yang datang lebih dulu harus dilayani lebih awal
o    Keunggulan ~> adil bagi proses (tidak ada prioritas)
o    Kelemahan ~> lambat / tidak efisien untuk kasus secara umum

Contoh : 98,183,37,122,14,124,65,67 (disk head pada 53)
Solusi : 53, 98, 183, 37, 122, 14, 124, 65, 67
Jarak tempuh : 640 silinder
2. Penjadualan SSTF
o    Menggunakan algoritma shortest-seek-time-first.
o    Melayani permintaan berdasarkan waktu pencarian yang paling kecil dari posisi head terakhir.
o    Keunggulan ~> Lebih cepat dibanding FCFS
o    Kelemahan ~> kemungkinan terjadi starvation

Contoh : 98,183,37,122,14,124,65,67 (disk head pada 53)
Solusi : dari 53 ke 65, 67, 37, 14, 98, 122, 124, 183
Jarak tempuh : 236 silinder

3. Penjadualan SCAN
o    Disk arm bergerak sampai ke silinder paling ujung dari disk, kemudian berbalik arah gerak, menuju ke silinder paling ujung lainnya sambil melayani permintaan.
o    Keunggulan: total pergerakan disk arm ada batasnya (2 kali jumlah total silinder)
o    Kelemahan:
?    pada kasus tertentu dapat terjadi starvation
?    disk arm harus bergerak sampai silinder paling ujung, padahal mungkin sudah tidak ada lagi permintaan di depan pergerakan disk arm (ada perjalanan sia-sia).

Contoh : 98,183,37,122,14,124,65,67 (disk head pada 53 )
Solusi : 53, 37, 14, 65, 67, 98, 122, 124, 183
Jarak tempuh : 236 silinder
4. Penjadualan C-SCAN
o    Merupakan hasil modifikasi algo SCAN untuk mengurangi kemungkinan starvation. Setelah sampai di silinder paling ujung, maka langsung bergerak cepat menuju silinder paling ujung lainnya tanpa melayani permintaan terlebih dahulu.
o    Keunggulan: kemungkinan starvation lebih kecil
o    Kelemahan: disk arm mengalami perjalanan sia-sia

Contoh : 98,183,37,122,14,124,65,67 (disk head pada 53 )
Solusi : 53, 65, 67, 98, 122, 124, 183, (ke 199, langsung berbalik arah menuju 0), 14, 37

5. Penjadualan LOOK
o    Seperti SCAN tapi dapat melihat permintaan didepannya masih ada/tidak. Jika tidak maka langsung berbalik arah. Scan yang lebih “pintar ”.
o    Kelebihan: lebih efisien karena tidak ada perjalanan sia-sia
o    Kelemahan: kemungkinan starvation

6. Penjadualan C-LOOK
o    Bergerak menuju silinder paling ujung, jika sudah tidak ada lagi permintaan, maka langsung berbalik cepat menuju permintaan yang terdekat dengan ujung silinder yang lainnya.
o    Memperbaiki kelemahan-kelemahan algoritma SCAN, C-SCAN, dan LOOK

Solusi : 53, 65, 67, 98, 122, 124, 183, setelah di look dan permintaan tidak ada, maka langsung ke 0 dan bergerak kekanan lagi, 14, 37

7. Exchenbach scheme.
     Pergerakan lengan disk sirkular seperti C-SCAN, tapi dengan beberapa kekecualian penting setiap silinder dilayani tepat satu track informasi.

Pemilihan Algoritma Penjadualan

  • Tak ada algoritma yang sempurna untuk semua keadaan.
  • Sangat bergantung pada jumlah dan jenis permintaan, sedangkan permintaan sangat dipengaruhi oleh metode penempatan berkas.
  • SSTF dan Look sering dipakai sebagai algoritma default. Scan dan C Scan sesuai untuk sistem dengan beban yang banyak karena memberikan performansi lebih baik untuk sistem dengan akses ke disk sangat tinggi
  • Oleh karena itu, pada Sistem Operasi terdapat modul terpisah untuk algoritma penjadualan disk, sehingga algoritma tersebut bisa diganti dengan algoritma yang lain, sesuai keperluan.
  • Algoritma-algoritma tersebut hanya mempertimbangkan seek time!
  • Disk modern sangat dipengaruhi oleh rotational latency!
  • Produsen disk mengimplementasikan algoritma penjadualan disk pada perangkat keras dengan mempertimbangkan pula rotational latency .
  • Request untuk layanan disk dapat dipengaruhi oleh metode alokasi file
  • Algoritma penjadwalan disk sebaiknya ditulis pada modul terpisah dari OS sehingga dapat diganti dengan algoritma lain jika perlu

Dari berbagai metode penjadualan di atas, kami memilih dua algoritma, yaitu Exchenbach scheme dan C-LOOK.    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 disus
un
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.

C-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. Algoritma C-LOOK berhasil memperbaiki kelemahan-kelemahan algoritma SCAN, C-SCAN, dan LOOK. Algoritma C-LOOK memperbaiki kelemahan LOOK sama seperti algoritma C-SCAN memperbaiki kelemahan SCAN.
[Mukhlish muchad Fuadi: 3rd Semester 2007]