Apa sih proses? Proses itu suatu program yang dieksekusi. Contohnya ketika suatu sistem tunggal, seperti microsoft windows dimana penggunanya mampu menjalankan beberapa program pada saat yang sama kayak processor, web browser, dll. Atau bahkan penggunanya Cuma jalanin satu program pada satu waktu, nah sistem operasi itu perlu untuk mendukung aktivitas program internalnya sendiri. Seperti manajemen memori. Nah dalam banyak hal, seluruh aktivitas ini serupa, maka kita menyebut seluruh program itu proses-proses. Suatu proses itu lebih dari sekedar kode program, kadang kala dikenal juga sebagai bagian tulisan. Proses itu termasuk aktivitas yang sedang terjadi.
Namun program itu sendiri bukanlah suatu proses. Program itu satu entitas pasif, layaknya isi dari sebuah berkas yang disimpan dalam disket. Kalau proses itu suatu entitas aktif dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya (resource) yang berkenaan dengannya.
-->
Ketika suatu proses bekerja, proses merubah state (keadaan statis/asal). Status dari proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut. Berapa keadaan dari tiap proses diantaranya yaitu :
- 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 selesai melaksanakan tugasnya/ mengeksekusi.
Gambar Keadaan Proses
--> -->
Tiap proses yang digambar dalam sistem operasi oleh process control block (PCB) disebut control block. Berikut gambar dari PCB :
-->
Proses itu sebuah program yang menjalankan eksekusi thread tunggal. Contohnya jika proses menjalankan program word processor ada sebuah thread tunggal dari instruksi-intruksi yang sedang dilaksanakan. Kontrol thread tunggal itu dimungkinkan untuk proses yang menjalankan satu tugas pada satu waktu.
-->
Suatu proses dalam sistem dapat dieksekusi secara bersama-sama dimana suatu proses harus dibuat dan dihapus secara dinamis. Maka sistem operasi harus menyediakan suatu mekanisme umtuk pembuatan proses dan terminasi proses.
-->
Berikut merupakan pembuatan dari proses :
Suatu pembuatan proses dinamakan induk proses, bilamana ada proses baru maka disebut anak dari proses tersebut. Tiap proses baru dapat membuat proses lainnya sehingga membentuk suatu pohon proses.
-->
Proses itu memerlukan sumber tertentu seperti waktu CPU, memori, berkas maupun perangkat I/O untuk menyelesaikan tugasnya. Ketika proses membuat subproses, maka subproses mampu memperoleh sumbernya secara langsung dari sistem operasi. Induk mungkin harus membatasi sumber diantara anaknya, atau induk dapat berbagi sebagian sumber (seperti memori berkas) diantara beberapa dari anaknya. Membatasi suatu anak proses menjadi subset sumber daya induknya mencegah proses apa pun dari pengisian sistem yang telalu banyak dengan menciptakan terlalu banyak subproses.
Ketika suatu proses membuat proses baru, dua kemungkinan ada dalam term eksekusi:
- Induk terus menerus untuk mengeksekusi secara bersama-sama dengan anaknya.
- Induk menunggu sampai sebagian dari anaknya telah diakhiri/terminasi.
Juga ada dua kemungkinan dalam term dari address space pada proses baru:
- Anak proses adalah duplikat dari induk proses.
- Anak proses memiliki program yang terisikan didalamnya.
Terminasi pada proses
Proses berakhir ketika proses selesai mengeksekusi pernyataan dan meminta sistem operasi untuk menghapusnya dengan menggunakan sistem pemanggilan exit. Pada titik itu, proses dapat mengembalikan data (keluaran) pada induk prosesnya (melalui sistem pemanggilan wait) Seluruh sumber-sumber dari proses-termasuk memori fisik dan virtual, membuka berkas, dan penyimpanan I/O di tempatkan kembali oleh sistem operasi.
Situasi tambahan ketika terjadinya terminasi dimana suatu proses dapat menyebabkan terminasi dari proses lain melalui sistem pemanggilan yang tepat (contoh abort). Biasanya, sistem seperti itu dapat dipanggil hanya oleh induk proses tersebut yang akan diterminasi. Bila tidak, pengguna dapat secara sewenang-wenang membunuh job antara satu sama lain. Nah induk itu perlu tahu identitas dari anaknya. Maka, ketika satu proses membuat proses baru, identitas dari proses yang baru diberikan kepada induknya.
Beberapa alasan induk dapat menterminasi/ mengakhiri satu dari anaknya yaitu :
- Anak telah melampaui kegunaannya atas sebagaian sumber yang telah diperuntukkan untuknya.
- Pekerjaan yang ditugaskan kepada anak telah keluar, dan sistem operasi tidak memeperbolehkan sebuah anak untuk meneruskan jika induknya berakhir.
demikianlah penjelasan mengenai proses... :)










0 comments:
Post a Comment