Selasa, 10 April 2012

PROSES dan THREAD pada OS

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.
Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O. Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi.

Pengelolaan Proses

    Proses perlu dikelola karena dalam sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
• Pembuatan dan penghapusan proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.

       Perkembangan sistem komputer mendatang adalah menuju ke sistem multi- processing, multiprogramming, terdistribusi dan paralel yang mengharuskan adanya proses-proses yang berjalan bersama dalam waktu yang bersamaan.  Hal demikian merupakan masalah yang perlu perhatian dari perancang sistem operasi. Kondisi dimana pada saat yang bersamaan terdapat lebih dari satu proses disebut dengan kongkurensi (proses-proses yang kongkuren).

      Proses-proses yang mengalami kongkuren dapat berdiri sendiri (independen)  atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasi proses yang baik.
Untuk Threads itu sendiri ialah model proses yang didiskusikan sejauh ini telah menunjukkan bahwa suatu proses adalah sebuah program yang menjalankan eksekusi thread tunggal. Sebagai contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan. Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk memiliki eksekusi multithreads, agar dapat dapat secara terus menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu. Pada Bagian 2.5 akan dibahas proses multithreaded.
Status proses terdiri dari :
 
- New: proses sedang dibuat.
- Running: proses sedang dieksekusi.
- Waiting: proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu seperti menunggu        untuk menyelesaikan I/O atau menerima signal).
- Ready: proses menunggu jatah waktu dari CPU untuk diproses.
- Terminated: proses telah selesai dieksekusi

        Untuk memkasimalkan pengguna CPU ada yang di sebut penjadwalan proses agar proses yang di jalankan berjalan tanpa hambatan. Ada beberapa macam penjadwalan proses yaitu :
1. Penjadwalan Antrian
          Ketiaka proses memasuki system mereka akan di letakkan pada antrian job. Antrian ini terdiri dari seluruh prosesdalam system. Proses lainnya akan menunggu pada memori utama dan siap untuk di eksekusi ketika proses pertama selesa daliaksanakan.
2. penjadualan Scheduler
  Sistem operasi harus memilih, untuk keperluan penjadualan, memproses antrian-antrian ini dalam cara tertentu. Pemilihan proses dilaksanakan oleh penjadual yang tepat/ cocok. Dalam sistem batch, sering ada lebih banyak proses yang diserahkan daripada yang dapat dilaksanakan segera. Proses ini dipitakan/ disimpan pada suatu alat penyimpan masal (biasanya disket), dimana proses tersebut disimpan untuk eksekusi dilain waktu.
3. Alih Konteks ? Switch Context
  Alih konteks sebuah proses digambarkan dalam PCB suatu proses; termasuk nilai dari CPU register, status proses. Ketika alih konteks terjadi, kernel menyimpan konteks dari proses lama kedalam PCB nya dan mengisi konteks yang telah disimpan dari process baru yang telah terjadual untuk berjalan. Pergantian waktu konteks adalah murni overhead, karena sistem melakukan pekerjaan yang tidak perlu. Kecepatannya bervariasi dari mesin ke mesin, bergantung pada kecepatan memori.
 SUMBER :
  1. http://flutokek.blogspot.com/2012/04/proses-dan-thread-pada-os_10.html
  2. http://yogapw.wordpress.com/2009/10/05/pengertian-proses-dalam-sistem-operasi/
  3. kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi/.../bahan-bab3.pdf
  4. http://ramdoniakbar.blogspot.com/2012/04/proses-dan-thread-dalam-os.html

Tidak ada komentar:

Posting Komentar