Sabtu, 30 Maret 2013

PROSES dan THREAD

Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan ( child process) yang dilakukan oleh proses induk ( parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.


Thread adalah jalur eksekusi tunngal dengan stack eksekusi,status processor,dan informasi penjadwalan. 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,sebagai berikut :
  • Pembentukan Thread membutuhkan waktu yang lebih sedikit daripada pembentukan process.
  • Membutuhkan waktu yang lebih sedikit untuk menhakhiri Thread daripada process.
  • Lebih mudah dan cepat untuk melakukan switch antar Thread daripada switch antar process.
  • Thread menggunakan secara bersama ruang alamat dari proses yang menciptakannya. Proses memiliki ruang alamat sendiri-sendiri.
  • Thread memiliki akses langsung ke segemen data dari prosesnya. Masing-masing proses memiliki salinan segmen data dari parent process-nya.
  • Thread dapat saling komunikasi dengan thread lain dalam satu process. Antar proses harus menggunakan komunikasi antar proses.
  • Thread hampir tidak memiliki overhead. Proses memiliki overhead.
  • Thread dapat memiliki pengaruh kontrol yang besar terhadap thread lain dalam satu proses. Proses hanya dapat mengendalikan proses anakannya.
  • Perubahan pada thread utama seperti pembatalan atau perubahan prioritas dapat mempengaruhi tingkah laku thread lain dalam satu proses. Perubahan pada parent proses tidak mempengaruhi proses anakan.



    Sebagaimana proses bekerja, maka proses tersebut merubah state (keadaan statis/ asal). Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan berikut ini:
  • New: Proses sedang dikerjakan/ dibuat.
  • Running: Instruksi sedang dikerjakan.
  • Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/Oatau penerimaan sebuah tanda/ signal).
  • Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
  • Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.
Nama-nama tersebut adalah arbitrer/ berdasar opini, istilah tersebut bervariasi disepanjang sistem operasi. Keadaan yang mereka gambarkan ditemukan pada seluruh sistem. Namun, sistem operasi tertentu juga lebih baik menggambarkan keadaan/ status proses. Adalah penting untuk menyadari bahwa hanya satu proses dapat berjalan pada prosesor mana pun pada waktu kapan pun. Namun, banyak proses yang dapat ready atau waiting.


sumber : 
http://amicowo.wordpress.com/2011/07/18/pengertian-thread/
http://ryandong2.blogspot.com/2012/11/pengertian-thread.html
http://dee-x-cisadane.webs.com/apps/blog/show/10299581-perbedaan-proses-dan-thread-perbedaan-file-service-file-system-dan-file-server-beserta-contohnya-

   

Tidak ada komentar: