Archive for the ‘3.2 PROCESS STATE’ Category

3.2 PROCESS STATE

Sebuah proses dapat memiliki tiga status utama yaitu:
– Running. Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi
– Waiting. Status yang dimiliki pada saat proses menunggu suatu sebuah event seperti proses M/K.
– Ready. Status yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor

A. Create and Destroyed Process

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 :
• Menamai (memberi identitas) proses.
• Menyisipkan proses pada senarai proses atau tabel proses.
• Menentukan prioritas awal proses.
• Menciptakan PCB.
• Mengalokasikan sumber daya awal bagi proses.
• 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.
Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :
• Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
• Beberapa sistem lain menganggap proses anak independen terhadap proses induk Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
• Sumber daya-sumber daya yang dipakai dikembalikan.
• Proses dihancurkan dari senarai atau tabel sistem.
• PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).

B. Diagram State Lanjut (5 Proses)
Penundaan (suspension) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat, sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak.
Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu :
• Suspendedready, Terjadinya suspen pada proses ready oleh proses lain dan transisi dari proses suspendedblocked
• Suspendedblocked, Terjadinya transisi suspen setelah proses bloked

Gambar diatas menunjukkan kemungkinan terjadinya proses transisi diantaranya sebagai berikut:

  • Null -New : Sebuah proses baru yang dibuat untuk menjalankan sebuah event terjadi program
  • New -Ready : proses akan berpindah ke tempat yang baru siap ketika sudah siap untuk melakukan proses tambahan. Kebanyakan sistem menetapkan beberapa batas berdasarkan jumlah proses yang ada atau jumlah memori virtual berkomitmen untuk proses yang ada.
  • Ready – Running : Ketika waktu untuk memilih menjalankan proses OS memilih salah satu proses di siap state. Pekerjaan ini yang menjadwal atau memberangkatkan.
  • Running -Exit : proses yang sedang berjalan diakhiri oleh OS jika proses menunjukkan bahwa ia telah selesai atau jika aborts.
  • Running – Ready :alasan yang paling umum untuk transisi ini adalah proses yang berjalan telah mencapai batas maksimum yang diijinkan untuk terganggu waktu pelaksanaan hampir semua sistem operasi multiprogramming menentukan jenis waktu yang tepat.
  • Running -Blocked : Sebuah proses diletakkan di Diblokir jika permintaan sesuatu yang harus menunggu. Permintaan untuk OS biasanya dalam bentuk sistem layanan panggilan yaitu panggilan dari program untuk menjalankan prosedur yang merupakan bagian dari sistem operasi kode.
  • Blocked -Ready : Sebuah proses blokir tersebut akan dipindahkan yang Siap saat acara yang telah menunggu terjadi.
  • Ready -Exit : Untuk jelasnya, transisi ini tidak akan ditampilkan pada diagram . Dalam beberapa sistem induk dapat proses setiap saat Juga jika induk terminates dihentikan maka semua proses yang terkait dengan induk tersebut akan dihentikan.
  • Blocked – Exit : Komentar di bawah item sebelumnya berlaku

C. Suspended Processes

Blocked -Blocked/Suspend : Jika tidak ada proses siap maka setidaknya satu diblokir proses swapped keluar untuk memberikan ruang bagi proses lain yang tidak diblokir. Transisi ini dapat dilakukan meskipun ada proses siap tersedia jika OS menentukan bahwa proses yang sedang berjalan atau siap proses yang ingin dispatch memerlukan memori lebih utama untuk mempertahankan performa yang memadai.

Blocked/Suspend -Ready/Suspend : Sebuah proses dalam Diblokir / Suspend negara tersebut akan dipindahkan ke Siap / Suspend saat acara yang telah menunggu terjadi. Perlu diketahui bahwa yang memerlukan informasi mengenai proses harus ditangguhkan diakses OS.

Ready/Suspend – Ready : Bila tidak ada siap proses di memori utama OS perlu membawa satu untuk melanjutkan eksekusi. Selain itu mungkin dengan kasus yang di proses Siap / Suspend negara memiliki prioritas lebih besar dari salah satu proses di Siap negara.

Ready -Ready/Suspend: Biasanya OS memilih untuk menunda proses yang diblokir daripada satu siap karena proses siap sekarang dapat dijalankan sedangkan yang diblokir adalah proses mengambil atas ruang memori utama dan tidak dapat dijalankan. Namun mungkin perlu menangguhkan yang siap jika proses yang satu-satunya cara untuk membebaskan yang cukup besar blok utama memory.

New – Ready/Suspend and New – Ready : Ketika sebuah proses baru dibuat maka dapat ditambahkan ke antrian Siap atau Siap / Suspend antrian. Dalam kedua kasus sistem operasi harus membuat proses kontrol blok dan mengalokasikan ruang alamat untuk proses.

Blocked/Suspend -Blocked : Pencantuman ini tampaknya transisi jika proses belum siap untuk dijalankan dan belum di utama memori tetapi mempertimbangkan skenario berikut Sebuah proses terminates freeing beberapa memory.memory utama akan memproses dalam (Diblokir / Suspend) antrian dengan prioritas yang lebih tinggi daripada salah satu dalam proses (Ready / Suspend) antrian dan OS memiliki alasan percaya bahwa memblokir kegiatan untuk proses yang akan terjadi segera. Berdasarkan kondisi ini akan tampak masuk akal untuk membawa ke dalam proses yang diblokir memori utama dalam preferensi yang siap untuk proses.

Running – Ready/Suspend:Biasanya yang menjalankan proses tersebut akan dipindahkan ke negara Siap jika alokasi waktu berakhir. Namun jika OS memproses yang lebih tinggi karena prioritas pada proses Diblokir / Suspend antrian menjadi baru saja dibuka, OS dapat memindahkan menjalankan proses langsung ke (Siap / Suspend) dan bebas antrian beberapa memori utama.

Any State – Exit: Biasanya, proses terminates ketika sedang berjalan baik karena telah selesai atau karena kondisi beberapa kesalahan fatal. Namun, dalam beberapa sistem operasi suatu proses dapat dihentikan oleh proses yang menciptakan.