Status Proses

Status Proses
  • Selama suatu proses berjalan, terjadi perubahan status (state);
  1. new: proses baru dibuat
  2. running: Instruksi-instruksi dieksekusi
  3. Waiting atau blocked: proses menunggu beberapa kejadian
  4. ready: proses menunggu diberikan processor
  5. terminated: proses telah menyelesaikan eksekusi


Diagram Status Proses












Antrian Penjadwalan Proses
  • Job queue – himpunan semua proses dalam sistem
  • Ready queue – himpunan semua proses yang berada dalam memory utama, ready atau waiting untuk dieksekusi
  • Device queues – himpunan proses yang menunggu perangkat I/O
  • Proses-proses berpindah antar queue (antrian) berbeda


Scheduler (Pengatur Jadwal)
  • Long-term scheduler (job scheduler) – memilih proses mana yang akan dibawa ke dalam antrian ready
  • Short-term scheduler (CPU scheduler) – memilih proses mana yang akan dieksekusi berikutnya dan dialokasikan CPU

Scheduler
  • Short-term scheduler dijalankan sangat sering (mili detik)  (harus cepat)
  • Long-term scheduler dijalankan sangat jarang (detik, menit)  (mungkin lambat)
  • Long-term scheduler mengontrol tingkat multiprogramming
  • Proses dapat dideskripsikan sebagai :
  1. I/O-bound process – menghabiskan lebih banyak waktu melakukan I/O daripada komputasi, banyak CPU burst pendek
  2. CPU-bound process – menghabiskan lebih banyak waktu melakukan komputasi; sedikit CPU burst sangat panjang


Pembuatan Proses
  • Parent process (proses induk) membuat children processes (proses anak), pada gilirannya membuat proses lain sehingga membentuk suatu pohon proses
  • Proses diidentifikasi & dikelola melalui suatu process identifier (pid)
  • Berbagi-pakai resource (sumber daya) :
  1. Parent & children berbagi-pakai semua resource
  2. Children berbagi-pakai subset dari resource parentnya
  3. Parent & child tidak berbagipakai resource

  • Eksekusi
  1. Parent & children berjalan secara konkuren
  2. Parent menunggu sampai children berhenti
  • Adrress space (ruang alamat)
  1. Anak menyalin induk
  2. Anak mempunyai program yang dimuat ke dalamnya
  • Contoh di UNIX
  1. system call fork membuat proses baru
  2. system call exec digunakan setelah fork untuk menggantikan ruang memory proses dengan suatu program baru


Penghentian Proses
  • Proses mengeksekusi pernyataan terakhir & meminta SO untuk menghapusnya (exit)
  1. Data output dari anak ke induk (via wait)
  2. Resource induk didealokasikan oleh SO
  • Induk dapat menghentikan eksekusi proses anak (abort)
  1. Anak telah melebihi resource yang dialokasikan
  2. Task yang diberikan ke anak tidak dibutuhkan lagi
  3. Jika induk keluar (selesai)
  • Beberapa SO tidak membolehkan anak berjalan terus jika induknya berhenti
  1. Semua anak dihentikan - cascading termination

Kerjasama Proses
  • Proses Independent tidak dapat mempengaruhi atau dipengaruhi oleh eksekusi proses lain
  • Proses Cooperating dapat dipengaruhi atau dipengaruhi oleh eksekusi proses lain
  • Keuntungan dari kerjasama proses :
  1. Pemakaian informasi bersama
  2. Mempercepat komputasi
  3. Modularitas
  4. Kenyamanan



      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.

Tidak ada komentar:

Posting Komentar