Anda di halaman 1dari 3

Algoritma Tangan Disk

1.) The elevator algorithm (also SCAN)

adalah algoritma penjadwalan disk untuk menentukan gerakan lengan hard disk, dan
kepala dalam permintaan membaca dan menulis servis.
Algoritma ini diberi nama setelah melihat lift bangunan, di mana lift terus berjalan
seperti saat ini (atas atau bawah) sampai kosong, berhenti hanya untuk mengeluarkan
orang atau untuk mengambil individu baru menuju ke arah yang sama.
Dari perspektif pelaksanaan, drive memelihara penyangga yang tertunda baca / tulis
permintaan, bersama dengan nomor silinder terkait permintaan. Menurunkan angka
silinder menunjukkan bahwa silinder paling dekat dengan kumparan, dan nomor yang
lebih tinggi menunjukkan silinder lebih jauh.
Ketika sebuah permintaan baru tiba sementara drive idle, lengan awal / gerakan
kepala akan berada di arah silinder dimana data disimpan, baik dalam atau keluar.
Sebagai permintaan tambahan tiba, permintaan dilayani hanya pada arah arus gerak
lengan sampai lengan mencapai tepi dari disk. Ketika ini terjadi, arah lengan
membalikkan, dan permintaan yang tersisa dalam arah yang berlawanan dilayani, dan
sebagainya
Salah satu variasi dari metode ini memastikan semua permintaan dilayani dalam satu
arah, yaitu, setelah kepala telah tiba di tepi luar dari disk, ia kembali ke awal dan layanan
permintaan baru dalam satu arah saja (atau sebaliknya ). Ini dikenal sebagai "Elevator
Edaran Algoritma" atau C-SCAN. Hal ini mengakibatkan kinerja yang sama lebih untuk
semua posisi kepala, sebagai jarak yang diharapkan dari kepala selalu setengah jarak
maksimum, tidak seperti dalam algoritma lift standar dimana silinder di tengah akan
dilayani sebanyak dua kali sesering terdalam atau terluar silinder.

Berikut ini adalah contoh cara menghitung rata-rata disk mencari waktu untuk kedua
algoritma SCAN dan C-SCAN.

* Contoh daftar pending permintaan disk (terdaftar dengan nomor trek): 100, 50, 10,
20, 75.
* The awal nomor jalur untuk contoh akan 35.
* Daftar ini akan perlu diurutkan dalam urutan menaik: 10, 20, 50, 75, 100.

Baik SCAN dan C-SCAN berperilaku dengan cara yang sama sampai mereka mencapai
lagu terakhir antrian. Demi contoh ini mari kita asumsikan bahwa algoritma SCAN saat
ini akan dari nomor trek lebih rendah untuk nomor trek yang lebih tinggi (seperti C-
SCAN lakukan). Untuk kedua metode, salah mengambil selisih besarnya (nilai absolut
yaitu) antara permintaan lagu berikutnya dan lagu yang sedang diputar.

* Carilah 1: 50 - 35 = 15
* Seek 2: 75 - 50 = 25
* Carilah 3: 100 - 75 = 25
Pada titik ini keduanya telah mencapai permintaan (akhir) lagu tertinggi. SCAN hanya
akan berbalik arah dan melayani permintaan disk berikutnya terdekat (dalam contoh ini,
20) dan C-SCAN akan selalu kembali ke trek 0 dan mulai akan permintaan lagu yang
lebih tinggi.

* Carilah 4 (SCAN): 20 - 100 = 80


* Carilah 5 (SCAN): 10 - 20 = 10
* Jumlah (SCAN): 155
* Rata-rata (SCAN): 155 / 5 = 31

* Carilah 4 (C-SCAN): 0 - 100 = 100 / / c-scan selalu kembali ke lagu pertama


* Carilah 5 (C-SCAN): 10 - 0 = 10
* Carilah 6 (C-SCAN): 20 - 10 = 10
* Total (C-SCAN): 185
* Rata-rata (C-SCAN): 185 / 5 = 37

Catatan: Meskipun enam berusaha dilakukan dengan menggunakan algoritma C-SCAN,


hanya lima I / Os benar-benar dilakukan.

2.) FCFS

FIFO adalah singkatan dari First In, First Out, sebuah abstraksi dalam cara mengatur
dan manipulasi data relatif terhadap waktu dan prioritas. Ungkapan ini
menggambarkan prinsip teknik pemrosesan antrian atau tuntutan yang bertentangan
dengan memesan melayani proses pertama datang, pertama-dilayani (FCFS) perilaku:
apa yang pertama datang ditangani pertama, apa yang datang di samping menunggu
sampai yang pertama selesai, dll .

Jadi, analog dengan perilaku orang-orang berdiri di garis, di mana orang-orang


meninggalkan antrian dalam urutan mereka tiba, atau menunggu giliran seseorang di
sebuah sinyal kontrol lalu lintas. FCFS juga merupakan nama singkat (lihat Jargon
dan akronim) untuk sistem operasi algoritma penjadwalan FIFO, yang memberikan
setiap kali proses CPU dalam urutan mereka datang. Dalam pengertian yang lebih
luas, LIFO abstraksi, atau Last-In-First-Out adalah kebalikan dari organisasi FIFO
abstraksi, perbedaannya mungkin adalah jelas dengan mempertimbangkan sinonim
kurang umum digunakan LIFO, Filo-yang berarti pertama-In-Terakhir-Out. Pada
dasarnya, keduanya adalah kasus khusus dari suatu daftar yang lebih umum (yang
dapat diakses di mana saja). Perbedaannya tidak ada dalam daftar (data), tetapi dalam
aturan untuk mengakses konten. Salah satu sub-tipe menambah satu ujung, dan lepas
landas dari yang lain, sebaliknya mengambil dan menempatkan sesuatu hanya pada
salah satu ujungnya. [1]

Sebuah antrian prioritas adalah variasi dari antrian yang tidak memenuhi syarat untuk
FIFO nama, karena tidak akurat deskriptif perilaku yang struktur data itu. Teori
antrian mencakup konsep yang lebih umum dari antrian, serta interaksi antara antrian
yang ketat-FIFO.
Contoh:
Disk dengan 40 silinder
Permintaan berasal dari 11 silinder
Permintaan baru datang dari silinder
1, 36, 16, 34, 9, dan 12
Jumlah gerakan lengan:
10, 35, 20, 18, 25 dan 3.

3.) SSTF

Sangat beralasan jika kita menutup semua pelayanan pada posisi head saat ini,
sebelum menggerakkan head ke tempat lain yang jauh untuk melayani suatu permintaan.
Asumsi ini mendasari algoritma penjadualan kita yang kedua yaitu shortest-seek-time-
first (SSTF). Algoritma ini memilih permintaan dengan berdasarkan waktu pencarian
atau seek time paling minimum dari posisi head saat itu. Karena waktu pencarian
meningkat seiring dengan jumlah silinder yang dilewati oleh head, maka SSTF memilih
permintaan yang paling dekat posisinya di disk terhadap posisi head saat itu.

Perhatikan contoh antrian permintaan yang kita sajikan pada penjadualan FCFS,
permintaan paling dekat dengan posisi head saat itu (53) adalah silinder 65. Jika kita
penuhi permintaan 65, maka yang terdekat berikutnya adalah silinder 67. Dari 67, silinder
37 letaknya lebih dekat ke 67 dibandingkan silinder 98, jadi 37 dilayani duluan.
Selanjutnya, dilanjutkan ke silinder 14, 98, 122, 124, dan terakhir adalah 183. Metode
penjadualan ini hanya menghasilkan total pergerakan head sebesar 236 silinder -- kira-
kira sepertiga dari yang dihasilkan penjadualan FCFS. Algoritma SSTF ini memberikan
peningkatan yang cukup signifikan dalam hal pendayagunaan atau performance sistem.

Penjadualan SSTF merupakan salah satu bentuk dari penjadualan shortest-job-first (SJF),
dan karena itu maka penjadualan SSTF juga dapat mengakibatkan starvation pada suatu
saat tertentu. Kita ketahui bahwa permintaan dapat datang kapan saja. Anggap kita
memiliki dua permintaan dalam antrian, yaitu untuk silinder 14 dan 186. Selama
melayani permintaan 14, kita anggap ada permintaan baru yang letaknya dekat dengan
14. Karena letaknya lebih dekat ke 14, maka permintaan ini akan dilayani dulu sementara
permintaan 186 menunggu gilirannya. Jika kemudian berdatangan lagi permintaan-
permintaan yang letaknya lebih dekat dengan permintaan terakhir yang dilayani jika
dibandingkan dengan 186, maka permintaan 186 bisa saja menunggu sangat lama.
Kemudian jika ada lagi permintaan yang lebih jauh dari 186, maka juga akan menunggu
sangat lama untuk dapat dilayani.

Walau pun algoritma SSTF secara substansial meningkat jika dibandingkan dengan
FCFS, tetapi algoritma SSTF ini tidak optimal. Seperti contoh diatas, kita dapat
menggerakkan head dari 53 ke 37, walau pun bukan yang paling dekat, kemudian ke 14,
sebelum menuju 65, 67, 98, 122, dan 183. Strategi ini dapat mengurangi total gerakan
head menjadi 208 silinder.

Anda mungkin juga menyukai