Anda di halaman 1dari 2

proses adalah program yang sedang dieksekusi Thread terdiri atas ID thread, program counter, himpunan register, dan

stack. Suatu thread merupakan suatu alur instruksi yang di eksekusi. Program yang melakukan lebih dari satu alur instruksi biasa disebut melakukan mu ltithreading. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tuli san sedangkan thread yang lain berfungsi sebagai penerima data dari network. Keuntungan dari program yang multithreading terbagi menjadi empat kategori: 1. Tanggap/Responsif 2. Berbagi sumber daya 3. Ekonomis 4. Utilisasi arsitektur multiprocessor. User Thread Thread pengguna didukung kernel serta diimplementasikan dengan library thread pa da tingkatan pengguna. Library menyediakan fasilitas untuk pembuatan thread, penjadwalan thread, dan ma najemen thread tanpa dukungan dari kernel. Karena kernel tidak menyadari user-level thread maka semua pembuatan dan penjadw alan thread dilakukan dalam ruang pengguna tanpa campur tangan kernel. Oleh karena itu, thread pengguna biasanya dapat cepat dibuat dan dikendalikan. Tetapi thread pengguna mempunyai kelemahan untuk kernel thread tunggal. Salah satu thread tingkatan pengguna menjalankan blocking system call maka akan mengakibatkan seluruh proses diblok walaupun ada thread lain yang dapat jalan da lam aplikasi tersebut. Contoh library thread pengguna ialah POSIX Pthreads, Mach C-threads, dan Solaris threads. Thread Kernel Thread kernel didukung langsung oleh sistem operasi. Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel s pace. Karena pengaturan thread dilakukan oleh sistem operasi maka pembuatan dan pengat uran kernel thread lebih lambat dibandingkan user thread. Keuntungannya adalah thread diatur oleh kernel, karena itu jika sebuah thread me njalankan blocking system call maka kernel dapat menjadwalkan thread lain di apl ikasi untuk melakukan eksekusi. Keuntungan lainnya adalah pada lingkungan multiprocessor, kernel dapat menjadwal thread-thread pada processor yang berbeda. Contoh sistem operasi yang mendukung kernel thread adalah Windows NT, Solaris, D igital UNIX. Model Multithreading 1. Model Many-to-One 2. Model One-to-One 3. Model Many-to-Many Fork dan Exec System Call Terdapat dua kemungkinan dalam sistem UNIX jika fork dipanggil oleh salah satu t hread dalam proses 1. Semua thread diduplikasi. 2. Hanya thread yang memanggil fork. Kalau thread memanggil exec System Call maka program yang dispesifikasi di param eter exec akan mengganti keseluruhan proses termasuk thread dan LWP. Penggunaan dua versi dari fork di atas tergantung dari aplikasi. Kalau exec dipanggil seketika sesudah fork, maka duplikasi seluruh thread tidak

dibutuhkan, karena program yang dispesifikasi di parameter exec akan mengganti s eluruh proses. Pada kasus ini cukup hanya mengganti thread yang memanggil fork. Tetapi jika pro ses yang terpisah tidak memanggil exec sesudah fork maka proses yang terpisah te rsebut hendaknya menduplikasi seluruh thread. Cancellation Thread cancellation ialah pemberhentian thread sebelum tugasnya selesai. Pemberhentian target thread dapat terjadi melalui dua cara yang berbeda: 1. Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread. 2. Defered cancellation: target thread secara perodik memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirin ya sendiri secara terurut

Anda mungkin juga menyukai