Proses merupakan sebuah keadaan saat suatu program dieksekusi. Berbagai macam proses terjadi pada saat computer berjalan. Proses mempunya berbagai macam model proses berdasarkan status/statenya, yaitu :
Proses dengan 2 state
Proses ini merupakan proses yang paling sederhana karena hanya mempunya 2 status, yaitu running dan not running.
- Running : Status dimana saat instruksi-instruksi dari sebuah proses di eksekusi.
- Not running : Suatu proses yang berada dalam keadaan menunggu dikatakan berada dalam status not running. Event ini dapat disebabkan karena menunggu.
Model antrian pada proses ini dalam dilihat pada gambar dibawah :
Awal dan akhir dari sebuah process dapat disebut juga dengan Process creation dan Process termination. Process creation terjadi saat process baru ditambah ke dalam process yang sedang berjalan atau sedang di manage, sementara process termination terjadi saat sebuah proses telah selesai dikerjakan.
Kelemahan dari proses ini yaitu :
- Pemilihan proses selanjutnya yang akan dieksekusi tidak cukup hanya dengan algoritma FIFO
- Dispatcher harus mencari proses yang siap running diantara proses-proses yang lain yang terblok
- Membutuhkan algoritma yang lebih rumit
Proses dengan 5 state
Model ini mempunya 5 state, yaitu :
- New : Status untuk proses yang baru saja dibentuk sebperti contohnya pembukaan aplikasi, dsb.
- Ready : Instruksi yang siap dieksekusi.
- Running : Proses yang sedang di eksekusi.
- Blocked : Proses sedang menunggu sejumlah kejadian untuk terjadi ( seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda / signal ).
- Exit : Proses telah selsesai melaksanakan tugasnya / mengeksekusi.
Dan berikut merupakan perpindahan status dari proses dengan 5 state :
- Null -> New : Pembentukan proses baru
- New -> Ready :
- Penambahan proses baru yang siap untuk dieksekusi.
- Proses tersebut sudah diakui oleh system operasi
- Proses sudah masuk ke dalam memori
- Ready -> Running : Satu proses yang terpilih di eksekusi
- Exit -> Running : Proses selesai atau dibatalkan.
- Running -> Ready :
- Proses yang sedang running dipaksa berhenti
- Penyebabnya bias jadi timeout maupun terdapat proses berprioritas lebih tinggi dating.
- Running -> Blocked :
- Proses yang sedang running terpaksa berhenti
- Penyebabnya bisa dikarenakan sedang menunggu file yang sedang diakses oleh proses lain maupun menunggu proses di I/O selesai, membutuhkan memori yang lebih besar, dsb.
- Blocked -> Ready : Proses terbebas dari blocked setelah event yang ditunggu selesai.
- Ready -> Exit : Proses yang siap dieksekusi diterminasi / dipaksa keluar.
- Blocked -> Exit : Proses yang terlok diterminasi.
Proses dengan 6 state dan 7 state
Proses dengan 5 state + 1 Suspend state
Proses dengan 5 state + 2 suspend state
Kedua proses diatas sebenarnya sama dengan proses dengan 5 state namun ditambahkan denga state baru, yaitu suspend state. Status yang ditambahkan dengan suspend state berakibatkan kinerja prosesor yang lebih cepat dari I/O, dimana semua proses menunggu I/O. alasan adanya suspense proses yaitu :
- Swapping : Sistem operasi harus membebaskan cukup main memory agar suatu proses siap eksekusi.
- Ada masalah : Sistem operasi akan mengira proses akan menyebabkan suatu masalah.
- Timing : proses dapat dieksekusi secara periodik dan boleh di suspend selama menunggu waktu selanjutnya.