• Ketika parent berakhir. So mungkin dirancannng secara otomatis mengakhiri semua anak proses dari parent itu.
  • Atas permintaan proses induk.
  • Parent process biasanya mempunyai otoritas mengakhiri suatu anak proses.

Keberadaan sistem operasi dalam sistem komputer adalah sebagai perangkat lunak yang mempunyai tugas mengendalikan dan mengkoordinasikan seluruh hardware dan software sebagai sumber daya komputer sekaligus memberikan pelayanan kepada program aplikasi dan pemrogram untuk memudahkan pemanfaatan sumber dayanya. Proses sebagai suatu entitas yang dinamis mengandung sejumlah instruksi, data, program counter, kumpulan register serta stack yang berisi alamat memori. Proses juga dapat dikatak sebagai program yang sedang dieksekusi (program aplikasi / sistem operasi). Proses dapat dikatakan sebagai unit kerja terkecil yang secara individu memiliki sumber daya – sumber daya dan dijadwalkan oleh sistem operasi.
Dengan demikian sistem operasi mempunyai kegiatan yang sangat kompleks dalam mengelola seluruh sumber daya dan memberikan pelayanan terhadap proses – proses sesuai kebutuhan. Kegiatan tersebut menjadikan sistem operasi membutuhkan suatu manajemen proses.
Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian tulisan-text adalah sama, data section bervariasi. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu ia bekerja.

Tahapan – Tahapan Status Proses :

  1. Proses yang baru diciptakan akan mempunyai kondisi status ready
  2. Proses ready menjadi running saat pemroses siap
  3. Proses running menjadi blocked saat sumber sedang melaksanakan tugas lain atau berhenti.
  4. Proses running menjadi ready karena waktu untuk proses sudah habis tapi tugas belum selesai  (terjadi time out).
  5. Proses blocked menjadi ready saat sumber daya sudah ada atau kerja dari perangkat I/O sudah selesai

Status Proses

Saat proses dieksekusi maka setiap proses akan mengalami perubahan status / kondisi. Jika dikelompokkan, maka perubahan status proses ada lima tahapan yaitu :

  1. New yaitu proses yang sedang dibuat.
  2. Running yaitu proses yang dapat dieksekusi karena CPU tidak ada tugas atau tugas selesai.
  3. Ready yaitu proses menuggu jatah waktu dari processor.
  4. Waiting yaitu proses sedang menunggu beberapa event.
  5. Terminated yaitu proses yang sudah selesai dieksekusi.

Process Control Block (PCB)

Sistem operasi dalam melaksanakan tugas pengendalian dan pelayanan proses (sebagai manajer dan pelayan) terhadap kerja sistem komputer memerlukan sejumlah informasi yang akurat. Informasi yang diperlukan sistem operasi tersedia dalam bentuk Process Control Block (PCB). Informasi dalam PCB dikelompokkan dalam tiga macam :

  1. . identifikasi proses yang menciptakan identifikasi pemakai
  2. Informasi status pemroses yaitu informasi tentang isi register yang berisi data saat running.
    register yang digunakan (AX,BX,CX,EAX,EBX).
    Register kendali dan status (program counter, PSW).
    Pointer stack
  3. Informasi kendali proses yaitu informasi yang diperluakan sistem operasi untuk manajemen proses. Informasi penjadwalan dan status [ prioritas dan kejadian ]
    manajemen memori.

Create and Destroyed Process

  1. 1. Pembuatan Proses (Create)

Penciptaan proses terjadi karena terdapat batch baru. SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.

Penciptaan proses melibatkan banyak aktivitas, yaitu :

  1. Menamai (memberi identitas) proses.
  2. Menyisipkan proses pada senarai proses atau tabel proses.
  3. Menentukan prioritas awal proses.
  4. Menciptakan PCB.
  5. Mengalokasikan sumber daya awal bagi proses.
    1. 2. Penghancuran Proses (Destroyed)

Penghancuran proses terjadi karena :

  • Selesainya proses secara normal.
  • Proses mengeksekusi panggilan layanan So untuk menandakan bahwa proses telah berjalan secara lengkap.
  • Batas waktu telah terlewati.
  • Proses telah berjalan melebihi batas waktu total yang dispesifikasikan. Terdapat banyak kemungkinan untuk tipe waktu yang diukur, termasuk waktu total yang dijalani (“walk clock time”) jumlah waktu yang dipakai untuk eksekusi, dan jumlah waktu sejak pemakai terakhir kali memberi masukan (pada proses interaktif) .
  • Memori tidak tersedia.
  • Proses memerlukan memori lebih banyak daripada yang dapat disediakan oleh sistem.
  • Pelanggaran terhadap batas memori.
  • Proses memcoba mengakses lokasi memori yang tidak diijinkan untuk diakses.
  • Terjadi kesalahan karena pelanggaran proteksi.
  • Proses berusaha menggunakan sumber daya atau file yang tidak diijinkan dipakainya, atau proses mencoba menggunakannya tidak untuk peruntukannya, seperti menulis file read only.
  • Terjadi kesalahan aritmatika.
  • Proses mencoba perhitungan terlarang, seperti pembagian dengan nol, atau mencoba menyimpan angka yang lebih besar daripada yang ddapat diakomodasi oleh H/W.
  • Waktu telah kadaluwarsa.
  • Proses telah menunggu lebih lama daripada maksimum yang telah ditentukan untuk terjadinya suatu kejadian spesfiik.
  • Terjadi kegagalan masukan/keluaran.
  • Kesalahan muncul pada masukan atau keluaran, seprti ketidakmampuan menemukan file, kegagalan membaca atau mennulis setelah sejumlah maksimum percobaan yang ditentukan (misalnya area rusak didapatkan pada tape,atau operasi tidak valid seperti membaca dari line printer).
  • Intruksi yang tidak benar.
  • Proses berusaha mengeksekusi instruksi yang tidak ada (sering sebagi akibat pencabangan ke daerah data dan berusaha mengeksekusi data tersebut).
  • Terjadi usaha memakai instruksi yang tidak diijinkan.
  • Proses berusaha mengeksekusi instruksi yang disimpan untuk SO.
  • Kesalahan penggunaan data.
  • Bagian data adalah tipe yang salah atau tidak diinisialisasi.
  • Diintervensi oleh SO atau operator.
  • Untuk suatu alasan, operator atau sistem operasi mengakhiri proses (misalnya terjadi deadlock).
  • Berakhirnya proses induk.
  • Ketika parent berakhir. So mungkin dirancannng secara otomatis mengakhiri semua anak proses dari parent itu.
  • Atas permintaan proses induk.
  • Parent process biasanya mempunyai otoritas mengakhiri suatu anak proses.

Threads

Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu.

agar dapat dapat secara terus menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu.

1.  Running, yaitu suatu kondisi pemroses sedang mengeksekusi instruksi. Benar-benar menggunakan CPU pada saat itu (sedang mengeksekusi instruksi proses itu).

2. Ready, yaitu suatu kondisi proses siap dieksekusi, akan tetapi pemroses belum siap atau sibuk.

3. Blocked, yaitu suatu proses menunggu kejadian untuk melengkapi tugasnya. Bentuk kegiatan menunggu proses yaitu : selesainya kerja dari perangkat I/Otersedianya memori yang cukup.

Implementasi Proses :

  • Untuk mengimplementasikan model proses, sistem operasi menggunakan suatu tabel / array yang disebut tabel proses dengan 1 entry per-proses.
  • Setiap entry berisi tentang : status proses, program counter, stack pointer, alokasi memori, status file, informasi schedulling / penjadwalan informasi, dll dari status kerja ke status siap.
  1. Penjadwalan Proses

Kriteria untuk mengukur dan optimasi kinerja penjadwalan :

a)      Adil (fairness)

Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu  pemroses yang sama dan tak ada proses  yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.

b)      Efisiensi (eficiency)

Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu

sibuk pemroses.

c)       Waktu tanggap (response time)

Waktu tanggap berbeda untuk :

1)      Sistem interaktif

Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari . perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time.

2)           Sistem waktu nyata

Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.

d)      Turn around time

Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu : Turn arround time = waktu eksekusi + waktu menunggu.

e)      Throughput

Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu