DEFINISI DAN PERBEDAAN ANTARA THREADS DAN PROCESSES
PENGERTIAN PROSES DAN THREAD
1.
Proses merupakan suatu upaya pemberian
ajaran secara mendalam (tanpa kritik) atau penggemblengan mengenai suatu paham
atau doktrin tertentu dng melihat suatu kebenaran dr arah tertentu saja :)
2. Thread
adalah unit dasar dari penggunaan CPU, yang terdiri dari Thread ID, program
counter, register set, dan stack. Sebuah thread berbagi code section, data
section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh
proses yang sama. Thread juga sering disebut lightweight process.
A. Perbedaan
Antara Proses dan Thread
Sebuah
proses adalah sebuah peristiwa adanya sebuah program yang dapat dieksekusi.
Sebagai sebuah eksekusi proses, maka hal tersebut membutuhkan perubahan
keadaan. Keadaan dari sebuah proses dapat didefinisikan oleh aktivitas proses
tersebut. Suatu proses adalah lebih dari kode program, dimana kadang kala
dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang
terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari
daftar prosesor/ processor’s register. Suatu proses umumnya juga termasuk
process stack, yang berisikan data temporer (seperti parameter metoda, address
yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan
variabel global. Setiap proses mungkin menjadi satu dari beberapa state
berikut, antara lain: new, ready, running, waiting, atau terminated. Setiap
proses direpresentasikan ada sistem operasi berdasarkan proses-control-block
(PCB)-nya.
Saya
tekankan bahwa program itu sendiri bukanlah sebuah proses. Suatu program adalah
satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam
disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah
program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan
dan seperangkatsumber daya/resource yang berkenaan dengannya.
Proses
memiliki dua karakteristik namun kedua karakteristik dilakukan secara
independen oleh sistem operasi :
- Resource
ownership (kepemilikan sumber daya)
Proses
mempunyai ruang alamat virtual untuk menangani image proses yang didefinisikan
dalam PCB.
-
Scheduling-execution (penjadwalan-eksekusi)
Mengikuti
suatu path eksekusi (trace), ada pergatian dari satu proses ke lainnya Unit
dari kepemilikan sumber daya diacu sebagai proses atau taskuatu thread yang
salah dapat menganggu thread yang lain didalam proses yang sama,karena thread
berbagai pakai ruang memori virtual dan sumber daya lain yang sama.
Thread
adalah unit dasar dari penggunaan CPU, thread mengandung Thread ID, program
counter, register set, dan stack. Sebuah Thread berbagi code section, data
section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh
proses yang sama. Thread juga sering disebut lightweight process. Sebuah proses
tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi
sebagai pengendali. Perbedaan antara proses dengan thread tunggal dengan proses
dengan thread yang banyak adalah proses dengan thread yang banyak dapat
mengerjakan lebih dari satu tugas pada satu satuan waktu.
B.
Perbedaan Antara Proses dan Thread
1.Proses
sulit untuk membuat karena membutuhkan duplikasi proses induk dan alokasi
memori sedangkan thread lebih mudah untuk membuat karena mereka tidak
memerlukan ruang alamat yang terpisah.
2.Thread
digunakan untuk tugas-tugas sederhana, sementara proses yang digunakan untuk
tugas-tugas yang berat-berat seperti pelaksanaan aplikasi.
3.Proses
tidak berbagi ruang alamat yang sama, namun thread dalam berbagi proses yang
sama ruang alamat yang sama.
4.Proses
yang independen satu sama lain, tetapi thread saling bergantung karena mereka
berbagi ruang alamat yang sama.
5.Sebuah
proses dapat terdiri dari beberapa thread.
6.Karena
thread berbagi ruang alamat yang sama, virtual memori hanya terkait dengan
proses tapi tidak dengan thread. Tapi prosesor virtual yang berbeda dikaitkan
dengan setiap thread.
7.Setiap
proses memiliki kode dan data sendiri sedangkan proses thread berbagi kode yang
sama dan data.
8.Setiap
proses dimulai dengan thread utama, tapi dapat membuat thread tambahan jika
diperlukan.
9.Konteks
beralih antara proses jauh lebih lambat dibandingkan konteks beralih antara
thread dari proses yang sama.
10.Thread
dapat memiliki akses langsung ke segmen data, tetapi proses memiliki salinan
sendiri segmen data mereka.
11.roses
memiliki overhead tapi tidak thread.
Ringkasan
Proses vs Thread
Proses dan
thread dua teknik yang digunakan oleh programmer untuk mengontrol prosesor dan
pelaksanaan instruksi pada komputer dengan cara yang efisien dan efektif.
Sebuah proses dapat berisi beberapa thread. Thread menyediakan cara yang
efisien untuk berbagi memori meskipun beroperasi beberapa eksekusi dari proses.
Oleh karena itu, thread merupakan alternatif untuk beberapa proses. Dengan tren
yang berkembang menuju prosesor multi-core, thread akan menjadi alat yang
paling penting dalam dunia programmer.
Komentar
Posting Komentar