DISK
Kinerja sistem disk saat ini menjadi
perhatian, melihat memory utama dan prosesor yang kecepatannya semakin
meningkat. Sedangkan disk masih lambat empat kali lipatnya. Selain itu,
kinerja sistem disk berhubungan erat dengan isu system desain, maka
kinerja dari penyimpanan disket mulai menjadi perhatian yang penting.
Perangkat keras dan parameter kinerja disk.
Disk diorganisasikan menjadi silinder-silinder dengan tiap permukaan
terdapat head yang ditumpuk secara vertical. Track terbagi menjadi
sektor-sektorStruktur Disk
- Setiap sisi cakram terdiri atas alur melingkar atau track. Makin ke dalam sisi cakram , alurnya makin kecil
- Setiap track terbagi lebih lanjut atas sector.
- Setiap sector terdiri atas sejumlah byte yang sama besarnya
- Pada setiap sisi cakram terdapat head pembaca. Head-head pembaca ini bergerak secara radial secara bersamaan
- Cakram-cakram berputar pada sumbu pusatnya
Waktu yang dibutuhkan untuk membaca dan menulis disk dipengaruhi oleh :
- Waktu pencarian (seek time).
Merupakan faktor yang dominan.
Waktu yang diperlukan untuk sampai ke posisi track yang dituju, yaitu : S = Sc + di
- Sc adalah waktu penyalaan awal (initial startup time).
- d adalah waktu yang bergerak antar-antar track.
- i adalah jarak yang ditempuh (dalam ukuran ruang antar track).Untuk track terdekat, S1 = Sc + d lebih kecil dibanding waktu yang diperlukan untuk satu putaran.Untuk memudahkan perhitungan maka dipakai s rata-rata,yaitu :
j-1
S = å Si pdi,
i=1Si adalah waktu tempuh untuk jarak ke-1. Pdi adalah probabilitas menempuh jarak ke-1. Seek time rata-rata biasanya diinformasikan oleh pabrik pembuat. - Waktu rotasi (rotational latency).
Waktu yang diperlukan mekanisme akses mencapai blok yang diinginkan.
Rumus untuk mendapatkan r adalah :
Rpm atau jumlah putaran permenit, biasa diinformasikan oleh pabrik pembuat. - Waktu transfer.
Waktu transfer ke atau dari disk bergantung pada kecepatan rotasi dari disk dalam bentuk sebagai berikut :
Dimana :
T = Waktu Transfer
b = Jumlah dari byte untuk ditransfer
N = Jumlah dari bytes dalam sebuah jalur
r = Kecepatan rotasi dalam revolusi perdetikTotal waktu akses dapat dinyatakan sebagai
dimana Ts adalah waktu pencarian rata-rata
Algoritma Penjadwalan Disk
- 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. - 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. - 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.
- 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. - Exchenbach scheme.
Pergerakan lengan disk sirkular seperti C-SCAN, tapi dengan beberapa pengecualian 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. - Look
Hampir mirip dengan C-SCAN. Bedanya head tidak perlu melakukan perjalanan penuh dari bagian terluar sampai terdalam bila sudah tidak ada disk request lagi. Pergerakan head bisa langsung dilakukan sebelum sampai track terdalam. Contoh antrian LOOK: (posisi awal head =50)
10, 45, 37A, 56, 60, 25, 78, 48, 88, 70, 5, 20Perbandingan Algoritma Penjadwalan
Prioritas
Penanganan masalah operasi disk
Beberapa tipe kesalahan saat operasi disk dikategorikan sebagai berikut :
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.
o Transient checksum error.
Kesalahan disebabkan adanya debu diantara head dengan permukaan disk. Untuk mengeliminasi kesalahan ini maka dilakukan pengulangan operasi pada disk.
o Permanent checksum error.
Kesalahan disebabkan kerusakan disk.
o Seek error.
Kesalahan ini ditanggulangi dengan mengkalibrasi disk supaya berfungsi kembali.
o Controller error.
Kesalahan ini ditanggulangi dengan menukar pengendali yang salah dengan pengendali yang baru.
o Track at time caching.
Kontroller mempunyai memori untuk menyimpan informasi track dimana ia berada, permintaan pembacaan blok track dilakukan tanpa pergerakan mekanik.
Perangkat keras clock.
Komputer dilengkapi dengan RTC (real time clock). Tipe perangkat clock, terdiri dari :
Komputer dilengkapi dengan RTC (real time clock). Tipe perangkat clock, terdiri dari :
- Clock yang ditimbulkan impulse tegangan listrik. Clock in menginterupsi 50-60 interupt tiap detik sesuai dengan frekuensi listrik.
- Programmable interval timer (PIT). Clock ini terdiri dari crystal oscilator, counter, dan holding register.
Dua keunggulan PIT, yaitu :
>> Mempunyai akurasi tinggi.
>> Frekuensi interupsi dapat diatur secara perangkat lunak. Dengan crystal oscilator 2 MHz, menggunakan 16 bit holding registe, interupsi yang terjadi dapat diatur antara 1 ms sampai 65.536 ms.
PIT biasa digunakan sebagai :
>> Waktu sistem.
>> Pembangkit band rate.
>> Penghitung kejadian.
>> Pembangkit musik.
>> Dan diberagam aplikasi yang memerlukan pewaktuan.
Ketika digunakan untuk pewaktuan PIT menghasilkan interupsi secara periodik. PIT bekerja dengan menghitung pulsa eksternal yang diberikan crystal oscilator. Keluaran PIT berupa pulsa yang diteruskan secara langsung ke IRQm(Interupt Request) sehingga menimbulkan interupsi ke pemroses. Periode waktu antara dua interupsi timer berturutan dapat diprogram dengan memasukkan nilai ke holding register. Interval interupsi mempunyai rumus sebagai berikut :
Interval = (periode clock) x (nilai holding register).
Contoh : Dikehendaki interval pewaktuan setiap 10 ms. Frekuensi crystal oscilator adalah 2 MHz. Berapa nilai yang harus dimasukkan ke holding register ?
Perhitungan :
Periode clock = 1/(2×106) = 0.5 x 10-6 = 0,5mms. Nilai yang harus diberikan ke holding register = (10×10-3)/(0.5×10-6) = 20×103. Agar PIT menimbulkan interupsi dengan waktu interval 10 ms, maka holding register diset dengan nilai 20.000.Metode pemrograman PIT.
Terdapat dua mode pemograman PIT, yaitu :
1. One shot mode.
Setiap kali PIT diinisialisasi maka dikopikan nilai holding register ke counter.Counter diturunkan setiap terjadi pulsa crystal oscilator. Ketika counter bernilai 0, PIT membuat interupsi ke pemroses dan berhenti. PIT menunggu diinisialisasi secara eksplisit oleh perangkat lunak. Mode ini hanya untuk menghasilkan satu kejadian tunggal, diperlukan ketika clock diaktifkan berdasarkan kejadian.
2. Square wave mode.
Sesudah counter mencapai 0 maka menyebabkan interupsi ke pemroses. Holding register dikopikan secara otomatis ke counter dan seluruh proses diulangi lagi sampai tak berhingga. Periode ini disebut clock ticks. Mode ini untuk menghasilkan kejadian-kejadian interupsi timer secara periodik, dilakukan secara otomatis tanpa melibatkan pemroses (perangkat lunak untuk inisialisasi kembali). Biasanya chip berisi dua atau tiga PIT independen dan mempunyai banyak option pemrograman (seperti menghitung keatas, pematian interupsi, dan sebagainya).
Perangkat lunak clock.
Beberapa fungsi clock disistem operasi, antara lain :
1. Mengelola waktu dan tanggal (waktu nyata).
Tekniknya adalah counter dinaikkan setiap terjadi clock tick. Teknik ini bermasalah karena keterbatasan jumlah bit counter. Counter berukuran 32 bit akan overflow setelah 2 tahun bila clock ratenya bernilai 60Hz, solusinya adalah :
o Menggunakan counter 64 bit.
o Waktu dihitung dalam detik bukan dalam clock tick.
o Waktu dihitung relatif dengan saat komputer dihidupkan.
2. Mencegah proses berjalan lebih dari waktu yang ditetapkan. Setiap kali proses dimulai, penjadwal inisialisasi counter dalam hitungan clock ticks. Setiap kali terjadi clock ticks, counter diturunkan. Saat counter mencapai 0 maka penjadwal mengalihkan pemroses ke proses lain.
3. Menghitung penggunaan pemroses (CPU). Bila dikehendaki penghitungan dengan akurasi tinggi maka dilakukan dengan menggunakan timer kedua. Timer kedua terpisah dari timer sistem utama. Begitu proses dimulai, timer diaktifkan, saat proses berhenti maka timer dibaca. Timer menunjukkan lama waktu yang telah digunakan proses. Akurasi rendah dapat diperoleh dengan mengelola pointer ke tabel proses dan counter global.
4. Menangani system call alarm yang dibuat proses pemakai. Mensimulasi banyak clock dengan membuat senarai semua permintaan clock, terurut berdasar waktu. Isinya adalah jumlah clock ticks setelah signal proses sebelumnya.
5. Mengerjakan profiling, monitoring dan pengumpulan statistik. Untuk membuat data statistik kegiatan komputer.
perangkat disk yang disimulasikan pada
memori akses acak (RAM). RAM disk sepenuhnya mengeliminasi waktu tunda
yang disebabkan pergerakan mekanis dalam seek dan rotasi. Kegunaannya
untuk aplikasi yang memerlukan kinerja disk yang tinggi. Perangkat blok
mempunyai dua perintah, yaitu membaca dan menulis blok. Normalnya
blok-blok disimpan di disk berputar yang memerlukan mekanisme fisik.
Gagasannya adalah meniru perangkat dengan mengalokasikan terlebih satu
bagian memori utama untuk menyimpan blok-blok data.
Keunggulan :
berkecepatan tinggi karena pengaksesan sesaat (tidak ada waktu tunda seek dan rotational latency), sangat baik untuk menyimpan program atau data yang sering diakses. Memori utama dibagi menjadi n blok berukuran sama, bergantung banyak memori yang dialokasikan. Ketika driver untuk RAM disk menerima perintah membaca atau menulis suatu blok, driver tinggal menghitung dimana lokasi memori tempat blok berada kemudian membaca atau menuliskannya.
Keunggulan :
berkecepatan tinggi karena pengaksesan sesaat (tidak ada waktu tunda seek dan rotational latency), sangat baik untuk menyimpan program atau data yang sering diakses. Memori utama dibagi menjadi n blok berukuran sama, bergantung banyak memori yang dialokasikan. Ketika driver untuk RAM disk menerima perintah membaca atau menulis suatu blok, driver tinggal menghitung dimana lokasi memori tempat blok berada kemudian membaca atau menuliskannya.
Tidak ada komentar:
Posting Komentar