Suatu
proses didefinisikan oleh resourceyang
digunakan dan lokasi yang akan dieksekusi.
Namun adakalanya proses-proses akan menggunakan resource secara bersama-sama. Suatu unit dasar dari CPU
utilizationyang berisi program counter, kumpulan register, dan ruang stack
disebut dengan threadatau lighweight process (LWP).
Threadakan bekerjasama dengan threadyang lainnya dalam hal penggunaan
bagian kode, bagian data, dan
resourcesistem operasi, seperti open file dan sinyal secara kolektif
yang sering disebut dengan task.
Apabila
dilakukan perbandingaan antara sistem
multi threaddengan sistem multi
proses dapat disimak berikut. Pada multi proses, setiap proses secara terpisah
melakukan operasi tidak bekerja sama dengan proses lain, setiap proses mempunyai program counter, stack registerdan ruang alamat sendiri.
Organisasi jenis ini berguna jika
jobdibentuk oleh proses-proses yang tidak saling berhubungan. Multi proses
membentuk taskyang sama.
Sebagai contoh,
multi proses dapat menyediakan data untuk mesin secara remotepada implementasi
system file jaringan. Hal ini lebih efisien apabila satu proses terdiri dari multi threadmelayani tugas yang sama. Pada
implementasi multi proses, setiap proses mengeksekusi kode yang sama tetapi
mempunyai memori dan resource
filesendiri. Satu proses multi
threadmenggunakan resourcelebih sedikit
daripada multi proses, termasuk memory,
open filedan penjadwalan CPU.
Seperti
halnya proses, threadmemiliki
status: ready, blocked,
runningdan terminated, dan hanya satu
threadyang aktif dalam satu waktu. Threaddapat membuat child thread. Jika satu threaddalam keadaan blocked, maka
threadyang lainnya dapat dijalankan.
Namun, tidak saling bebas, Sebab semua
thread dapat mengakses setiap
alamat dalam satu task, thread dapat membaca dan menulisi stack dari threadyang lainnya. Sehingga tidak ada
proteksi antara satu threadterhadap threadyang lainnya.
No comments:
Post a Comment