SIKLUS HIDUP PROSES

Pada sistem yang sekuensial, ketika suatu proses mulai dijalankan maka proses tersebut akan menguasai seluruh sumber daya komputer dan berjalan sampai selesai. Tidak demikian halnya pada sistem multitasking di mana proses akan mengalami sejumlah kondisi atau status selama siklus hidupnya. Kondisi ini terjadi karena secara berkala suatu proses harus menghentikan eksekusinya dan membiarkan sistem operasi menjadwal proses lainnya untuk menggunakan prosesor.

Terjadinya switching dari suatu proses ke proses lainnya berlangsung secara terus menerus selama komputer hidup. Secara umum siklus hidup suatu proses serta yang dialaminya diperhatikan pada gambar dibawah ini.

Life Cycle of a Process
Life Cycle of a Process

NEW

Proses yang berstatus new, masih dalam tahap inisiasi oleh prosedur atau rutin sistem operasi. Tahap inisiasi ini meliputi alokasi memori utama atau proses, pengisian tabel proses, pembuatan struktur data kendali untuk menyimpan informasi, dan status proses. Proses dalam status ini belum siap untuk dieksekusi.

Sistem operasi menciptakan proses atas permintaan dari program aplikasi ataupun pengguna. Sejumlah kondisi yang memicu penciptaan proses baru, antara lain :

  1. Pengguna melakukan logon ke sistem operasi sehingga sistem operasi akan menciptakan proses antarmuka pengguna (shell)
  2. Permintaan eksekusi program oleh pengguna lewat aplikasi antar muka (shell).
  3. Suatu aplikasi menciptakan proses anak.
  4. Penciptaan proses baru sebagai bagian dari eksekusi batch.

READY

Proses yang telah diinisiasi ditempatkan (admit) ke dalam antrian penjadwalan prosesor dengan cara  menyisipkan rekaman baru ke dalam antrian, yang berisi referensi atau pointer ke strukru data kendali proses. Antrian penjadwalan prosesor ini disebut juga antrian ready. Proses yang telah berhasil disisipkan ke dalam antrian penjadwalan akan diubah statusnya menjadi ready. Status ready menandakan suatu proses siap berkompetisi untuk mendapatkan alokasi waktu prosesor. Jadi proses-proses yang baru tercipta, tidak dapat langsung dieksekusi tetapi harus menunggu gilirannya.

Secara berkala atau dalam kondisi terntentu, sistem operasi akan melakukan penjadwalan prosesor, yaitu menghentikan eksekusi proses yang lagi berjalan, dan mengeksekusi. Rutin sistem operasi yang bertugas untuk melakukan pemilihan ini disebut scheduler.

RUNNING

JIka kemudian sebuah proses dalam antrian terpilih oleh scheduler untuk dijalankan maka proses yang terpilih akan mulai dieksekusi dan berubah statusnya menjadi running. Proses yang bestatus running menguasai prosesor sepenuhnya.

Proses yang bestatus running memiliki tiga kemungkinan peralihan ke status lainnya. Pertama jika proses untuk menyelesaikan aktivitasnya maka proses akan berubah statusnya menjadi terminated. Peralihan ke status terminated dapat pula disebabkan terjadi kesalahan yang tidak dapat dipulihkan seperti kesalahan memori.

Kedua, jika jatah waktu (time-slice) yang dialokasikan untuk eksekusi proses sudah habis maka proses akan dialihkan statusnya menjadi ready. Pada sistem operasi multitasking umumnya setiap proses diberi jatah waktu eksekusi yang terbatas agar proses yang berdurasi panjang tidak menghambat eksekusi proses-proses lainnya. Pada saat jatah waktunya habis, pewaktu (timer) akan memberikan sinyal interupsi pada prosesor. Akibatnya eksekusi proses akan terhenti dan dialihkan ke rutin dihentikan akan diubah statusnya menjadi ready dan proses yang terseleksi oleh scheduler akan menjadi running.