Mengenal Process Management di Operating System

Apa itu Process ?

Suatu program tidak dapat melakukan apa-apa kecuali CPU memberikan instruksi untuk eksekusi. Suatu program yang sedang dieksekusi disebut process.

Process VS Program

Process merupakan program yang sedang dieksekusi. Misalnya, ketika kita menulis sebuah program  dan mengompilasinya, kompiler akan membuat kode biner. Kode asli dan kode biner keduanya yang disebut program. Ketika kita benar-benar menjalankan kode biner, maka hal  itu menjadi sebuah process.

Process merupakan entitas ‘aktif’, sedangkan program merupakan  entitas ‘pasif’. Satu program dapat membuat banyak process ketika dijalankan beberapa kali; misalnya, ketika kami membuka file .exe atau biner dalam beberapa kali..

Mengenal Process Management

Dalam menyelesaikan tugasnya, process membutuhkan sumber daya komputer. Mungkin ada lebih dari satu process dalam sistem yang memerlukan sumber daya yang sama pada waktu yang sama. Oleh karena itu, sistem operasi harus mengelola semua process dan sumber daya dengan cara yang tepat dan efisien.

Beberapa sumber daya mungkin perlu dieksekusi oleh satu process pada satu waktu untuk menjaga konsistensi. Jika tidak, maka sistem akan menjadi tidak konsisten dan deadlock dapat terjadi.

Suatu Sistem operasi atau OS bertanggung jawab untuk mengelola beberapa aktivitas yang terhubung sebagai sebuah Process Management. Aktifitas tersebut, yaitu:

  1. penjadwalan process dan thread pada CPU.
  2. Membuat dan menghapus pengguna dan sistem process.
  3. Menangguhkan dan melanjutkan process.
  4. Menyediakan mekanisme untuk sinkronisasi process
  5. Menyediakan mekanisme untuk komunikasi process.

Arsitektur Process

Berikut merupakan diagram Arsitektur dari Process jika dilihat di memory,

  • Stack : Stack menyimpan data sementara seperti parameter fungsi, alamat pengirim, dan variabel lokal.
  • Heap : Mengalokasikan memori, yang dapat diproses selama waktu berjalannya.
  • Data: Data berisi variabel.
  • Text: Bagian Teks mencakup aktivitas saat ini, yang diwakili oleh nilai Program Counter.

Atribut Pada Process

Atribut proses digunakan oleh Sistem Operasi untuk membuat blok kontrol proses atau  (PCB) untuk masing-masing sistem operasi. Hal Ini juga disebut context pada process. Adapun atribut yang disimpan dalam PCB yaitu : 

  1. Process ID. Ketika suatu process dibuat, id unik diberikan ke process yang digunakan untuk identifikasi unik process dalam sistem.
  2. Program counter. Program counter menyimpan alamat dari instruksi terakhir sebuah process ketika process tersebut disuspend. CPU juga menggunakan alamat ini ketika eksekusi process tersebut dilanjutkan.
  3. Process State. Dari awal pembuatan hingga penyelesaian process, process membuat berbagai variasi status. Mulai dari new, ready, running dan waiting.
  4. Priority. Setiap process memiliki prioritasnya masing-masing. Process dengan prioritas tertinggi di antara process lain, mendapatkan CPU terlebih dahulu. Hal ini juga tersimpan di process control block (PCB).
  5. General Purpose Registers. Setiap proses memiliki set registernya sendiri, yang digunakan untuk menyimpan data yang dihasilkan selama process dieksekusi.
  6. List of open files. Selama Eksekusi, Setiap process menggunakan beberapa file yang harus tersedia di memori utama. OS juga menyimpan daftar file yang terbuka di PCB.
  7. List of open devices. OS juga memelihara daftar semua perangkat terbuka yang digunakan selama pelaksanaan process.

Process State

Sebuah Process, dari pembuatannya hingga penyelesaiannya, melewati berbagai macam status. Jumlah minimal status adalah lima. Berikut macam-macam status pada process, yaitu :

  1. New : Process yang Baru Dibuat (atau) process yang sedang dibuat.
  2. Ready : Setelah pembuatan process maka akan berubah ke status ready, yang artinya process siap untuk dieksekusi.
  3. Run : Process yang sedang berjalan di CPU (hanya satu proses pada satu waktu yang dapat dieksekusi dalam satu prosesor).
  4. Wait (or Block) : Saat sebuah process meminta akses I/O.
  5. Complete (or Terminated) : Process menyelesaikan eksekusinya.
  6. Suspended Ready : Ketika pada antrian process status ready menjadi penuh, beberapa process dipindahkan ke status suspended ready
  7. Suspended Block : Ketika pada antrian process status waiting menjadi penuh.

Referensi