A. Pengertian dari Management Proses
Proses adalah
sebuah program yang sedang dieksekusi atau program yang sedang dijalankan atau software yang sedang dilaksanakan
termasuk sistem operasi yang disusun menjadi sejumlah proses sequential. Sedangkan program adalah
kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi.
Proses berisi instruksi dan data. program counter
dan semua register pemroses, dan stack
berisi data sementara seperti parameter rutin, alamat pengiriman dan
variabel-variabel lokal.
Sedangkan manajemen proses merupakan
konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah
masalah utama dalam perancangan sistem operasi.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas
yang berkaitan dengan manajemen proses seperti:
1.
Membuat dan
menghapus proses pengguna dan sistem proses.
2.
Menunda atau
melanjutkan proses.
3.
Menyediakan
mekanisme untuk proses sinkronisasi.
4.
Menyediakan
mekanisme untuk proses komunikasi.
5.
Menyediakan
mekanisme untuk penanganan deadlock.
B.
Konsep Dasar Management Proses
1. Multiprogramming adalah
kegiatan menjalankan beberapa program pada memori pada satu waktu.
2. Multiprocessing adalah
manajemen banyak proses di komputer multiprocessor
(banyak pemroses di dalamnya). Dengan kata lain komputer dengan banyak pemroses
di satu sistem komputer dengan masing-masing pemroses melakukan pemrosesan
secara independen
3. Distributed
Processing adalah manajemen banyak proses yang dieksekusi di banyak
sistem komputer yang tersebar (terdistribusi).
C.
Komunikasi Antar Proses dan Penciptaan Proses
Sistem Operasi harus mendukung komunikasi antar proses
dan penciptaan proses oleh pemakai sehingga membantu menstrukturkan aplikasi.
1. Mekanisme proses untuk komunikasi dan
sinkronisasi aksi
a. Sistem Pesan – komunikasi proses satu
dengan yang lain dapat dilakukan tanpa perlu pembagian data.
b.
IPC menyediakan dua operasi :
1) send(message) –
pesan berukuran pasti atau variabel
2) receive(message)
3) Jika P dan Q
melakukan komunikasi, maka keduanya memerlukan :
a) Membangun jalur komunikasi diantara
keduanya
b) Melakukan pertukaran pesan melaui
send/receive
4) Implementasi
jalur komunikasi
a) physical (shared memory, hardware bus)
b) logical (logical properties)
2. Create and Destroyed Process
Penciptaan
proses terjadi karena terdapat batch baru. SO dengan kendali batch job, setelah
menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.
3. Penciptaan proses melibatkan banyak
aktivitas, yaitu :
a. Menamai (memberi identitas) proses.
b. Menyisipkan proses pada senarai proses
atau tabel proses.
c. Menentukan prioritas awal proses.
d. Menciptakan PCB.
e. Mengalokasikan sumber daya awal bagi
proses.
4. Penghancuran proses (destroyed) terjadi karena :
a. Selesainya proses secara normal.
b. Proses mengeksekusi panggilan layanan
SO untuk menandakan bahwa proses telah berjalan secara lengkap.
c. Batas waktu telah terlewati.
d. 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) .
e. Memori tidak tersedia.
f. Proses memerlukan memori lebih banyak
daripada yang dapat disediakan oleh sistem.
g. Pelanggaran terhadap batas memori.
h. Proses memcoba mengakses lokasi memori
yang tidak diijinkan untuk diakses.
i. Terjadi kesalahan karena pelanggaran
proteksi.
j. Proses berusaha menggunakan sumber daya
atau file yang tidak diijinkan dipakainya, atau proses mencoba menggunakannya
tidak untuk peruntukannya, seperti menulis file read only.
k. Terjadi kesalahan aritmatika.
l. Proses mencoba perhitungan terlarang,
seperti pembagian dengan nol, atau mencoba menyimpan angka yang lebih besar
daripada yang ddapat diakomodasi oleh H/W.
m. Waktu telah
kadaluwarsa.
n. Proses telah menunggu lebih lama
daripada maksimum yang telah ditentukan untuk terjadinya suatu kejadian
spesfiik.
o.
Terjadi kegagalan masukan/keluaran.
D.
Diagram State Proses
1.
Status
Proses
Terdapat tiga state
dasar dalam proses, yaitu running,
ready, dan blocked.
Keterangan:
1.
Proses
di blok untuk melayani input karena sumber daya yang diminta belum tersedia /
meminta layanan I/O sehingga menunggu kejadian muncul.
2.
Penjadwalan
mengambil proses lain.
3.
Penjadwalan
mengambil proses ini (baru).
4.
Input
telah tersedia.
2.
Peralihan
Status (State)
Terdapat transisi di antara state-state selama siklus
hidup proses, yaitu:
a. Proses
yang baru diciptakan akan segera mempunyai state Ready.
b. Proses
denagan state running →blocked
karena sumber daya yang diminta belum tersedia atau meminta layanan perangkat
masukan/keluaran sehingga menunggu kejadian muncul. Proses menunggu kejadian
alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait).
c. Proses
denagan state running → ready
karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk
proses tersebut telah habis (time-out).
d. Proses
denagan state blocked → ready
saat sumber daya yang diminta/diperlukan telah tersedia atau layanan perangkat
masukan/keluaran selesai (event occurs).
e. Proses
denagan state ready →running
karena penjadwal memutuskan penggunaan pemroses untuk proses itu karena proses
yang saat itu running berubah state (menjadi
ready atau blocked) atau telah menyelesaikan sehingga disingkirkan dari sistem
Proses menjadi mendapatkan jatah pemroses.
3.
Suspend dan Resume
Penundaan
(suspendsion) adalah operasi penting dan telah diterapkan dengan berbagai cara.
Penundaan biasanya berlangsung singkat. Proses yang ditunda (suspended process)
tidak berlanjut (resume). Untuk waktu jangka peanjang, sumber daya-sumber daya
proses dibebaskan (dilucuti). 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 di tunda (suspend). Setelah kertas dimasukkan kembali, proses pun dapat
di lanjutkan kembali (resume).
b. Pemakai
yang ragu/khawatir mengenai hasil suatu proses dapat mensuspend proses (bukan
langsung membuang (abort) proses). Saat pemakai yakin proses akan berfungsi
secara benar maka dapat me-resume (melanjutkan kembali di instruksi saat
di-suspend) proses yang di-suspend.
c.
Sebagai
tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapat
di-suspend dan di-resume saat beban kembali ke tingkat normal.
4.
Diagram State Proses
a.
Diagram
State Dasar (3 Proses)
Proses melewati serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan
state proses. Terdapat 3 state dasar yang dialami yaitu Running Iready dan Blocked.
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. Terdapat
5
state dasar yang dialami yaitu Running
Iready, Blocked, Suspendedready, dan Supendedblocked