RSS
email

Sabtu, 18 Juni 2011

Pembuatan proses:

Penyebab terjadinya pembuatan suatu proses baru yaitu;
  1. Pada lingkungan batch, sebagai tanggapan atas pemberian suatu kerja (job)
  2. Pada lingkungan interaktif, ketika pemakai baru berusaha logon
  3. Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, SO dapat menciptakan proses yang akan mengelola pencetakan itu
  4. Proses menciptakan proses lain (child).
  5. Proses yang menciptakan child process disebut proses induk (parent process)
  6. Child process dapat menciptakan proses baru.
  7. Proses-proses dapat membentuk pohon hirarki proses
Suatu proses dapat membuat beberapa proses baru, melalui sistem pemanggilan pembuatan proses, selama jalur eksekusi. Pembuatan proses dinamakan induk proses, sebagaimana proses baru di sebut anak dari proses tersbut. Tiap proses baru tersebut dapat membuat proses lainnya, membentuk suatu pohon proses
Secara umum, suatu proses akan memerlukan sumber tertentu (waktu CPU, memori, berkas, perangkat I/O) untuk menyelesaikan tugasnya. Ketika suatu proses membuat sebuah subproses, sehingga subproses dapat mampu untuk memperoleh sumbernya secara langsung dari sistem operasi. Induk mungkin harus membatasi sumber diantara anaknya, atau induk dapat berbagi sebagian sumber (seperti memori berkas) diantara beberapa dari anaknya. Membatasi suatu anak proses menjadi subset sumber daya induknya mencegah proses apa pun dari pengisian sistem yang telalu banyak dengan menciptakan terlalu banyak subproses.
Sebagai tambahan pada berbagai sumber fisik dan logis bahwa suatu proses diperoleh ketika telah dibuat, data pemula (masukan) dapat turut lewat oleh induk proses sampai anak proses. Sebagai contoh, anggap suatu proses yang fungsinya untuk menunjukkan status sebuah berkas, katakan F1, pada layar terminal. Ketika dibuat, akan menjadi sebagai sebuah masukan dari proses induknya, nama dari berkas F1, dan akan mengeksekusi menggunakan kumpulan data tersebut untuk memperoleh informasi yang diinginkan. Proses tersebut juga mendapat nama dari perangkat luar. Sebagian sistem operasi melewati sumber-sumber ke anak proses. Pada sistem tersebut, proses baru bisa mendapat dua berkas terbuka yang baru, F1 dan perangkat terminal dan hanya perlu untuk mentransfer data antara kedua berkas tersebut.
Ketika suatu proses membuat proses baru, dua kemungkinan ada dalam term eksekusi:
  1. Induk terus menerus untuk mengeksekusi secara bersama-sama dengan anaknya.
  2. Induk menunggu sampai sebagian dari anaknya telah diakhiri/terminasi.
Juga ada dua kemungkinan dalam term dari address space pada proses baru:
  1. Anak proses adalah duplikat dari induk proses.
  2. Anak proses memiliki program yang terisikan didalamnya.
Langkah-langkah dalam pembuatan proses, antara lain :
  • Memberi identitas (nama) pada proses yang dibuat.
  • Menyisipkan proses pada list proses atau tabel proses.
  • Menentukan prioritas awal proses.
  • Membuat PCB.
  • Mengalokasikan resource awal bagi proses tersebut.
Penghentian Proses
Suatu proses akan berhenti jika telah menyelesaikan pernyataan terakhir dan meminta pada sistem operasi untuk menghapusnya dengan menggunakan system call exit. Proses mengembalikan semua data (output) ke parent proses melalui system call wait. Kemudian proses akan dihapus dari list atau tabel system dilanjutkan dengan menghapus PCB.
Penghapusan proses ini akan menjadi sangat kompleks jika ternyata proses yang akan dihentikan tersebut membuat proses-proses yang lain. Pada beberapa system proses-proses anak akan dihentikan secara otomatis jika proses induknya berhenti. Namun ada beberapa sistem yang menganggap bahwa proses anak ini terpisah dengan induknya, sehingga proses anak tidak ikut dihentikan secara otomatis pada saat proses induk dihentikan.
Alasan lain Penyebab terjadinya penghentian suatu proses:
  1. Apabila Proses selesai mengerjakan tugasnya(selesai normal)
  2. Apabila Proses berjalan melebihi batas waktu
  3. Jika memory tidak tersedia
  4. Pelanggaran terhdap batas memori
  5. Terjadi kesalahan karena pelanggaran proteksi
  6. Terjadi kesalahan perhitungan
  7. Jika terjadi proses menunggu terlalu lama
  8. Terjadi kegagalan I/O
  9. Jika proses mengeksekusi instruksi yang tidak ada
  10. Proses menggunakan instruksi yang disimpan untuk SO
  11. Terjadi kesalahan penggunaan data
  12. Terjadi intervensi dari operator atau SO (contoh : deadlock)
  13. Jika proses induk berahir
  14. Yang terakhir atas permintaan proses induk
Indikasi dapat berupa :
  1. Instruksi HALT membangkitkan sustu interupsi alert untuk SO
  2. Aksi pengguna (seperti log off dan keluar dari suatu aplikasi)
  3. Terjadi suatu kesalahan atau error
  4. Dihentikan oleh proses induk

Tidak ada komentar:

Posting Komentar