Carter Mobil

carter mobil

Kamis, 09 Mei 2013

Sistem Komputer - Buffering


Sistem Komputer


Sistem Komputer - Buffering

Buffering I/O
Buffering adalah melembutkan lonjakan-lonjakan kebutuhan pengaksesan I/O, sehingga meningkatkan efisiensi dan kinerja sistem operasi.

Terdapat beragam cara buffering, antar lain :

a. Single buffering.
Merupakan teknik paling sederhana. Ketika proses memberi perintah untuk perangkat I/O, sistem operasi menyediakan buffer memori utama sistem untuk operasi. Untuk perangkat berorientasi blok. Transfer masukan dibuat ke buffer sistem. Ketika transfer selesai, proses memindahkan blok ke ruang pemakai dan segera meminta blok lain. Teknik ini disebut reading ahead atau anticipated input. Teknik ini dilakukan dengan harapan blok akan segera diperlukan. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.

Keunggulan : Pendekatan in umumnya meningkatkan kecepatan dibanding tanpa buffering. Proses pemakai dapat memproses blok data sementara blok berikutnya sedang dibaca. Sistem operasi dapat menswap keluar proses karena operasi masukan berada di memori sistem bukan memori proses pemakai.

Kelemahan :
  • Merumitkan sistem operasi karena harus mencatat pemberian buffer-buffer sistem ke proses pemakai.
  • Logika swapping juga dipengaruhi. Jika operasi I/O melibatkan disk untuk swapping, maka membuat antrian penulisan ke disk yang sama yang digunakan untuk swap out proses. Untuk menswap proses dan melepas memori utama tidak dapat dimulai sampai operasi I/O selesai, dimana waktu swapping ke disk tidak bagus untuk dilaksanakan.
Buffering keluaran serupa buffering masukan. Ketika data transmisi, data lebih dulu dikopi dari ruang pemakai ke buffer sistem. Proses pengirim menjadi bebas untuk melanjutkan eksekusi berikutnya atau di swap ke disk jika perlu. Untuk perangkat berorientasi aliran karakter.

Single buffering dapat diterapkan dengan dua mode, yaitu :
  • Mode line at a time
Cocok untuk terminal mode gulung (scroll terminal atau dumb terminal). Masukan pemakai adalah satu baris per waktu dengan enter menandai akhir baris. Keluaran terminal juga serupa, yaitu satu baris per waktu. Contoh mode ini adalah printer. Buffer digunakan untuk menyimpan satu baris tunggal. Proses pemakai ditunda selama masukan, menunggu kedatangan satu baris seluruhnya. Untuk keluaran, proses pemakai menempatkan satu baris keluaran pada buffer dan melanjutkan pemrosesan. Proses tidak perlu suspend kecuali bila baris kedua dikirim sebelum buffer dikosongkan.
  • Mode byte at a time.
Operasi ini cocok untuk terminal mode form, dimana tiap ketikan adalah penting dan untuk peripheral lain seperti sensor dan pengendali.


b. Double buffering.
Peningkatan dapat dibuat dengan dua buffer sistem.Proses dapat ditransfer ke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain. Teknik ini disebut double buffering atau buffer swapping. Double buffering menjamin proses tidak menunggu operasi I/O. Peningkatan ini harus dibayar dengan peningkatan kompleksitas. Untuk berorientasi aliran karakter, double buffering mempunyai 2 mode alternatif, yaitu :
  • Mode line at a time.
Proses pemakai tidak perlu ditunda untuk I/O kecuali proses secepatnya mengosongkan buffer ganda.
  • Mode byte at a time.
Buffer ganda tidak memberi keunggulan berarti atas buffer tunggal. Double buffering mengikuti model producer-consumer.


c. Circular buffering.
Seharusnya melembutkan aliran data antara perangkat I/O dan proses. Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar operasi I/O mengikuti proses. Double buffering tidak mencukupi jika proses melakukan operasi I/O yang berturutan dengan cepat. Masalah sering dapat dihindari denga menggunakan lebih dari dua buffer. Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri diacu sebagai circulat buffer. Tiap buffer individu adalah satu unit di circular buffer.


Perangkat keras dan parameter kinerja disk
Disk diorganisasikan menjadi silinder-silinder dengan tiap permukaan terdapat head yang ditumpuk secara vertical. Track terbagi menjadi sektor-sektor. 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 , dimana :
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 = c Si pdi, i=1
Si : 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 : R=1/2*((60*1000)/rpm) Rpm atau jumlah putaran permenit, biasa diinformasikan oleh pabrik pembuat.
  • Waktu transfer (t). Tergantung pada kecepatan rotasi dan kepadatan rekaman. Transfer rate (t) adalah kecepatan transfer data sesaat, data ini diberikan oleh pembuat. Maka dapat dihitung : > Waktu transfer per rekord (TR, record transfer time). TR (waktu untuk transfer rekord dengan panjang rekord, R), yaitu : TR=R/t. > Waktu transfer per blok (btt). Bit (block transfer time,waktu yang diperlukan untuk transfer 1 blok), yaitu : btt=B/t. > Bulk transfer time (t'). Didalam kasus pembacaan/penulisan secara sekuens besar maka harus melewati gap dan daerah-daerah bukan data. Pada akhir tiap silinder, seek akan terjadi dan selama seek time, tidak ada data yang ditransfer. Untuk keperluan didefinisikan bulk transfer time (t'), yaitu : t'=(R)/(((R+W)/t)+s') dimana : R : adalah ukuran rekord. W : adalah ruang yang disiakan. s' : adalah seek time untuk sekuen. t : adalah transfer mode. 
Algoritma penjadwalan disk Pada sistem multiprogramming, banyak proses yang melakukan permintaan membaca dan menulis rekord-rekord disk. Proses-proses membuat permintaan- permintaan lebih cepat dibanding yang dapat dilayani disk, membentuk antrian permintaan layanan disk. Diperlukan penjadwalan disk agar memperoleh kinerja yang optimal. 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 :
  • Throughput, yaitu berusaha memaksimumkan.
  • Waktu tanggap rata-rata, nilai ini diusahakan minimum.
  • Variansi waktu tanggap, diusahakan minimum.
Beberapa algoritma penjadwalan disk, antara lain :
  • First come first serve (FCFS). 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 first (SSF). Algoritma ini melayani permintaan seek track terdekat dari track dimana head berada. Kekurangan : lengan disk akan berkutat ditengah disk. Permintaan di daerah ekstrim (pinggir) akan menunggu sampai fluktuasi statistik menyebabkan tidak ada permintaan track-track tengah. Terdapat konflik antara meminimalkan waktu tanggao dengan fairness (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. Kebaikan : 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 kekecualian 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.
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.
  • Transient checksum error.
Kesalahan disebabkan adanya debu diantara head dengan permukaan disk. Untuk mengeliminasi kesalahan ini maka dilakukan pengulangan operasi pada disk.
  • Permanent checksum error.
Kesalahan disebabkan kerusakan disk.
  • Seek error.
Kesalahan ini ditanggulangi dengan mengkalibrasi disk supaya berfungsi kembali.
  • Controller error.
Kesalahan ini ditanggulangi dengan menukar pengendali yang salah dengan pengendali yang baru.
  • 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 :
  • 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 register, 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/(2x106) = 0.5 x 10-6 = 0,5mms.
Nilai yang harus diberikan ke holding register = (10x10-3)/(0.5x10-6)=20x103.
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 :
  • Menggunakan counter 64 bit.
  • Waktu dihitung dalam detik bukan dalam clock tick.
  • 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.

RAM Disk. Adalah 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.

Sistem Komputer - Buffering, selesai bro... tapi masih lanjut materinya klik aja sistem komputer sekarang juga.


0 comments :

Poskan Komentar

Kalo sobat ingin berkomentar silahkan tinggalkan komentar di bawah ini ya....



Film Bagus

film bagus
Related Posts Plugin for WordPress, Blogger...

Posting Keren