MANAJEMEN PROSES
1. DEFINISI PROSES
Terdapat
beberapa definisi mengenai proses, antara lain :
a. Merupakan
konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah
masalah utama dalam perancangan sistem operasi.
b. Proses
adalah program yang sedang dieksekusi.
c. Proses
adalah unit kerja terkecil yang secara individu memiliki sumber daya dan
dijadwalkan oleh sistem operasi.
2. CONTENT PROSES
Proses berisi
instruksi, data, program counter, register pemroses, stack data, alamat
pengiriman dan variabel pendukung lainnya.
3. STATUS PROSES
Sebagaimana
proses bekerja, maka proses tersebut merubah state (keadaan statis/ asal).
Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada
dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan berikut
ini:
- New: Proses sedang dikerjakan/ dibuat.
- Running: Instruksi sedang dikerjakan.
- Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/Oatau penerimaan sebuah tanda/ signal).
- Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
- Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.
Nama-nama
tersebut adalah arbitrer/ berdasar opini,
istilah tersebut bervariasi disepanjang sistem operasi.
Keadaan yang mereka gambarkan ditemukan pada seluruh sistem. Namun, sistem
operasi tertentu juga lebih baik menggambarkan keadaan/ status proses. Adalah
penting untuk menyadari bahwa hanya satu
proses dapat berjalan pada prosesor mana pun pada
waktu kapan pun. Namun, banyak proses yang dapat ready atau waiting. Keadaan
diagram yang berkaitan dangan keadaan tersebut dijelaskan pada Gambar 1.
4. PROCESS CONTROL BLOCK
Tiap proses
digambarkan dalam sistem operasi oleh sebuah process control block (PCB) – juga
disebut sebuah control block. Sebuah PCB ditunjukkan dalam Gambar 2. PCB
berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses
yang spesifik, termasuk ini:
- Keadaan proses: Keadaan mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.
- Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk proses ini.
- CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer.
- Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register, ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya (lihat Gambar 3).Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi.
- Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
- Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang digunakan
- PCB hanya berfungsi sebagai tempat menyimpan/ gudang untuk informasi apapun yang dapat bervariasi dari prose ke proses.
5. PENJADWALAN PROSES
Tujuan dari multiprogramming adalah
untuk memiliki sejumlah proses yang berjalan pada sepanjang waktu, untuk
memaksimalkan penggunaan CPU.
Tujuan dari pembagian waktu adalah
untuk mengganti CPU diantara proses-proses yang begitu sering sehingga pengguna
dapat berinteraksi dengan setiap program sambil CPU bekerja. Untuk sistem
uniprosesor, tidak akan ada lebih dari satu proses berjalan. Jika ada proses
yang lebih dari itu, yang lainnya akan harus
menunggu sampai CPU bebas dan dapat dijadualkan
kembali.
Terdapat 3 konsep dasar Penjadwalan proses yaitu :
5.1 Penjadualan Antrian (Scheduling Queue)
Ketika proses
memasuki sistem, mereka diletakkan dalam antrian job. Antrian ini terdiri dari
seluruh proses dalam sistem. Proses yang hidup pada memori utama dan siap dan
menunggu/ wait untuk mengeksekusi disimpan pada sebuah daftar bernama ready
queue. Antrian ini biasanya disimpan sebagai daftar penghubung. Sebuah header
ready queue berisikan penunjuk kepada PCB-PCB awal dan akhir. Setiap PCB
memiliki pointer field yang menunjukkan proses selanjutnya dalam ready queue. Juga
ada antrian lain dalam sistem. Ketika sebuah proses mengalokasikan CPU, proses
tersebut berjalan/bekerja sebentar lalu berhenti, di interupsi, atau menunggu
suatu kejadian tertentu, seperti penyelesaian suatu permintaan I/O. Pada kasus
ini sebuah permintaan I/O, permintaan seperti itu mungkin untuk sebuah tape
drive yang telah diperuntukkan, atau alat yang berbagi, seperti disket. Karena
ada banyak proses dalam sistem, disket bisa jadi sibuk dengan permintaan I/O
untuk proses lainnya. Maka proses tersebut mungkin harus menunggu untuk disket
tersebut. Daftar dari proses yang menunggu untuk peralatan I/O tertentu disebut
sebuah device queue. Tiap peralatan memiliki device queuenya sendiri (Lihat
Gambar 4).
Reprensentasi umum untuk suatu diskusi mengenai penjadualan
proses adalah diagram antrian, seperti
pada Gambar 5. Setiap
kotak segi empat
menunjukkan sebuah antrian. Dua tipe antrian menunjukan antrian yang
siap dan suatu perangkat device queues. Lingkaran menunjukkan sumber-sumber yang melayani sistem. Sebuah proses baru
pertama-tama ditaruh dalam ready queue. Lalu menunggu dalam ready queue sampai proses tersebut dipilih
untuk dikerjakan/lakukan atau di dispatched. Begitu proses tersebut
mengalokasikan CPU dan
menjalankan/ mengeksekusi, satu
dari beberapa kejadian dapat terjadi.
Proses tersebut dapat
mengeluarkan sebuah permintaan I/O, lalu di tempatkan dalam sebuah antrian
I/O.
Proses tersebut
dapat membuat subproses
yang baru dan
menunggu terminasinya sendiri.
Proses tersebut dapat
digantikan secara paksa dari CPU, sebagai hasil dari suatu interupsi, dan diletakkan kembali dalam ready
queue.
Dalam dua
kasus pertama, proses akhirnya berganti dari waiting state menjadi ready state,
lalu diletakkan kembali dalam ready queue. Sebuah proses meneruskan siklus ini
sampai berakhir, disaat dimana proses tersebut diganti dari seluruh queue dan
memiliki PCB nya dan sumber-sumber/ resources dialokasikan kembali.
Tidak ada komentar:
Posting Komentar