200 likes | 436 Views
SISTEM OPERASI. Suratman suratman8@gmail.com 0878-234-1196. Proses and Thread. Proses
E N D
SISTEM OPERASI Suratman suratman8@gmail.com 0878-234-1196
Proses and Thread Proses • Satuselinganpadadiskusikitamengenaisistemoperasiyaitubahwaadasebuahpertanyaanmengenaiapauntukmenyebutsemuaaktivitas CPU. Sistem batch mengeksekusi jobs, sebagaimanasuatusistemtime-shared telahmenggunakan program pengguna, atautugas-tugas/ pekerjaan-pekerjaan. Bahkanpadasistemtunggal, seperti Microsoft Windows dan Macintosh OS, seorangpenggunamampuuntukmenjalankanbeberapa program padasaat yang sama: sebuah Word Processor, Web Browser, danpakete-mail. Bahkan jika pengguna dapat melakukan hanya satu program pada satu waktu, sistem operasi perluuntukmendukungaktivitas program internalnyasendiri, sepertimanagemenmemori. Dalambanyakhal, seluruhaktivitasiniadalahserupa, makakitamenyebutseluruh program itu proses-proses • (processes).Istilahjob dan proses digunakanhampirdapatdipertukarkanpadatulisanini. Walau kami pribadilebih
KonsepDasardanDefinisi Proses • Secara informal; proses adalah program dalameksekusi. Suatu proses adalahlebihdarikode program, dimanakadangkaladikenalsebagaibagiantulisan. Proses jugatermasukaktivitas yang sedangterjadi,sebagaimanadigambarkanolehnilaipada program counter danisidaridaftarprosesor/ processor’s register. Suatu proses umumnyajugatermasuk process stack, yang berisikan data temporer (sepertiparameter metoda, address yang kembali, danvariabellokal) dansebuah data section, yang berisikanvariabelglobal.
Keadaan Proses Sebagaimana proses bekerja, maka proses tersebutmerubah state (keadaanstatis/ asal). Status darisebuahproses didefinisikandalambagianolehaktivitas yang adadari proses tersebut. Tiap proses mungkin adalah satu dari keadaan berikut ini: • New: Proses sedangdikerjakan/ dibuat. • Running: Instruksisedangdikerjakan. • Waiting: Proses sedangmenunggusejumlahkejadianuntukterjadi (sepertisebuahpenyelesaian I/O ataupenerimaansebuahtanda/ signal). • Ready: Proses sedangmenungguuntukditugaskanpadasebuahprosesor. • Terminated: Proses telahselsesaimelaksanakantugasnya/ mengeksekusi.
Proses Control Block Tiap proses digambarkandalamsistemoperasiolehsebuah process control block (PCB) -jugadisebutsebuahcontrol block. Sebuah PCB ditunjukkandalamGambar 2-2. PCB berisikanbanyakbagiandariinformasiyang berhubungandengansebuah proses yang spesifik, termasukini: • Keadaan proses: Keadaanmungkin, new, ready, running, waiting, halted, danjugabanyaklagi. • Program counter: Counter mengindikasikan address dariperintahselanjutnyauntukdijalankanuntuk proses ini.
Proses Control Block •CPU register : Register bervariasidalamjumlahdanjenis, tergantungpadarancangankomputer. Register tersebuttermasuk accumulator, index register, stack pointer, general-puposes register, ditambahcode information padakondisiapa pun. Besertaandengan program counter, keadaan/ status informasiharusdisimpanketikagangguanterjadi, untukmemungkinkan proses tersebutberjalan/ bekerja dengan benar setelahnya (lihat Gambar 2-3). • Informasimanagemenmemori: Informasiinidapattermasuksuatuinformasisebagainilaidaridasardanbatas register, tabel page/ halaman, atautabelsegmentergantungpadasistemmemoriyang digunakan oleh sistem operasi (lihat Bab 4). • Informasipencatatan: Informasiinitermasukjumlahdari CPU danwakturiil yang digunakan, bataswaktu, jumlahakun, jumlah job atau proses, danbanyaklagi. • Informasi status I/O: Informasitermasukdaftardariperangkat I/O yang di gunakanpada proses ini, suatu daftar open berkas dan banyak lagi. • PCB hanyaberfungsisebagaitempatmenyimpan/ gudanguntukinformasiapa pun yang dapatbervariasi dari prose ke proses.
Thread • Model proses yang didiskusikansejauhinitelahmenunjukkanbahwasuatu proses adalahsebuahprogram yang menjalankaneksekusi thread tunggal. Sebagaicontoh, jikasebuah proses menjalankansebuahprogram Word Processor, adasebuah thread tunggaldariinstruksi-instruksi yang sedangdilaksanakan. • Kontrol thread tunggalinihanyamemungkinkan proses untukmenjalankansatutugaspadasatuwaktu. • Banyaksistemoperasi modern telahmemilikikonsep yang dikembangkan agar memungkinkansebuahproses untukmemilikieksekusi multithreads, agar dapatdapatsecaraterusmenerusmengetikdalamkarakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem operasi tersebut memungkinkanproses untukmenjalankanlebihdarisatutugaspadasatuwaktu. PadaBagian 2.5 akandibahas proses multithreaded.
Penjadualan Proses • Tujuandari multiprogramming adalahuntukmemilikisejumlah proses yang berjalanpadasepanjangwaktu, untukmemaksimalkanpenggunaan CPU. TujuandaripembagianwaktuadalahuntukmenggantiCPU diantara proses-proses yang begituseringsehinggapenggunadapatberinteraksidengansetiapprogram sambil CPU bekerja. Untuksistemuniprosesor, tidakakanadalebihdarisatu proses berjalan. • Jikaada proses yang lebihdariitu, yang lainnyaakanharusmenunggusampai CPU bebasdandapatdijadualkankembali.
PenjadualanAntrian • Ketika proses memasukisistem, merekadiletakkandalamantrian job. Antrianiniterdiridariseluruhproses dalamsistem. Proses yang hiduppadamemoriutamadansiapdanmenunggu/ wait untukmengeksekusidisimpanpadasebuahdaftarbernama ready queue. Antrianinibiasanyadisimpansebagaidaftarpenghubung. Sebuah header ready queue berisikanpenunjukkepada PCB-PCB awaldanakhir. • SetiapPCB ( Printed Circuit Board ) memiliki pointer field yang menunjukkan proses selanjutnyadalam ready queue. • Juga ada antrian lain dalam sistem. Ketika sebuah proses mengalokasikan CPU, proses tersebut berjalan/bekerjasebentarlaluberhenti, di interupsi, ataumenunggusuatukejadiantertentu, sepertipenyelesaian suatu permintaan I/O. Pada kasus ini sebuah permintaan I/O, permintaan seperti itu mungkinuntuksebuah tape drive yang telahdiperuntukkan, ataualat yang berbagi, sepertidisket. Karenaadabanyak proses dalamsistem, disketbisajadisibukdenganpermintaan I/O untukproses lainnya. Maka proses tersebutmungkinharusmenungguuntukdiskettersebut. Daftardari proses yang menungguuntukperalatan I/O tertentudisebutsebuah device queue. Tiapperalatanmemilikidevicequeuenya sendiri (Lihat Gambar 2-4).
Device QueveSumber Reprensentasiumumuntuksuatudiskusimengenaipenjadualan proses adalah diagram antrian, sepertipadaGambar 2-5. Setiapkotaksegiempatmenunjukkansebuahantrian. Duatipeantrianmenunjukanantrianyang siapdansuatuperangkat device queues. Lingkaranmenunjukkansumber-sumberyang melayanisistem. Sebuah proses barupertama-tama ditaruhdalam ready queue. Lalumenunggudalamready queue sampai proses tersebutdipilihuntukdikerjakan/lakukanatau di dispatched. Begituproses tersebutmengalokasikan CPU danmenjalankan/ mengeksekusi, satudaribeberapakejadiandapatterjadi. • Proses tersebut dapat mengeluarkan sebuah permintaan I/O, lalu di tempatkan dalam sebuah antrianI/O. • Proses tersebutdapatmembuatsubproses yang barudanmenungguterminasinyasendiri. 21 Bab 2. Proses dan Thread • Proses tersebutdapatdigantikansecarapaksadari CPU, sebagaihasildarisuatuinterupsi, dandiletakkan kembali dalam ready queue.
KETENTUAN Diagram AntrianSumber Dalamduakasuspertama, proses akhirnyabergantidari waiting state menjadi ready state, lalu diletakkankembalidalam ready queue. Sebuah proses meneruskansiklusinisampaiberakhir, disaat dimana proses tersebutdigantidariseluruh queue danmemiliki PCB nyadansumber-sumber/ resources dialokasikankembali.