Sistem Komputer - Diagram state lanjut
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 :
a. 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.
b. 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.
c. Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa
proses dapat disuspend dan diresume saat beban kembali ke tingkat normal.
Gambar berikut menunjukkan modifikasi diagram state dengan memasukkan
kejadian suspend dan resume.
|
Diagram lima state proses |
Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu :
1. Suspended ready
2. Suspended blocked
Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain.
a. Pada sistem monoprocessor, proses running dapat mensuspend dirinya sendiri
karena tak ada proses lain yang juga running yang dapat memerintahkan
suspend.
b. 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 suspended blocked. Pilihan in dirasa
aneh. Apakah tidak cukup menunggu selesainya operasi masukan/keluaran atau
kejadian yang membuat proses ready atau suspended ready ?. Bukankah state
blockedm readyblockedm suspended blocked sama-sama tidak mendapat jatah
waktu pemroses ? Kenapa dibedakan ?
Alasannya, karena penyelesaian operasi masukan/keluaran bagi proses blocked
mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik
disuspend agar sumber daya-sumber daya yang dialokasikan untuk proses tersebut
dapat digunakan proses-proses lain. Untuk kondisi ini, lebih baik sumber daya-
sumber daya yang dipegang proses yang berkondisi seperti ini dipakai proses-
proses lain. Proses blocked disuspend sistem atau secara manual menjadi
suspended blocked.
Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspended
blocked mengalami transisi. Karena resume dan suspend mempunyai prioritas
tinggi maka transisi segera dilakukan. Suspend dan resume dapat digunakan untuk
menyeimbangkan beban sistem saat mengalami lonjakan di atas normal.
Program Control Block (PCB)
Struktur data PCB menyimpan informasi lengkap mengenai proses sehingga dapat
terjadi siklus hidup proses. Sistem operasi memerlukan banyak informasi mengenai
proses guna pengelolaan proses. Informasi ini berada di PCB. Sistem berbeda akan
mengorganisasikan secara berbeda.
Informasi dalam PCB :
1. Informasi identifikasi proses
Informasi ini berkaitan dengan identitas proses yang berkaitan dengan tabel
lainnya.
Informasi tersebut meliputi :
a. Identifier proses
b. Identifier proses yang menciptakan
c. Identifier pemakai
2. Informasi status pemroses
Informasi tentang isi register-register pemroses. Saat proses berstatus running,
informasi tersebut berada diregister-register. Ketika proses diinterupsi, semua
informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali. Jumlah dan jenis register yang terlibat tergantung arsitektur
komputer.
Informasi status terdiri dari :
a. Register-register yang terlihat pemakai
Adalah register-register yang dapat ditunjuk instruksi bahasa assembly
untuk diproses pemroses.
b. Register-register kendali dan status
Adalah register-register yang digunakan untuk mengendalikan operasi
pemroses.
c. Pointer stack
Tiap proses mempunyai satu atau lebih stack, yang digunakan untuk
parameter atau alamat prosedur pemanggil dan system call. Pointer stack
menunjukkan posisi paling atas dari stack.
3. Informasi kendali proses
Adalah informasi lain yang diperlukan sistem operasi untuk mengendalikan dan
koordinasi beragam proses aktif.
Informasi kendali terdiri dari :
a. Informasi penjadwalan dan status
Informasi-informasi yang digunakan untuk menjalankan fungsi penjadwalan,
antara lain :
- Status proses
Mendefinisikan keadaan/status proses (running, ready, blocked)
- Prioritas
Menjelaskan prioritas proses.
- Informasi berkaitan dengan penjadwalan
Berkaitan dengan informasi penjadwalan, seperti lama menunggu, lama
proses terakhir dieksekusi.
- Kejadian
Identitas kejadian yang ditunggu proses.
b. Penstrukturan data
Satu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring,
atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.
c. Komuikasi antar proses
Beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi
antara dua proses yang terpisah.
d. Manajemen memori
Bagian yang berisi pointer ke tabel segmen atau page yang menyatakan
memori maya (virtual memori) proses.
e. Kepemilikan dan utilisasi sumber daya
Sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
- Berkas yang dibuka
- Pemakain pemroses
- emakaian sumber daya lainnya. Informasi ini diperlukan oleh penjadwal.
Struktur citra proses digambarkan berurutan di satu ruang alamat. Implementasi
penempatan citra proses yang sesungguhnya bergantung skema manajemen
memori yang digunakan dan organisasi struktur kendali sistem operasi.
|
Proses pemakai |
Operasi-operasi pada proses
Sistem operasi dalam mengelola proses dapat melakukan operasi-operasi terhadap
proses. Operasi tersebut adalah :
- Penciptaan proses
- Penghancuran/terminasi proses
- Penundaan proses
- Pelanjutan kembali proses
- Pengubahan prioritas proses
- Memblok proses
- Membangunkan proses
- Menjadwalkan proses
- Memungkinkan proses berkomunikasi dengan proses lain
Sistem Komputer - Diagram state lanjut, klik sistem komputer untuk melanjutkan pembahasan kita.