130 likes | 258 Views
Pertemuan 8. KONSEP PENJADWALAN. By: Asriadi. Pendahuluan.
E N D
Pertemuan8 KONSEP PENJADWALAN By: Asriadi
Pendahuluan Kita mengenal yang namanya multiprograming, yang bertujuan untuk memaksimalkan penggunaan CPU dengancaramengaturalokasiwaktu yang digunakanoleh CPU, sehingga proses berjalansepanjangwaktudanmemperkecilwaktuidle. Olehkarenaituperluadanyapenjadwalan proses-proses yang adapadasistem. Untuksistem yang hanyamempunyaiprosesortunggal (uniprosesor), hanyaadasatu proses yang dapatberjalansetiapwaktunya. Jikaada proses lebihdarisatumaka proses yang lain harusmenunggusampai CPU bebasdansiapuntukdijadwalkankembali.
PenjadwlalanAntrian Gambar: Device Queue
Ketikasebuah proses memasukisistem, proses itudiletakkan di dalamjob queue. Padaantrianiniterdapatseluruh proses yang beradadalamsistem. Sedangkan proses yang beradapadamemoriutama, siapdanmenungguuntukmengeksekusidisimpandalamsebuahdaftar yang bernamaready queue. Antrianinibiasanyadisimpansebagailinked list. Header dariready queue berisipointer untukPCB pertamadan PCB terakhirpada list. Setiap PCB memilikipointer field yang menunjukkepadaPCB untuk proses selanjutnyadalamready queue.
Penjadwalanproses dapatdirepresentasikansecaraumumdalambentuk diagram antrian, yang ditunjukkanolehGambar 13.2, “Diagram Antrian”. Setiapkotaksegiempatmenunjukkansebuahantrian. Duaantriandiantaranyamenunjukkanreadyqueue dan seperangkatdevicequeue. Lingkaranmenunjukkansumberdaya yang melayaniantriandantandapanahmengindikasikanalurdari proses-proses yang ada dalam sistem.
Umumnyaproses-proses yang adapadasistemakanadadalambeberapatahapantrianyaitujob queue, ready queue, dan device queue. Job queue, menyimpanseluruh proses yang beradapadasistem. Ketikasebuah proses memasukisebuahsistem, proses tersebutakandiletakkan di dalam job queue.
Proses-proses yang adamenunggu di dalam ready queue sampaidiadipilihuntukeksekusi, ataudi-dispatched. Begitu proses tersebut dipilih lalu dialokasikan ke CPU dan sedang berjalan, satu dari beberapakemungkinan di bawahinidapatterjadi. • Proses tersebutmengeluarkanpermintaan M/K, laluditempatakandalamsebuah M/K device queue. • Proses tersebutdapatmembuat sub-proses barudanmenungguuntuk di-terminasi. • Proses tersebutdikeluarkan (di-remove) secarapaksadari CPU, sebagaihasildarisuatuinterrupt dandiletakkankembalikedalam ready queue.
Penjadwalan Gambar: Medium-term Scheduler
Terdapatduajenis scheduler pada CPU yang umumdipakai, yaitu: • Long-Term Scheduler atau Job Scheduler yang bertugasmemilih proses daritempatinidanmengisinyakedalammemori. • Short-Term Scheduler atau CPU scheduler yang bertugasmemilih proses yang sudahsiapuntukmelakukaneksekusi,dandialokasikan di CPU untuk proses tersebut.
Secaraumum, proses pada Long-Term Scheduler dapatdibagimenjadidua, yaitu: • M/K Bound yaitu proses yang lebih banyak mengerjakan permintaan M/K dibandinkan komputasi. • CPU Bound yaitu proses yang lebihbanyakmengerjakankomputasidibandingkanpermintaan M/K.
Context Switch MenggantiCPU ke proses lain memerlukanpenyimpanankeadaandari proses lama danmengambilkeadaandari proses yang baru. Hal inidikenaldengansebutancontext switch. Context switch sebuahproses direpresentasikandalam PCB darisuatu proses; termasuknilaidari CPU register, status proses daninformasimanajemenmemori.