Rabu, 21 Januari 2015

Diagram State Proses

 PROSES PELANJUTAN KEMBALI (RESUME A PROCESS )

Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses dapat di- suspendagar di-resume setelah masalab diselesaikan.

Pemakai yang ragu/khawatir mengenai basil proses dapat men-suspend proses [bukanmembuang (abort) proses]. Saat pemakai yakin proses akan berfungsi secara benar makadapat me-resume (melanjutkan kembali di instruksi saat di-suspend) proses yang di-suspend.

Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapal di-suspend dan di- resume saat beban kembali ke tingkat normal.5.

Diagram State
Proses
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglej_0wTlUYuf1hqFDRgILaLz2YfQbWev0O7ryZnUuIBNFDlkGX8I7rU7vLc7KFJIs3hUNCmoQ-BHO5PpWf-YWOM7MXnpeuHHUjOYvSvMVVHMEoqHO1KvImuO7T5F4JDDAHm5E-okR4qc/s1600/download.jpgDescription: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMpibQmDP6qrTTU0gXVVofaB8NeeMphjI9EogEiC2rN4tsOQrh6rCnKitFltdEg-HsecZusG_4mZMBGQoarYoaskmaOaVygDu4nt-Mm1l0tJTpG_wWdBRBVnVvYXqZfJGZ4_TjwJfGGEA/s1600/S.jpgPenciptaan Proses
Induk terus menerus untuk mengeksekusi secara bersama-sama dengan anaknya.
Induk menunggu sampai sebagian dari anaknya telah diakhiri/terminasi.
Anak proses adalah duplikat dari induk proses.
Anak proses memiliki program yang terisikan didalamnya.
Penghancuran/Terminasi Proses
Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses
dapat disuspend agar diresume setelah masalah diselesaikan. Contoh :Pada proses pencetakan, bila tiba-tiba kerta habis maka proses disuspend. Setelah kertas dimasukkan kembali, proses pun dapat diresume.
Pemakai yang ragu/khawatir mengenai hasil prose dapat mensuspend proses (bukan membuang (abort) proses). Saat pemakai yakin proses akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di instruksi saat disuspend) proses yang disuspend.
Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapat disuspend dan diresume saat beban kembali ke tingkat normal.
Suspended ready
Suspended blocked
Pada sistem monoprocessor, proses running dapat mensuspend dirinya sendiri karena tak ada proses lain yang juga running yang dapat memerintahkan suspend.
Pada sistem multiprocessor, proses running dapat disuspend proses running lain pada pemroses berbeda. Proses ready hanya dapat di suspend oleh proses lain.
Pada proses blocked terdapat transisi menjadi suspendedblocked. Pilihan ini dirasa aneh.Apakah tidak cukup menunggu selesainya operasi masukan/keluaran atau kejadian yangmembual proses ready atau suspendedready? Bukankah state blocked, readyblocked,suspendedblocked sama-sama tidak mendapatjatah waktu pemroses ?Kenapa dibedakan ?JAWABAN
Proses blocked di-suspend sistem atau secara manual menjadi suspendedblocked. Bilaakhirnya operasi masukan/keluaran berakhir maka segera proses suspendedblockedmengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisisegera dilakukan. Suspend dan resume dapat digunakan untuk menyeimbangkan bebansistem saat mengalami lonjakan di atas normal.7.
Proses dapat berubah status dan berpindah dari satu antrian ke antrian yang laina.
Proses dengan status “ready” berada di ReadyQueue 

Menurut Tanenbaum, Diagram State terdiri dari 3 keadaan:
Menurut Tanenbaum
Ready: proses diberhentikan sementara karena menunggu proses lain untuk dieksekusi.
Running: proses dijalankan dengan menggunakan CPU pada suatu waktu.
Blocked: tidak dijalankan sampai event dari luar yang berhubungan dengan proses tersebut terjadi.

Menurut Silberschatz, Diagram State terdiri dari 5 keadaan
1. New: status yang dimiliki pada saat proses baru saja dibuat.
2. Running: status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi.
3. Waiting: status yang dimiliki pada saat proses menunggu suatu event (contohnya: proses I/O).
4. Ready: status yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor.
5. Terminated: status yang dimiliki pada saat proses telah selesai dieksekusi.
Operasi-operasi pada Proses
> Penciptaan proses (create a process).
> Penghancuran/terminasi proses (destroy a process).
> Penundaan proses (suspend a process).
> Pelanjutan kembali proses (resume a process).
> Penjadwalan proses (schedule a process).
> Pengubahan prioritas proses (change schedule)
> Mem-block proses (blocking a process)
> Interaksi 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:
Juga ada dua kemungkinan dalam term dari address space pada proses baru:
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)
Penghancuran lebih rumit bila proses telah menciptakan prose-proses lain.terdapat 2 pendekatan,yaitu:
-         Pada beberapa sistem,proses-proses turunan dihancurkan saat proses induk di hancurkan secara otomatis.
-         Beberapa sistem lain menganggap proses anak independen terhadap proses induk sehingga proses anak tidak secara otomatis di hancurkan saat proses induk di hancurkan.
Alasan-alasan penghancuran proses (penyebab terminasi):
1.selesainya proses secara normal
Proses mengeksekusi panggilan layanan sistem operasi untuk menandakan bahwa proses telah berjalan secara lengkap.
2.batas waktu terlewati
    Proses telah berjalan melebihi batas waktu total yg dispesifikasikan.
3.Memori tidak tersedia
Proses memerlukan memori lebih banyak dari pada yang dapat disediakan sistem.
4.Pelanggaran terhadap batas memori
    Proses mencoba mengakses lokasi memori yang tidak di izinkan di akses
5.Terjadi kesalahan karena pelanggaran proteksi
Proses berusaha menggunakan sumber daya atau file yang tidak di ijinkan di pakainya,atau proses mencoba menggunakannya tidak untuk peruntukkannya,seperti menulis file read-only.
6.Terjadi kesalahan aritmatika
Proses mencoba perhitungan terlarang,seperti pembagiaan dengan nol atau mencoba menyimpan angka yang lebih besar dari pada yang di akomodasi oleh perangkat keras.
7.Waktu tel;ah kadaluwarsa
Proses telah menunggu lebih lama dari pada maksimum yang di tentukan untuk terjadinya suatu kejadian spesifik.
8.Terjadi kegagalan masukan/keluaran
Kesalahan muncul pada masukan atau keluaran,seperti ketidakmampuan menemukan file,kegagalan membaca atau menulis setelah sejumlah maksimum percobaan di tentukan (misal : area rusak didapatkan pada disk,atau operasi tak valis seperti membaca dari line printer).
Penundaan (suspend)
 adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak.
Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain meresume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber daya-sumber daya bergantung sifat masing-masing sumber daya. Memori utama seharusnya segera dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan kembali) proses, yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.
Operasi suspend dan resume penting, sebab :
Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu :
Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain.
PROSES PELANJUTAN KEMBALI (RESUME A PROCESS )


·        Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses dapat di- suspendagar di-resume setelah masalab diselesaikan.
·        Pemakai yang ragu/khawatir mengenai basil proses dapat men-suspend proses [bukanmembuang (abort) proses]. Saat pemakai yakin proses akan berfungsi secara benar makadapat me-resume (melanjutkan kembali di instruksi saat di-suspend) proses yang di-suspend.
·        Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapal di-suspend dan di- resume saat beban kembali ke tingkat normal.5.

PROSES BLOCKED

"Karena penyelesaian operasi masukan/keluaran bagi proses blocked mungkin tak pernahterjadi atau dalam waktu tak terdefinisikan sehingga lebih baik di-suspend agar sumber daya-sumber daya yang dialokasikan untuk proses tersebut dapat digunakan proses-proses lain."


MENJADWALKAN PROSES




Menunggu giliran/dipilih oleh scheduler => menggunakan CPUb.
2. Selama eksekusi (status
“run”) events yang dapat terjadi:
I/O request => I/O wait berada pada DeviceQueueii.
Create “child” proses => Jalankan proses “child”, tunggu sampai proses selesai
(wait)iii.
Time slice expired => Waktu pemakaian CPU habis, interrupt oleh scheduler,proses akan berpindah ke ReadyQueue8.
KOMUNIKASI ANTAR PROSES

(1)(
Inter Process Communinication / IPC) 
x

Tidak ada komentar:

Posting Komentar