1 Proses
description
Transcript of 1 Proses
-
2/27/2008STMIK-Bandung / JK1
ProsesProsesBy : Jajang Kusnendaremail : [email protected]
2/27/2008STMIK-Bandung / JK2
DefinisiDefinisil Secara informal; proses adalah program dalam
eksekusi. Suatu proses adalah lebih dari kodeprogram
l Proses juga termasuk aktivitas yang sedangterjadi, sebagaimana digambarkan oleh nilai padaprogram counter dan isi dari daftar prosesor/ processors register. Suatu proses umumnya jugatermasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuahdata section, yang berisikan variabel global.
-
2/27/2008STMIK-Bandung / JK3
KeadaanKeadaan ProsesProses
l Sebagaimana proses bekerja, maka prosestersebut merubah state (keadaan statis/ asal). Status dari sebuah prosesdidefinisikan dalam bagian oleh aktivitasyang ada dari proses tersebut.
l Tiap proses mungkin adalah satu darikeadaan berikut ini:
2/27/2008STMIK-Bandung / JK4
KeadaanKeadaan ProsesProsesl New: Proses sedang dikerjakan/ dibuat.l Running: Instruksi sedang dikerjakan.l Waiting: Proses sedang menunggu sejumlah
kejadian untuk terjadi (seperti sebuahpenyelesaian I/O atau penerimaan sebuah tanda/ signal).
l Ready: Proses sedang menunggu untukditugaskan pada sebuah prosesor.
l Terminated: Proses telah selsesai melaksanakantugasnya/ mengeksekusi.
-
2/27/2008STMIK-Bandung / JK5
KeadaanKeadaan ProsesProses
2/27/2008STMIK-Bandung / JK6
ProsesProses Control BlockControl Block
l Tiap proses digambarkan dalam sistemoperasi oleh sebuah process control block (PCB)
l PCB berisikan banyak bagian dariinformasi yang berhubungan dengansebuah proses yang spesifik, termasuk ini:
-
2/27/2008STMIK-Bandung / JK7
KeadaanKeadaan ProsesProsesl Keadaan proses: Keadaan mungkin, new, ready, running,
waiting, halted, dan juga banyak lagi.l Program counter: Counter mengindikasikan address dari
perintah selanjutnya untuk dijalankan untuk proses ini.l CPU register: Register bervariasi dalam jumlah dan jenis,
tergantung pada rancangan komputer. Register tersebuttermasuk accumulator, index register, stack pointer, general-puposes register, ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketikagangguan terjadi, untuk memungkinkan proses tersebutberjalan/ bekerja dengan benar setelahnya
2/27/2008STMIK-Bandung / JK8
KeadaanKeadaan ProsesProses
l Informasi managemen memori: Informasiini dapat termasuk suatu informasi sebagainilai dari dasar dan batas register, tabelpage/ halaman, atau tabel segmentergantung pada sistem memori yang digunakan oleh sistem operasi
l Informasi pencatatan: Informasi initermasuk jumlah dari CPU dan waktu riilyang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
-
2/27/2008STMIK-Bandung / JK9
KeadaanKeadaan ProsesProses
l Informasi status I/O: Informasi termasukdaftar dari perangkat I/O yang di gunakanpada proses ini, suatu daftar open berkasdan banyak lagi.
l PCB hanya berfungsi sebagai tempatmenyimpan/ gudang untuk informasi apapun yang dapat bervariasi dari prose keproses.
2/27/2008STMIK-Bandung / JK10
KeadaanKeadaan ProsesProses
-
2/27/2008STMIK-Bandung / JK11
ThreadsThreads
l Model proses yang didiskusikan sejauh initelah menunjukkan bahwa suatu prosesadalah sebuah program yang menjalankaneksekusi thread tunggal.
l Sebagai contoh, jika sebuah prosesmenjalankan sebuah program Word Processor, ada sebuah thread tunggal dariinstruksi-instruksi yang sedangdilaksanakan.
2/27/2008STMIK-Bandung / JK12
ThreadsThreadsl Kontrol thread tunggal ini hanya memungkinkan
proses untuk menjalankan satu tugas pada satuwaktu.
l Banyak sistem operasi modern telah memilikikonsep yang dikembangkan agar memungkinkansebuah proses untuk memiliki eksekusimultithreads, agar dapat dapat secara terusmenerus mengetik dalam karakter danmenjalankan pengecek ejaan didalam prosesyang sama. Maka sistem operasi tersebutmemungkinkan proses untuk menjalankan lebihdari satu tugas pada satu waktu.
-
2/27/2008STMIK-Bandung / JK13
PenjadwalanPenjadwalan ProsesProsesl Tujuan dari multiprogramming adalah untuk memiliki
sejumlah proses yang berjalan pada sepanjang waktu, untuk memaksimalkan penggunaan CPU.
l Tujuan dari pembagian waktu adalah untuk menggantiCPU diantara proses-proses yang begitu sering sehinggapengguna dapat berinteraksi dengan setiapprogramsambil CPU bekerja.
l Untuk sistem uniprosesor, tidak akan ada lebih dari satuproses berjalan. Jika ada proses yang lebih dari itu, yang lainnya akan harus menunggu sampai CPU bebas dandapat dijadualkan kembali.
2/27/2008STMIK-Bandung / JK14
PenjadwalanPenjadwalan ProsesProsesl Ketika proses memasuki sistem, mereka diletakkan dalam
antrian job. Antrian ini terdiri dari seluruh proses dalamsistem.
l Proses yang hidup pada memori utama dan siap danmenunggu/ wait untuk mengeksekusi disimpan padasebuah daftar bernama ready queue. Antrian ini biasanyadisimpan sebagaidaftar penghubung. Sebuah header ready queue berisikan penunjuk kepada PCB-PCB awaldan akhir.
l Setiap PCB memiliki pointer field yang menunjukkanproses selanjutnya dalam ready queue.
-
2/27/2008STMIK-Bandung / JK15
PenjadwalanPenjadwalan ProsesProsesl Begitu proses tersebut mengalokasikan CPU dan
menjalankan/ mengeksekusi, satu dari beberapakejadian dapat terjadi.
- Proses tersebut dapat mengeluarkan sebuahpermintaan I/O, lalu di tempatkan dalam sebuahantrian I/O.
- Proses tersebut dapat membuat subproses yang baru dan menunggu terminasinya sendiri.
- Proses tersebut dapat digantikan secara paksa dariCPU, sebagai hasil dari suatu interupsi, dandiletakkan kembali dalam ready queue.
2/27/2008STMIK-Bandung / JK16
KriteriaKriteria PenjadwalanPenjadwalan
l Adil (fairness)l Efisiensil Waktu Tanggap (respon time)l Turn Arround Time= waktu yang
dihabiskan dari saat program atau job mulai masuk ke sistem sampai prosesdiselesaikan sistem.
l Throughput= jumlah kerja yang dihasilkandalm satu unit waktu
-
2/27/2008STMIK-Bandung / JK17
StrategiStrategi PenjadwalanPenjadwalan
l Non preemptive = tidak dapat diselal Preemptive = dapat disela
2/27/2008STMIK-Bandung / JK18
AlgoritmaAlgoritma--algoritmaalgoritmaNon Preemptivel FIFO (First-in, First Out)l SJF (Shortest Job First)l HRN (Highest Ratio Next)l MFQ (Multiple Feedback Queues)Preemptivel RR (Round Robin)l SRF (Shortest Remaining First)l PS (Priority Schedulling)l GS (Guaranted Schedulling)
-
2/27/2008STMIK-Bandung / JK19
PenjadualPenjaduall Sebuah proses berpindah antara berbagai penjadualan
antrian selama umur hidupnya. Sistem operasi harusmemilih, untuk keperluan penjadualan, memprosesantrian-antrian ini dalam cara tertentu.
l Pemilihan proses dilaksanakan oleh penjadual yang tepat/ cocok.
l Dalam sistem batch, sering ada lebih banyak proses yang diserahkan daripada yang dapat dilaksanakan segera. Proses ini dipitakan/ disimpan pada suatu alat penyimpanmasal (biasanya disket), dimana proses tersebut disimpanuntuk eksekusi dilain waktu. Penjadualan long term, ataupenjadual job, memilih proses dari pool ini danmengisinya kedalam memori eksekusi.
2/27/2008STMIK-Bandung / JK20
AlihAlih KonteksKonteks (Context Switch)(Context Switch)
l Mengganti CPU ke proses lain memerlukanpenyimpanan suatu keadaan proses lama (state of old process) dan kemudian beralih ke prosesyang baru. Tugas tersebut diketahui sebagai alihkonteks(context switch).
l Alih konteks sebuah proses digambarkan dalamPCB suatu proses; termasuk nilai dari
l CPU register, status proses dan informasimanagemen memori.
-
2/27/2008STMIK-Bandung / JK21
AlihAlih KonteksKonteks (Context Switch)(Context Switch)l Ketika alih konteks terjadi, kernel menyimpan konteks
dari proses lama kedalam PCB nya dan mengisi konteksyang telah disimpan dari process baru yang telahterjadual untuk berjalan.
l Pergantian waktu konteks adalah murni overhead, karenasistem melakukan pekerjaan yang tidak perlu.
l Kecepatannya bervariasi dari mesin ke mesin, bergantungpada kecepatan memori, jumlah register yang harus dicopy, dan keberadaan instruksi khusus (seperti instruksitunggal untuk mengisi atau menyimpan seluruh register).
l Tingkat kecepatan umumnya berkisar antara 1 sampai1000 mikro detik.
2/27/2008STMIK-Bandung / JK22
OperasiOperasi ProsesProses
l Proses dalam sistem dapat dieksekusisecara bersama-sama, proses tersebut harusdibuat dan dihapus secara dinamis. Maka, sistem operasi harus menyediakan suatumekanisme umtuk pembuatan proses danterminasi proses.
-
2/27/2008STMIK-Bandung / JK23
OperasiOperasi ProsesProses
2/27/2008STMIK-Bandung / JK24
PembuatanPembuatan ProsesProses
l Suatu proses dapat membuat beberapaproses baru, melalui sistem pemanggilanpembuatan proses, selama jalur eksekusi.
l Pembuatan proses dinamakan indukproses, sebagaimana proses baru di sebutanak dari proses tersebut. Tiap proses barutersebut dapat membuat proses lainnya, membentuk suatu pohon proses
-
2/27/2008STMIK-Bandung / JK25
PembuatanPembuatan ProsesProsesl Ketika suatu proses membuat proses baru, dua
kemungkinan ada dalam term eksekusi:1. Induk terus menerus untuk mengeksekusi secara
bersama-sama dengan anaknya.2. Induk menunggu sampai sebagian dari anaknya
telah diakhiri/terminasi.Juga ada dua kemungkinan dalam term dari address
space pada proses baru:1. Anak proses adalah duplikat dari induk proses.2. Anak proses memiliki program yang terisikan
didalamnya.
2/27/2008STMIK-Bandung / JK26
TerminasiTerminasi ProsesProsesl Sebuah proses berakhir ketika proses tersebut
selesai mengeksekusi pernyataan akhirnya danmeminta sistem operasi untuk menghapusnyadengan menggunakan sistem pemanggilan exit.
l Pada titik itu, proses tersebut dapatmengembalikan data (keluaran) pada indukprosesnya (melalui sistem pemanggilan wait)
l Seluruh sumber-sumber dari proses-termasukmemori fisik dan virtual, membuka berkas, danpenyimpanan I/O di tempatkan kembali olehsistem operasi.
-
2/27/2008STMIK-Bandung / JK27
TerminasiTerminasi ProsesProsesl Ada situasi tambahan tertentu ketika terminasi terjadi.
Sebuah proses dapat menyebabkan terminasi dari proseslain melalui sistem pemanggilan yang tepat (contohabort).
l Biasanya, sistem seperti itu dapat dipanggil hanya olehinduk proses tersebut yang akan diterminasi. Bila tidak, pengguna dapat secara sewenang-wenang membunuh job antara satu sama lain.
l Catat bahwa induk perlu tahu identitas dari anaknya. Maka, ketika satu proses membuat proses baru, identitasdari proses yang baru diberikan kepada induknya.
2/27/2008STMIK-Bandung / JK28
TerminasiTerminasi ProsesProses
l Induk dapat menterminasi/ mengakhiri satu darianaknya untuk beberapa alasan, seperti:
l Anak telah melampaui kegunaannya atassebagaian sumber yang telah diperuntukkanuntuknya.
l Pekerjaan yang ditugaskan kepada anak telahkeluar, dan sistem operasi tidakmemeperbolehkan sebuah anak untukmeneruskan jika induknya berakhir.