PROSES-SISTEM TERDISTRIBUSI
PROSES
THREAD
Thread adalah sekumpulan instruksi (proses) yang dieksekusi secara independen (sendiri). Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan kita menggunakan thread kita dapat membuat program menjadi lebih sederhana dan lebih mudah dan dapat membagi proses dalam aplikasi di dalam waktu yang bersamaan.
Thread juga sering
disebut lightweight process. Sebuah proses tradisional
atau heavyweight process mempunyai thread tunggal
yang berfungsi sebagai pengendali.
KEUNTUNGAN MULTI THREAD
1.Responsivie dimana yang dimaksud pada responsive ialah program untuk berjalan terus walau-pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
2. Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses.Ketika thread berjalan pada data yang sama, thread tersebut bisa berbagi cache memory.
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: Keuntungan dari multi-threading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara paralel 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.
Kerugian Multi-Threading
- Multiple thread bisa mengganggu satu sama lain saat berbagi hardware resource, misalnya chace memory.
- Execution time (waktu proses) dari sebuah single-thread tidak dapat diimprove (ditambah), tapi malah bisa diturunkan. Ini terjadi karena penurunan frequensi yang dibutuhkan ketika terjadi pergantian thread yang berjalan.
- Harus ada dukungan dari hardware ataupun software untuk melakukan multi-Threading.
Thread dalam Sistem Operasi
- Sistem operasi telah mendukung proses multithreading.
- Setiap sistem operasi memiliki konsep tersendiri dalam pengimplementasiannya.
- Sistem operasi dapat mendukung thread pada tingkatan kernel maupun tingkatan pengguna.
One to One Model
Model ini dimana setiap user thread memilki relasi dengan hanya satu kernel thread. sehinggal user thread memiliki jumlah yang sama dengan jumlah kernel thread. dengan ini jika salah satu thread kernel sedang di block, thread lain bisa berjalan secara parallel. Namun kekurangan dari model ini adalah sistem akan menanggung beban yang berat jika jumlah kernel thread terlalu banyak. Model ini banyak digunakan oleh sistem operasi Microsoft Windows, Linux/GNU, dan Apple MacOS.
Many to Many Model
Model ini dimana terdapat banyak user thread dan setiap threadnya dapat dijalankan oleh salah satu thread yang di kernel space. Kernel thread memilki jumlah yang sama atau lebih sedikit dari jumlah user thread. dalam model ini sangat flexible dibandingkan dengan model sebelumnya namun untuk programmer untuk mengimplementasikannya lebih sulit.




Komentar
Posting Komentar