a.
Thread pengguna: Thread yang pengaturannya
dilakukan oleh pustaka thread pada tingkatan pengguna.
Karena pustaka yang menyediakan fasilitas untuk pembuatan dan penjadwalan thread, thread pengguna cepat dibuat
dan dikendalikan.
b. Thread Kernel: Thread yang didukung langsung oleh kernel. Pembuatan,
penjadwalan dan manajemen thread dilakukan oleh kernel
pada kernel space. Karena dilakukan oleh
sistem operasi, proses pembuatannya akan lebih lambat jika dibandingkan dengan thread pengguna.
Model-Model MultiThreading:
a.
Model Many-to-One . Model ini memetakan
beberapa thread tingkatan pengguna ke
sebuah thread. tingkatan kernel.
Pengaturan thread dilakukan dalam ruang
pengguna sehingga efisien. Hanya satu threadpengguna yang dapat
mengakses thread kernel pada satu saat.
Jadi Multiple thread tidak dapat berjalan
secara paralel pada multiprosesor. Contoh: Solaris Green Threads dan GNU Portable Threads.
b. Model One-to-One . Model ini memetakan setiap thread tingkatan pengguna ke setiap thread. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahan model ini ialah setiap pembuatan thread pengguna memerlukan tambahan thread kernel. Karena itu, jika mengimplementasikan sistem
ini maka akan menurunkan kinerja dari sebuah aplikasi sehingga biasanya jumlah thread dibatasi dalam sistem. Contoh: Windows NT/XP/2000 ,
Linux, Solaris 9.
c.
Model Many-to-Many . Model ini memultipleks
banyak thread tingkatan pengguna ke thread kernel yang jumlahnya sedikit atau sama dengan
tingkatan pengguna. Model ini mengizinkan developer membuatthread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu.
Keuntungan dari sistem ini ialah kernel thread yang bersangkutan dapat
berjalan secara paralel pada multiprosessor.
d. Symetric Multithreading
e.
Sistem SMP mengizinkan beberapa thread untuk berjalan secara bersamaan
dengan menyediakan banyak physical processor. Ada sebuah strategi
alternatif yang lebih cenderung untuk menyediakan logical processordaripada physical processor. Strategi ini dikenal sebagai SMT ( Symetric Multithreading). SMT juga biasa disebut teknologi hyperthreading dalam prosesor intel.
f.
Ide dari SMT adalah untuk menciptakan banyak logical processor dalam suatu physical processor yang sama dan mempresentasikan beberapa
prosesor kepada sistem operasi. Setiap logical
processor mempunyai state arsitekturnya sendiri yang mencangkup general purpose dan machine state
register. Lebih jauh lagi, setiap logical prosesor bertanggung jawab pada
penanganan interupsinya sendiri, yang berarti bahwa interupsi cenderung
dikirimkan ke logical processor dan ditangani oleh logical processor bukan physical
processor. Dengan kata lain, setiap logical processor men- share resource dari physical
processor-nya, seperti chacedan bus.
No comments:
Post a Comment