Penjadwalan Processor Pada Sistem Operasi Linux
Konsep Proses Pada
Sistem Operasi Sistem operasi
mengeksekusi berbagai jenis program. Eksekusi proses dilakukansecara berurutan. Dalam suatu proses terdapat program
counter, stack dan
daerah data.
Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di
sistem operasi yang berkaitan dengan
urutan kerja yang dilakukan sistem komputer. Proses penjadwalan yang akan dibahas disini adalah proses
penjadwalan sistem operasi Solaris dan Linux.
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. Dengan cara men-switch CPU diantara proses, maka
akan berakibat sistem operasi bisa membuat
komputer produktif.
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. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai
kondisi-kondisi yang menyebabkan tertunda
dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori
sekunder agar tersedia ruang untuk proses-proses
lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang
tertunda dari memori utama ke memori sekunder
disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu
kondisi yang membuatnya tertunda hilang
dan dimasukkan kembali ke memori utama dan ready.
3. 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. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai
kondisi-kondisi yang menyebabkan tertunda
dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori
sekunder agar tersedia ruang untuk proses-proses
lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang
tertunda dari memori utama ke memori sekunder
disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu
kondisi yang membuatnya tertunda hilang
dan dimasukkan kembali ke memori utama dan ready. c. 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. Meskipun
tiap-tiap proses terdiri dari suatu kesatuan yang terpisah namun adakalanya proses-proses tersebut butuh
untuk saling berinteraksi. Satu proses bisa
dibangkitkan dari output proses lainnya sebagai input.
Pada saat
proses dieksekusi, akan
terjadi perubahan status. Status proses didefiniskan sebagai bagian dari aktivitas proses yang sedang
berlangsung saat ituditunjukkan diagram status proses. 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 :
Masing-masing proses
direpresentasikan oleh Sistem Operasi dengan menggunakan
Process Control Block (PCB). Informasi yang terdapat pada setiap proses meliputi :
a. Status Proses. New, ready, running, waiting dan terminated.
b. Program Counter. Menunjukkan alamat berikutnya yang akan
dieksekusi oleh proses tersebut.
c. CPU Registers. Register bervariasi tipe dan jumlahnya tergantung
arsitektur komputer yang
bersangkutan. Register-register
tersebut terdiri-atas: accumulator, index register, stack pointer, dan register
serbaguna dan beberapa informasi tentang kode kondisi.
Selama Program Counter berjalan, status
informasi harus disimpan pada saat terjadi interrupt.
d.
Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan
beberapa parameter penjadwalan yang lainnya.
e.
Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan limit register, page table, atau segment table
tergantung pada sistem memory yang
digunakan oleh sistem operasi.
f. Informasi Accounting. Informasi tersebut
berisi jumlah CPU dan real time yang
digunakan, time limits, account numbers, jumlah job atau proses.
g. Informasi Status I/O. Informasi tersebut
berisi deretan I/O device (seperti tape driver)
yang dialokasikan untuk proses tersebut,
deretan file yang dibuka.
Swithing proses dari
proses satu ke proses berikutnya, ditunjukkan seperti gambar berikut ini.
Post a Comment