Threads

Tidak ada komentar
Threads

Thread adalah suatu eksekusi state. Thread memungkinkan banyak eksekusi untuk bekerja secara bersamaan dalam satu lingkungan proses yang sama karena :
 - Lighweight process
   karena thread memiliki properti proses yang sama
 - Multithreading
   mengijinkan banyak thread berada pada satu proses yang sama

Relasi antara thread dan proses antara lain :
- 1:1
   Satu thread dalam satu proses
   Contoh sistem : Traditional UNIX
- M:1
   Banyak thread dalam satu proses
   Contoh sistem : Windows NT, Solaris, Linux, OS/2, OS/390, MACH
- 1:M
   Satu thread banyak proses (satu thread bisa berpindah-pindah dari satu lingkungan proses 
   ke lainnya)
   Contoh sistem : Ra(Clouds), Emerald
- M:M
  banyak thread dalam banyak proses atau kombinasi dari M:1 dan 1:M
  Contoh sistem : TRIX

Thread dan Proses

Keuntungan menggunakan thread :
- memakan waktu yang lebih pendek untuk membuat thread daripada membuat proses
- lebih cepat untuk mengakhiri sebuah thread
- lebih cepat untuk berpindah antara dua thread dalam satu proses yang sama
- karena thread berada dalam proses yang sama, maka thread berbagi memori dan file
  sehingga antar thread bisa berkomunikasi tanpa mengganggu kernel

Implementasi Thread

a. User Space
    Keuntungan :
    - Setiap proses memiliki algoritma penjadwalannya masing-masing
    - Performa bagus
    Kekurangan :
    - Mengimplementasikan blocking system calls dimana setiap ada proses yang jalan maka proses
      yang ingin dieksekusi lain akan diblok
    - Tidak ada thread yang bisa berjalan hingga thread yang sebelumnya denga rela memberikan
       CPU


b. Kernel Space
    Keuntungan :
    - Tidak menerapkan blocking system calls
    Kekurangan :
    - Membutuhkan biaya dan waktu yang lebih banyak untuk menghancurkan thread


c. Multiplexing user-level thread


d. Pop-up Thread
    adalah thread yang muncul ketika ada pesan yang datang dimana tugasnya adalah menghandle
    pesan tersebut.


Tidak ada komentar :

Posting Komentar