Wednesday, April 11, 2012

proses dan thread

sebelum membahas tentang proses dan thread itu sendiri, ada baiknya pahami terlebih dahulu kalau thread dan proses itu merupakan dua bagian yang saling berhubungan.

pengertian proses: suatu program yang sedang dieksekusi. 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.
Sedangkan thread merupakan unit dasar dari penggunaan CPU yang terdiri dari thread ID, Program Counter, Register Set dan Stack.  

sebagai contoh, kalau suatu proses itu lagi menjalankan sebuah program word prosessor, maka ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan.

biasanya kontrol thread tunggal itu hanya memungkinkan proses untuk menjalankan satu tugas pada suatu waktu. tapi banyak sistem operasi modern yang sudah memiliki konsep yang dikembangkan, sehingga memungkinkan sebuah proses memiliki eksekusi multithread.
sedangkan Multithread adalah suatu proses thread yang dapat mengerjakan lebih dari suatu tugas pada suatu satuan waktu.

Keadaan Proses

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/O atau penerimaan sebuah tanda/ signal).
  • Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.


Pemrograman dari multithreading yang dapat meningkatkan sebuah solusi thread
tunggal antara lain Dalam web browser yang multithreading, sebuah thread dapat melayani permintaan pengguna sementara thread lain berusaha menampilkan gambar. Dalam pembuatan sebuah proses banyak dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan context switch thread. Akan susah untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebih lama dibandingkan thread. Pada Solaris, pembuatan proses lebih lama 30 kali dibandingkan pembuatan thread, dan context switch proses 5 kali lebih lama dibandingkan context switch thread.


Dua level thread, User Thread dan Kernel Thread. User thread didukung di atas penjadwalan jangka pendek (short term scheduler), mempunyai tugas untuk menjadwalkan alokasi pemroses di antara proses ready di memori utama. Penjadwalan dijalankan setiap terjadi di pengalihan proses untuk memilih proses berikut yang harus dijalankan. Penjadwalan jangka panjang (long term scheduler), Penjadwalan ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi.. batch biasanya adalah proses- proses dengan penggunaan sumber daya yang intensif, program ini berprioritas rendah, digunakan sebagai pengisi selama periode aktivitas job-job interaktif rendah.


Penjadwal CPU adalah basis dari multi programming sistem operasi. Dengan men-switch CPU diantara proses. Akibatnya sistem operasi bisa membuat komputer produktif. Penjadwal adalah fungsi dasar dari suatu sistem operasi. Hampir semua sumber komputer dijadual sebelum digunakan. CPU salah satu sumber dari komputer yang penting yang menjadi sentral dari sentral penjadual di sistem operasi. Jenis-jenis algoritma penjadwalan:
Algoritma Nonpreemptive adalah Proses diberi jatah waktu oleh pemroses, maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.
Dan Algoritma Preemptive, yaitu Proses diberi jatah waktu oleh pemroses, maka pemroses dapat diambil ali 
oleh proses lain, sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.



sumber:
https://docs.google.com/viewer?a=v&q=cache:NECBljiWVMkJ:file.unsri.ac.id/index.php?dir%3DFasilkom/Sistem_Komputer/Candra_Setiawan/Sistem_Operasi/%26file%3DTugas3_SO_Afdhal%2520Akrom_Sk4B.pdf+&hl=id&gl=id&pid=bl&srcid=ADGEESiKUNQHEWgQ38sy8Iq5DCtw7Rm-a8ADQwLFnCpjXVmzQs66MIhkbAC7EhFO-8nIMRIxJ6iHMel3bAt2rFFmX95H6_ZZECYw3Glb85AhMYzkAVHlvPKXKzK-Knr5AiA7OLEVlaVW&sig=AHIEtbQ7KPhOEb_Pm2KxpVrlKjxoARVRwg&pli=1
http://ikc.unimal.ac.id/umum/ibam/ibam-os-html/i2.html
https://docs.google.com/viewer?a=v&q=cache:lssFzZndF70J:lecturer.eepis-its.edu/~arna/Modul_SO/Teori4.pdf+&hl=id&gl=id&pid=bl&srcid=ADGEESgQ80Oblu1xMNA3tFZENCRTKIFuOjAexAvl7cAQFD9i7EvTjfj1to9AVfMiCVPX3JtVwyCYfvWbAepJCMu328hxYDAtRHspZWEB8T9HAClIi1JrpYD7_pU5kWB3VBg82S5t8J8W&sig=AHIEtbRfHjkVp8VLNAV5_GwkmrGhibukuA

0 comments:

Post a Comment