Kamis, 30 April 2009

Round Robin

Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum. Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya. Tentu proses ini cukup adil karena tak ada proses yang diprioritaskan, semua proses mendapat jatah waktu yang sama dari CPU yaitu (1/n), dan tak akan menunggu lebih lama dari (n-1)q dengan q adalah lama 1 quantum.

Algoritma ini sepenuhnya bergantung besarnya time quantum. Jika terlalu besar, algoritma ini akan sama saja dengan algoritma first come first served. Jika terlalu kecil, akan semakin banyak peralihan proses sehingga banyak waktu terbuang.

Permasalahan utama pada Round Robin adalah menentukan besarnya time quantum. Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai dalam 1 quantum. Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (disebut dengan context switches time). Sebaliknya, jika time quantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma first come first served. Time quantum yang ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 time quantum.


Disingkat dengan RR. Model Penjadwalan. Penjadwalan ini merupakan :
1. Penjadwalan preemptive, bukan di-preempt oleh proses lain, tapi terutama oleh penjadwal berdasarkan lama waktu berjalannya proses, disebut preempt by time.
2. Penjadwal tanpa prioritas.

Semua proses dianggap penting dan diberi sejumlah waktu proses yang disebut kwanta (quantum) atau time slice dimana proses itu berjalan. Ketentuan algoritma round robin adlah sebagai berikut:
1. Jika kwanta dan proses belum selesai maka proses menjadi runnable dan pemroses dialihkan ke proses lain.
2. Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain.
3. Jika kwanta belum habis tapi proses telah selesai, maka proses diakhiri dan pemroses dialihkan ke proses lain. Algoritma penjadwalan ini dapat diimplementasi sebagai berikut:
- Mengelola senarai proses read (runnable) sesuai urutan kedatangan.
- Ambil proses yang berada di ujing depan antrian menjadi running.
- Bila kwanta belum habis dan proses selesai maka ambil proses di ujung depan antrian proses ready.
- Jika kwanta habis dan proses belum selesai maka tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung depatn antrian proses ready.

A. Round Robin (RR)
Merupakan :
þ Penjadwalan yang paling tua, sederhana, adil,banyak digunakan algoritmanya
dan mudah diimplementasikan.
þ Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal
berdasarkan lama waktu berjalannya proses (preempt by time).
þ Penjadwalan tanpa prioritas.
þ Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga
tidak ada prioritas tertentu.
Semua proses dianggap penting sehingga diberi sejumlah waktu oleh pemroses
yang disebut kwanta (quantum) atau time slice dimana proses itu berjalan. Jika
proses masih running sampai akhir quantum, maka CPU akan mempreempt proses
itu dan memberikannya ke proses lain.
Penjadwal membutuhkannya dengan memelihara daftar proses dari runnable.
Ketika quantum habis untuk satu proses tertentu, maka proses tersebut akan
diletakkan diakhir daftar (list), seperti nampak dalam gambar berikut ini :

Minggu, 12 April 2009

Pengertian Program Counter

Program, atau PC (disebut juga pointer instruksi satu instruksi mendaftarkan alamat , atau hanya bagian dari instruksi sequencer di beberapa komputer adalah daftar prosesor yang menunjukkan tempat komputer ini dalam urutan instruksi . Tergantung pada rincian tertentu komputer, PC memegang baik alamat instruksi yang sedang dijalankan, atau alamat instruksi berikutnya yang akan dijalankan.
Dalam kebanyakan prosesor, yang merupakan instruksi pointer incremented secara otomatis setelah mengambil sebuah program pengajaran, sehingga petunjuk biasanya diambil dari memori secara berurutan, dengan instruksi tertentu, seperti kantor cabang, melompat dan subroutine panggilan dan kembali, interrupting urutan dengan menempatkan nilai baru dalam program counter.
Melompat seperti petunjuk membolehkan alamat baru yang akan dipilih sebagai awal dari sebelah bagian dari aliran instruksi dari memori.. Mereka membolehkan nilai baru yang akan diambil (tertulis) ke dalam program counter mendaftar. J subroutine panggilan yang dicapai cukup lama dengan membaca isi dari program counter, sebelum mereka ditimpa oleh nilai baru, dan disimpan di suatu tempat lain dalam memori atau mendaftar.. J subroutine kembali kemudian menulis dicapai oleh nilai yang disimpan kembali ke dalam program counter lagi.
Di pusat pengolahan unit (CPU) dari komputer yang sederhana berisi hardware (unit kontrol dan upacara ucapan alu) yang melaksanakan petunjuk tersebut, seperti yang diambil dari memori unit. Sebagian besar instruksi siklus terdiri dari CPU mengirim alamat pada bus alamat, ke memori unit, yang kemudian merespon dengan mengirimkan isi dari lokasi memori yang meliputi data, pada data bus. (Hal ini sangat sibuk dengan ide yang disimpan-program komputer yang dieksekusi dalam petunjuk disimpan di samping biasa data dalam memori unit, dan oleh itu sama dengan
PC hanyalah satu dari sekian banyak mendaftar di hardware dari CPU. Itu, seperti masing-masing register lainnya, terdiri dari bank dari biner latches (a binary memalangi juga dikenal sebagai tiba-tiba), dengan satu flip-flop bit per dalam integer yang akan disimpan (32 untuk 32-bit CPU, misalnya). Dalam hal PC, yang merupakan integer alamat dalam memori unit yang akan diambil berikutnya.
Setelah data (dengan instruksi) telah diterima pada data bus, PC adalah incremented. Dalam beberapa CPU ini dicapai dengan menambahkan 000 .. 001 ke isinya, dan hasilnya menjadi latching register harus isi yang baru, pada kebanyakan CPU, though, PC diimplementasikan sebagai register yang internal kabel sehingga dianggap sampai ke nilai berikutnya ketika sinyal tertentu akan diterapkan ke luar. Seperti mendaftar, dalam elektronik, yang disebut sebagai binary counter, dan dengan itu asal istilah program counter.
Keberadaan program counter dalam CPU telah mencapai jauh konsekuensi pada cara kita berpikir ketika kita program komputer, dan memang program counter (atau setara blok perangkat keras yang melayani tujuan yang sama sangat pusat ke arsitektur von Neumann.
Itu membebankan ketat sequencial memesan pada mengambil dari instruksi dari memori unit (yang aliran kontrol), bahkan di mana tidak ada sequenciality ini diterapkan oleh algoritma itu sendiri (yang von Neumann kemacetan). Hal ini mungkin mengapa penelitian menjadi model untuk komputasi paralel dianggap pada satu titik, tidak lain von Neumann atau dataflow model yang tidak menggunakan program counter. Misalnya, pemrograman fungsional bahasa yang berharap banyak pada tingkat tinggi, dengan combinatory logika di tingkat assembler. Bahkan kemudian, sebagian besar peneliti ini emulated di microcode konvensional komputer (karenanya masih melibatkan sebuah program counter dalam hardware), tetapi, sebenarnya, combinators sangat sederhana, mereka bisa, pada prinsipnya dilaksanakan secara langsung pada perangkat keras tanpa kembali ke microcode counter atau program sama sekali.
Hasil penelitian yang makan kembali, sebaliknya, menjadi cara untuk meningkatkan pelaksanaan kecepatan prosesor konvensional.Cara yang ditemukan untuk mengorganisir di luar aturan pelaksanaan, sehingga untuk mendapatkan informasi yang sequencing yang tersirat dalam data. . Selain itu, pipa dan sangat panjang instruksi kata organisasi diizinkan compiler untuk mengatur beberapa perhitungan yang akan berangkat bersama.Pada awal setiap instruksi pelaksanaan, tetapi, instruksi yang harus diambil dari memori, dan ini dimulai oleh sebuah instruksi fetch siklus yang picks alamat, satu per satu, dari program counter.
Bahkan bahasa pemrograman tingkat tinggi yang memiliki program-counter konsep berurat berakar mendalam dalam perilaku mereka. Anda hanya perlu untuk melihat bagaimana programmer debugs atau mengembangkan program komputer untuk melihat bukti ini, dengan pemrogram menggunakan jari untuk menunjuk ke baris berturut-turut dalam program untuk model langkah-langkah pelaksanaannya. Memang, sebuah bahasa pemrograman tingkat tinggi yang tidak kurang daripada assembler bahasa tinggi mesin virtual - sebuah komputer yang akan terlalu rumit untuk biaya-efektif untuk membangun secara langsung dalam perangkat keras, sehingga adalah melaksanakan, bukan menggunakan beberapa kerang dari pertandingan (dengan compiler atau interpreter menyediakan lebih tinggi, dan microcode menyediakan tingkat bawah)

Senin, 06 April 2009

Praying

Doa Bapa Kami

Syukur pada Tuhan bahwa kita sudah diberikan doa yang sungguh luar biasa. Tapi dalam keseharian doa ini biasanya diucapkan begitu saja, tanpa ada penghayatan. Sering merupakan hapalan semata. Mari kita coba renungkan kepantasan kita untuk mendoakan doa yang diajarkan Tuhan sendiri, jika tidak :

Jangan menyebut Bapa, kalau hidup kita tidak berlaku sebagai anak Allah. Jangan berkata kami, kalau hidup kita diselimuti ke-egoisan cinta diri.
Jangan berkata yang ada di surga, kalau hidup kita hanya memikirkan perkara-perkara duniawi semata. Jangan berkata dimuliakanlah namaMu, kalau hidup kita tidak bisa menghormati Allah dengan pantas. Jangan berkata datanglah kerajaanMu, kalau hidup kita lebih mencari kebanggaan duniawi. Jangan berkata jadilah kehendakMu diatas bumi seperti didalam surga, kalau kita menuruti kehendak sendiri dan tidak berani menyangkal diri. Jangan berkata berilah kami rejeki hari ini, kalau hidup kita tidak peduli pada sesama. Jangan berkata ampunilah kesalahan kami seperti kami pun mengampuni yang bersalah pada kami, kalau hidup kita dikuasai kebencuian dan dendam. Jangan berkata janganlah masukkan kami ke dalam percobaan, kalau hidup kita tidak berani sungguh-sungguh berbuat dosa. Jangan berkata bebaskanlah kami dari yang jahat, kalau hidup kita sendiri tidak tegas menolak segala kejahatan. Jangan berkata amin, kalau kita tidak serius menghayati dan mengamalkan Doa Bapa Kami.

Doa
Kita sering mengeluh ketika doa kita tidak dapat jawaban: “oh Tuhan dimanakah Engkau? kenapa Engkau tidak mau mengabulkan doaku?”
Di perkenankan berdoa saja sebetulnya kita sudah bersyukur. Kita sebenarnya tidak pantas untuk itu, Tuhan begitu kasih hingga Dia sendiri yang mengundang kita untuk berdoa. Terus apakah setiap doa akan dikabulkan? Semua doa didengarkan menurut aku, dan tentunya apakah kita juga sudah berdoa dengan benar?
1. Apakah kita sudah menyatukan hati dalam doa?
2. Hasrat yang kuat untuk melayani serta mencintai Tuhan melalui doa.
3. Bertekun dalam doa dan tidak cepat menyerah. Kita perlu terus-menerus berdoa setiap hari.
4. Berdoa dengan kerendahan hati
5. Penuh konsentrasi : Bagaimana mungkin kita mengharapkan Tuhan mendengarkan doa kita, jika kita sendiri tidak memusatkan perhatian kita dalam doa?
6. Iman yang tulus
7. Prioritas
Ketika kita berdoa kita harus menempatkan prioritas dengan benar, yaitu kehendak Tuhan lebih utama dari kehendak kita.
Adakalanya doa terasa hambar, kering dan sepertinya tidak didengar oleh Tuhan. Ini memang godaan. Iblis akan senang jika kita bisa terhanyut dalam situasi ini dan menjauhkan diri dari Allah. Just Keep praying!