Definisi
Thread
Thread adalah sebuah alur kontrol
dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa
perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari
multithreaded meliputi peningkatan respon dari user, pembagian sumber daya
proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur
multiprosesor. User level thread adalah thread yang tampak oleh programmer dan
tidak diketahui oleh kernel. User level thread secara tipikal dikelola oleh
sebuah library thread di ruang user. Kernel level thread didukung dan dikelola
oleh kernel sistem operasi. Secara umum, user level thread lebih cepat dalam
pembuatan dan pengelolaan dari pada kernel thread. Ada tiga perbedaan tipe dari
model yang berhubungan dengan user dan kernel thread.
·
Model many to one: memetakan beberapa
user level thread hanya ke satu buah kernel thread.
·
Model one to one: memetakan setiap user
thread ke dalam satu kernel thread. Berakhir.
· Model many to many: mengizinkan
pengembang untuk membuat user thread sebanyak mungkin, konkurensi tidak dapat
tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu
waktu.
Multithreaded
Process
Benefits/manfaat
·
Kemampuan reaksi
·
Sumber daya berbagi
·
Ekonomi
·
Scalabilas
Thread
bermanfaat untuk Multithreading yang berguna untuk Multiprocessor dan
Singleprocessor. Kegunaan untuk system Multiprocessor, adalah :
a)
Sebagai unit pararel atau tingkat
granularitas pararelisme.
b)
Peningkatan kinerja disbanding berbasis
proses.
Kegunaan Multithreading
pada singleprocessor, adalah :
a)
Kerja foreground dan background
sekaligus di satu aplikasi.
b)
Penanganan asynchronous processing
menjadi lebih baik.
c)
Mempercepat eksekusi program.
d)
Pengorganisasian program menjadi lebih
baik.
Kegunaan
Thread
Multithreading berguna
untuk multiprocessor dan singleprocessor. Kegunaan untuk system multiprocessor
adalah :
·
Sebagai unit pararel atau tingkat
granularitas pararelisme.
·
Peningkatan kinerja disbanding berbasis
proses.
Karakteristik
Thread
Proses merupakan lingkungan eksekusi
bagi thread-thread yang dimilikinya. Thread-thread di satu proses memakai bersama
sumber daya yang dimiliki proses, yaitu :
·
Ruang alamat.
·
Himpunan berkas yang dibuka.
·
Proses-proses anak.
·
Timer-timer.
·
Snyal-sinyal.
·
Sumber daya-sumber daya lain milik
proses.
Implementasi
Paket Thread
1.
Thread level kernel.
v Keunggulan
:
·
Memudahkan koordinasi multithread
seperti proses server.
·
Tidak seboros kumpulan proses
tradisional.
v Kelemahan
:
·
Operasi manajemen thread sangat lebih
boros.
·
Kernel harus menyediakan semua feature.
2.
Thread level pemakai.
v Keunggulan
:
Kinerja
luar biasa bagus disbanding thread level kernel.
·
Tidak diperlukan modifikasi kernel.
·
Fleksibelitas tinggi.
v Kelemahan
:
·
Tidak manfaatkan multiprocessor.
·
Untuk aplikasi dengan keterlibatan
kernel yang kecil.
·
Mengharuskan nonblocking system call.
Tidak ada komentar:
Posting Komentar