13.07.2015 Views

resume - Teknik Elektro UGM

resume - Teknik Elektro UGM

resume - Teknik Elektro UGM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

preemptive (kadang disebut penjadwalan coroutine), suatu thread berjalan hingga ia membuat suatupanggilan ke sistem thread (misalnya sistem pemanggilan), ketika sistem dapat menjadwalkan ulang danmenjadwalkan thread lain untuk berjalan.Keuntungan penjadwalan non-preemptive yaitu pada beberapa kode yang tidak mengandung suatupemanggilan ke sistem thread secara otomatis dianggap seksi kritis. Namun penjadwalan thread nonpreemptivetidak dapat mengambil keuntungan dari multiprocessor. Penjadwalan thread non-preemptivejuga tidak cocok untuk aplikasi real time, yang mana even diasosiasikan dengan waktu absolute ketikaharus diproses.4.3.7 Threads implementationBanyak kernel menyediakan layanan untuk proses multi-thread, termasuk Windows NT, Solaris,Mach, dan Chorus. Kernel tersebut menyediakan pembentukan thread dan memanajemen sistempanggilan, dan mereka menjadwalkan individual thread. Beberapa kernel lainnya hanya mempunyaisebuah abstraksi proses thread tunggal. Multi-thread memroses harus diimplementasikan pada suatupustaka dari prosedur dihubungkan ke aplikasi program. Pustaka thread run time mengorganisirpenjadwalan dari thread. Suatu thread akan mem-blok proses dan semua thread di dalamnya jika iamembuat suatu pemanggilan sistem blocking, sehingga asynchronous (non-blocking) fasilitas inputoutputdari kernel yang ada dieksploitasi. Implementasinya dapan mengutilisasi penyediaan waktukernel dan fasilitas software interrupt ke bagian waktu antar thread.Ketika tidak ada kernel yang menyupport untuk prose multi-thread disediakan, thread levelpengguna akan menemui beberap masalah:‣ Thread di dalam proses tidak dapat mendapat keuntungan dari multiprocessor‣ Suatu thread yang mengambil kesalahan halaman mem-block proses yang ada dan semua threaddi dalamnya‣ Thread di dalam proses yang berbeda tidak dapat dijadwalkan berdasarkan suatu skema tunggalberdasarkan prioritasImplementasi thread level user pada sisi lain mempunyai keuntungan yang signifikan melaluiimplementasi level kernel:‣ Operasi thread yang ada membutuhkan biaya yang lebih rendah.‣ Variasi pada persyaratan penjadwalan menjadi semakin besar karena konsiderasi aplikasi yangkhusus.‣ Lebih banyak thread level user dapat ditunjang daripada dengan kernel yang ada.Suatu penjadwal level pengguna menandai masing-masing thread level pengguna ke suatu threadlevel kernel. Skema ini dapta memberi keuntungan dari multiprocessor, dan juga menguntungkankarena beberapa operasi pembentukan thread dan switching thread terjadi pada level pengguna.Kelemahan dari skema ini adalah masih kurang fleksibilitas, jika thread memblok kernel, maka semuathread level pengguna ditandai dan juga dilarang berjalan.Sistem penjadwalan berbasis event menanggapi komponen sistem utama menjadi kernel yangberjalan pada komputer dengan satu atau lebih processor, dan suatu set program aplikasi berjalan diatasnya. Masing-masing proses aplikasi mengandung suatu penjadwal level pengguna yang mengaturthread di dalam proses. Kernel bertanggungjawab untuk mengalokasikan virtual processor untukmemroses. Jumlah virtual processor yang memroses tergantung pada faktor persyaratan aplikasi,prioritas hubungannya, dan total pemasukan pada processor. Pada gambar di bawah memperlihatkansuatu contoh dari tiga mesin processor , yang mana kernel mengalokasikan sebuah virtual processoruntuk memroses A, menjalankan pekerjaan dengan prioritas rendah yang berhubungan, dan dua virtualDukungan Sistem Operasi 11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!