Manajemen Proses
Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan
instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses
membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut
dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat M/K.
Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan
atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi
akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses
lainnya.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen
proses seperti:
• Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas
mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian
mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan
untuk proses lainnya.
• Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus
dijalankan terlebih dahulu berdasarkan prioritas dari proses-proses yang ada. Apa bila
terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan
mendahulukan proses yang memiliki prioritas paling besar.
• Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur
jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan
terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur
urutan jalannya proses agar setiap proses berjalan dengan lancar
• Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan
mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi
(contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan
terganggunya proses lainnya.
• Menyediakan mekanisme untuk penanganan deadlock. Deadlock adalah suatu keadaan
dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa
dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses
lain. Saling menunggu inilah yang disebut deadlock(kebuntuan). Sistem operasi harus
bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi,
sistem operasi juga harus dapat memulihkan kondisi sistemnya.
Penjadwalan Proses
Ada tujuh criteria penjadwalan proses pada system operasi, yaitu sebagai berikut :
1. CPU Utilizatio, Kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan
mempunyai range dari 0 sampai 100 persen. Di sistem yang sebenarnya ia mempunyai
range dari 40 sampai 100 persen.
2. Throughput, Salah satu ukuran kerja adalah banyaknya proses yang diselesaikan per
satuan waktu. Jika kita mempunyai beberapa proses yang sama dan memiliki beberapa
algoritma penjadwalan yang berbeda, throughput bisa menjadi salah satu kriteria
penilaian, dimana algoritma yang menyelesaikan proses terbanyak mungkin yang
terbaik.
3. Turnaround Time, Dari sudut pandang proses tertentu, kriteria yang penting adalah
berapa lama untuk mengeksekusi proses tersebut. Memang, lama pengeksekusian
sebuah proses sangat tergantung dari hardware yang dipakai, namun kontribusi
algoritma penjadwalan tetap ada dalam lama waktu yang dipakai untuk menyelesaikan
sebuah proses. Misal kita memiliki sistem komputer yang identik dan proses-proses
yang identik pula, namun kita memakai algoritma yang berbeda, algoritma yang
mampu menyelesaikan proses yang sama dengan waktu yang lebih singkat mungkin
lebih baik dari algoritma yang lain. Interval waktu yang diijinkan dengan waktu yang
dibutuhkan untuk menyelesaikan sebuah proses disebut turnaround time. Turnaround
time adalah jumlah periode untuk menunggu untuk dapat ke memori, menunggu di
ready queue, eksekusi CPU, dan melakukan operasi M/K.
4. Waiting Time, Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk
melaksanakan proses tersebut atau M/K, itu hanya mempengaruhi jumlah waktu yang
dibutuhkan proses di antrian ready. Waiting time adalah jumlah waktu yang dibutuhkan
proses di antrian ready.
5. Response Time, Di sistem yang interaktif, turnaround time mungkin bukan waktu yang
terbaik untuk kriteria. Sering sebuah proses dapat memproduksi output di awal, dan
dapat meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke
pengguna. Ukuran lain adalah waktu dari pengiriman permintaan sampai respon yang
pertama diberikan. Ini disebut response time, yaitu waktu untuk memulai memberikan
respon, tetapi bukan waktu yang dipakai output untuk respon tersebut.
6. Fairness, Suatu algoritma harus memperhatikan pengawasan nilai prioritas dari suatu
proses (menghindari terjadinya starvation CPU time).
7. Efisiensi, Rendahnya overhead dalam context switching, penghitungan prioritas dan
sebagainya menentukan apakah suatu algoritma efisien atau tidak.