Selasa, 27 Oktober 2015

THREAD

THREAD

            Thread merupakan bagian dari proses, dimana proses sendirir adalah program yang sedang dieksekusi, ada dua jenis proses, pertama heavyweight  dan ada lightweight atau dikenal juga sebagai thread.
Thread adalah unit dasar dari utilisasi CPU. Di dalamnya terdapat ID thread, program counter, register, dan stack. Dan saling berbagi dengan thread lain dalam proses yang sama. Dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.

THREAD MODEL







 Kolom pertama berisi beberapa item bersama oleh semua thread dalam proses . Yang kedua berisi beberapa item pribadi ke setiap thread .


 
Setiap thread memiliki stack masing masing







KEUNTUNGAN THREAD

2.      Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses. Keuntungan dari pembagian kode adalah aplikasi mempunyai perbedaan aktifitas thread dengan alokasi memori yang sama.


3.      Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber daya dari proses, ini lebih ekonomis untuk membuat threads.

4.      Pemberdayaan arsitektur multiprosesor: Keuntungann dari multithreading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara parallel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu.

IMPLEMENTASI THREAD
Implementasi thread terdiri dari 3 jenis:
1.      User
1. Pelaksanaan manajemen thread yang dilakukan oleh user-level thread library. Terdapat dua kelompok besar implementasi thread, yaitu user-level thread dan kernel-level thread. Didalam fasilitas user-level thread yang murni, semua tugas manajemen thread dilakukan oleh aplikasi dan kernel tidak mengetahui keberadaan thread.
2. Tiga kunci thread libraries :
·         POSIX Pthread
·         Win32 thread
·         Java thread
2.      Kernel
1. Suatu proses thread Yyang didukung oleh kernel. Untuk memberitahu kejadian kernel, kernel menciptakan scheduler activatioan baru, memberikan ke pemroses dan melakukan upcall ke ruang pemakai.
2. Contoh :
·         Windows XP/2000
·         Solaris
·         Linux
·          Tru64 UNIX
·         Mac OS X



3.      Hybrid
Merupakan gabungan user dan kernel


Multiplexing user-level threads onto kernel- level threads





HUBUNGAN THREAD DAN PROSES
Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi dengan thread lain yang mengacu pada proses yang sama. Thread terdiri atas ID thread, program counter, himpunan register, dan stack. Dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.






Tidak ada komentar:

Posting Komentar