´ Konsep Proses Pada Sistem Operasi
Sistem operasi
mengeksekusi berbagai jenis program. Pada sistem batch program tersebut
biasanya disebut dengan job, sedangkan pada sistem time sharing, program
disebut dengan program user atau task. Proses adalah program yang sedang
dieksekusi. Eksekusi proses dilakukan secara berurutan. Penjadwalan merupakan
kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan
urutan kerja yang dilakukan sistem komputer. Tujuan utama penjadwalan proses
optimasi kinerja menurut kriteria tertentu, dimana kriteria untuk mengukur dan
optimasi kerja penjadwalan. Penjadwalan CPU adalah basis dari multi programming sistem operasi.
´ Pada sistem Operasi, terdapat 3 tipe
penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
1. Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di
memori utama. Penjadwalan ini dijalankan setiap terjadi pengalihan proses untuk
memilih proses berikutnya yang harus dijalankan.
2. Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi
karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system
call.
3. Penjadwal jangka panjang (long term scheduller)
Penjadwalan ini bekerja terhadap antrian batch dan memilih batch berikutnya
yang harus dieksekusi. Batch biasanya berupa proses-proses dengan penggunaan
sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran),
program-program ini berprioritas rendah, digunakan sebagai pengisi (agar
pemroses sibuk) selama periode aktivitas job-job interaktif rendah.
´ Status proses didefiniskan sebagai bagian
dari aktivitas proses yang sedang berlangsung saat itu. Status proses terdiri
dari :
a. New, proses sedang dibuat.
b. Running,
proses sedang dieksekusi.
c. Waiting, proses sedang menunggu
beberapa event yang akan terjadi (seperti
menunggu untuk menyelesaikan I/O atau menerima sinyal).
d. Ready, proses menunggu jatah
waktu dari CPU untuk diproses.
e. Terminated, proses telah selesai
dieksekusi.
Secara blog diagram, maka dapat digambarkan sebagai berikut :
´ Kriteria Penjadwalan
Algoritma penjadwalan CPU yang berbeda akan memiliki perbedaan
properti. Ada beberapa kriteria yang
digunakan untuk melakukan pembandingan algoritma penjadwalan CPU, antara lain :
1. CPU utilization, diharapkan agar CPU selalu dalam keadaan sibuk. Utilitas
CPU dinyatakan dalam bentuk prosen yaitu 0-100%. Namun dalam kenyataannya hanya
berkisar antara 40-90%.
2. Throughput, adalah banyaknya proses yang selesai dikerjakan dalam satu
satuan waktu.
3. Turnaround time, banyaknya waktu yang diperlukan untuk mengeksekusi
proses, dari mulai menunggu untuk meminta tempat di memori utama, menunggu di
ready queue, eksekusi oleh CPU, dan mengerjakan I/O.
4. Waiting time, waktu yang diperlukan oleh suatu proses untuk menunggu di
ready queue. Waiting time ini tidak mempengaruhi eksekusi proses dan penggunaan
I/O.
5. Response time, waktu yang dibutuhkan oleh suatu proses dari minta
dilayani hingga ada respon pertama yang menanggapi permintaan tersebut.
6. Fairness, meyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian
waktupenggunaan CPU secara terbuka (fair).
´ Dispatcher adalah suatu modul yang akan
memberikan kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama
short-term scheduling. Fungsi-fungsi yang terkandung di dalamnya meliputi:
a. Switching context;
b. Switching ke user-mode;
c. Melompat ke lokasi
tertentu pada user program untuk memulai program. Waktu yang diperlukan oleh dispatcher untuk menghentikan
suatu proses dan memulai untuk menjalankan
proses yang lainnya disebut dispatch latency.
´ Algoritma penjadwalan, proses memerlukan
prosesor dan penjadwalan pemakaian prosesor. Penjadwalan proses didasarkan pada
sistem operasi yang menggunakan prinsip
multiprogramming. Dengan cara mengalihkan kerja CPU untuk beberapa
proses, maka CPU akan semakin produktif.
´ Implementasi pada sistem operasi Linux,
yaitu proses yang sedang terjadi, maka akan digunakan perintah ps. Apabila
belum tahu perintah ps itu digunakan untuk apa, maka kita bisa tanya ke library
Tidak ada komentar:
Posting Komentar