penjadwalan dan interaksi proses

46
Penjadwalan dan Interaksi Proses Oleh : Wahyu Andhyka Kusuma 081233148591 [email protected]

Upload: kera

Post on 23-Feb-2016

106 views

Category:

Documents


1 download

DESCRIPTION

Penjadwalan dan Interaksi Proses. Oleh : Wahyu Andhyka Kusuma 081233148591 [email protected]. Definisi Proses . P roses merupakan program yang sedang dieksekusi. Status Proses . Diskusikan Permasalahan Berikut :. Fungsi Penjadwalan Proses - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Penjadwalan dan Interaksi Proses

Penjadwalan dan Interaksi ProsesOleh :Wahyu Andhyka [email protected]

Page 2: Penjadwalan dan Interaksi Proses

Definisi Proses •Proses merupakan program yang sedang

dieksekusi

Page 3: Penjadwalan dan Interaksi Proses

Status Proses

Page 4: Penjadwalan dan Interaksi Proses

Diskusikan Permasalahan Berikut :•Fungsi Penjadwalan Proses•Perbedaan Job Queue, Ready Queue dan

Device Queue•Proses Creation dan Proses Termination

Page 5: Penjadwalan dan Interaksi Proses

Penjadwalan Proses • Pada lingkungan multiprograming beberapa

proses harus dijadwalkan untuk memaksimalkan kinerja CPU

• Pada lingkungan time-shared, CPU sering di-switch diantara diantara proses dimana user harus berinteraksi untuk setiap program saat dirunning

• Pada sistem uniproses, tidak pernah terjadi lebih dari satu proses yang dirunning, bila terdapat banyak proses, harus menunggu sampai CPU bebas dan dapat dijadwalkan ulang

Page 6: Penjadwalan dan Interaksi Proses

Scheduling Queue•Secara umum antrian penjadwalan dapat

diklasifikasikan menjadi 3:▫Job Queue : antrian berisi semua proses yang

akan masuk sistem▫Ready Queue : tempat proses dimemori utama

yang menunggu dieksekusi▫Device queue : deretan proses yang menunggu

peralatan I.O•Setiap antrian disimpan sebagai linkedlist.

Header berisi pointer PCB pertama dan terakhir dari List

Page 7: Penjadwalan dan Interaksi Proses

Ready Queue dan Device Queue

Page 8: Penjadwalan dan Interaksi Proses

Diagram Antrian Penjadwalan Proses

Page 9: Penjadwalan dan Interaksi Proses

Scheduler•Scheduler dilibatkan untuk memilih

proses dari scheduling queue yang berbeda

•Secara umum terdapat 3 :▫Long Term Scheduler (Job Scheduler)▫Short Term Scheduler (CPU Scheduler)▫Medium Term Scheduler

Page 10: Penjadwalan dan Interaksi Proses

Long Term Scheduler•Proses pada sistem batch di-spool ke

mass-storage (disk)•Long Term Scheduler digunakan untuk

memilih proses dari pool dan menyimpan ke memory

•Long term Scheduler tidak sering dmengeksekusi, digunakan hanya jika proses meninggalkan sistem

Page 11: Penjadwalan dan Interaksi Proses

Short Term Scheduler• Short term scheduler digunakan untuk memilih

diantara proses yang siap dieksekusi dan salah satunya dialokasikan ke CPU

• Short term scheduler sering digunakan untuk memilih proses baru untuk CPU, broses dieksekusi hanya beberapa milidetik sebelum menunggu I.O

• Contoh : Jika Short term membutuhkan 10ms untuk memutuskan mengeksekusi 100ms maka 10/100 : 10% CPU digunakan untuk penjadwalan

Page 12: Penjadwalan dan Interaksi Proses

Medium term scheduler•Beberapa OS seperti time-sharing

membutuhkan penjadwalan level tambahan yang disebut medium term scheduler

Page 13: Penjadwalan dan Interaksi Proses

Operasi-Operasi Proses•Proses-proses dalam sistem dapat

dijalankan secara konkuren dan harus diciptakan serta dihapus secara dinamis.

•Sistem Operasi harus menyediakan mekanisme untuk proses creation dan termination

Page 14: Penjadwalan dan Interaksi Proses

Proses Creation•Satu proses dimungkinkan untuk

membuat sejumlah proses baru melalui system call create-process.

•Proses yang dibuat sebelumnya disebut parent process, sedangkan proses yang baru disebut childern process.

•Proses baru ini juga dimungkinkan membuat proses yang lebih baru lagi.

Page 15: Penjadwalan dan Interaksi Proses

Proses CreationPada saat sebuah proses membuat proses baru, terdapat dua kemungkinan pada proses eksekusi.▫Parent melanjutkan eksekusi secara konkuren dengan childern

▫Parent menunggu sampai beberapa atau semua childern terminate.

Page 16: Penjadwalan dan Interaksi Proses

Proses CreationTerdapat pula dua kemungkinan pada address space proses baru :▫Child process merupakan duplikat dari parent process

▫Child Process memiliki program untuk di-load ke dalam address space.

Page 17: Penjadwalan dan Interaksi Proses

Process Termination•Sebuah proses terminate ketika proses itu

selesai mengeksekusi instruksi terakhir dan meminta sistem operasi untuk menghapusnya melalui system call.

Page 18: Penjadwalan dan Interaksi Proses

Tahukah Kalian Apa beda dari

Penjadwalan Prosesdan

Penjadwalan CPU

Page 19: Penjadwalan dan Interaksi Proses

Konsep Penjadwalan CPU •Penjadualan CPU adalah basis dari multi

programming sistem operasi •Dengan men-switch CPU diantara proses,

sistem operasi dapat membuat komputer produktif

Page 20: Penjadwalan dan Interaksi Proses

Konsep Dasar Penjadwalan•Tujuan dari multi programming adalah

untuk mempunyai proses berjalan secara bersamaan

•Ketika suatu proses harus menunggu, Sistem operasi dapat saja akan menghentikan CPU dari suatu proses yang sedang dieksekusi dan memberikan sumberdaya kepada proses yang lainnya

Page 21: Penjadwalan dan Interaksi Proses

Konsep Dasar Penjadwalan•CPU adalah salah satu sumber dari

komputer yang penting yang menjadi sentral dari sentral penjadualan di sistem operasi

•Kapanpun CPU menjadi idle, sistem operasi harus memilih salah satu proses untuk masuk kedalam antrian ready (siap) untuk dieksekusi

Page 22: Penjadwalan dan Interaksi Proses

Penjadwalan Preemptive dan Non Preemptive•Penjadwalan preemptive :

Strategi yang mengijinkan proses yang sedang dieksekusi untuk ditangguhkan sementaradigunakan oleh windows 95 ke atas

•Penjadwalan non preemptive :Sekali CPU telah dialokasikan untuk sebuah proses, maka tidak dapat di ganggu digunakan oleh windows 3.X

Page 23: Penjadwalan dan Interaksi Proses

Kriteria Penjadualan •Algoritma penjadualan CPU yang berbeda

mempunyai property yang berbeda. •Dalam memilih algoritma yang digunakan

untuk situasi tertentu, kita harus memikirkan properti yang berbeda untuk algoritma yang berbeda.

•Banyak kriteria yang dianjurkan untuk membandingkan penjadualan CPU algoritma.

Page 24: Penjadwalan dan Interaksi Proses

Kriteria Penjadualan1. CPU utilization kita ingin menjaga CPU

sesibuk mungkin. CPU utilization akan mempunyai range dari 0 ke 100 persen. Di sistem yang sebenarnya seharusnya ia mempunyai range dari 40 persen samapi 90 persen

2. Throughput jika CPU sibuk mengeksekusi proses, jika begitu kerja telah dilaksanakan. Salah satu ukuran kerja adalah banyak proses yang diselesaikan per unit waktu, disebut througput. Untuk proses yang lama mungkin satu proses per jam ; untuk proses yang sebentar mungkin 10 proses perdetik.

Page 25: Penjadwalan dan Interaksi Proses

Kriteria Penjadualan3. Turnaround time dari sudut pandang

proses tertentu, kriteria yang penting adalah berapa lama untuk mengeksekusi proses tersebut. Interval dari waktu yang dijinkan dengan waktu yang dibutuhkan untuk menyelesaikan sebuah prose disebut turn around time. Turn around time adalah jumlah periode untuk menunggu untuk dapat ke memori, menunggu di ready queue, eksekusi di CPU, dan melakukan I/O

4. Waiting time algoritma penjadualan CPU tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau I/O; itu hanya mempengaruhi jumlah waktu yang dibutuhkan proses di antrian ready. Waiting time adalah jumlah periode menghabiskan di antrian ready.

Page 26: Penjadwalan dan Interaksi Proses

Kriteria Penjadualan5. Response time di sistem yang interaktif,

turnaround time mungkin bukan waktu yang terbaik untuk kriteria. Sering sebuah proses dapat memproduksi output diawal, dan dapat meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke user. Ukuran yang lain adalah waktu dari pengiriamn permintaan sampai respon yang pertama di berikan. Ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untu respon tersebut.

Biasanya yang dilakukan adalah memaksimalkan CPU utilization dan throughput, dan minimalkan turnaround time, waiting time, dan response time dalam kasus tertentu kita mengambil rata-rata.

Page 27: Penjadwalan dan Interaksi Proses

Dispatcher•Komponen yang lain yang terlibat dalam

penjadualan CPU adalah dispatcher yang berfungsi :▫Switching context▫Switching to user mode▫Lompat dari suatu bagian di progam user

untuk mengulang progam

Page 28: Penjadwalan dan Interaksi Proses

Algoritma Penjadualan•First-Come, First-Served

▫Algoritma ini akan mendahulukan proses yang lebih dulu datang

▫Kelemahan algoritma ini adalah waiting time rata-rata yang cukup lama

▫Muncul istilah convoy effect, dimana proses lain menunggu satu proses besar mengembalikan sumber daya CPU

▫Algoritma ini nonpreemptive

Page 29: Penjadwalan dan Interaksi Proses

Algoritma Penjadualan •Round-Robin Schedulling

▫Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum.

▫Jika time quantum-nya habis atau proses sudah selesai CPU akan dialokasikan ke proses berikutnya.

▫Tak ada proses yang diprioritaskan ▫Jika time quantum terlalu besar, sama saja

dengan algoritma first-come first-served, jika terlalu kecil akan semakin banyak peralihan proses sehingga banyak waktu terbuang

Page 30: Penjadwalan dan Interaksi Proses

Algoritma Penjadualan•Priority Schedulling

▫Algoritma ini memberikan skala prioritas kepada tiap proses

▫Proses yang mendapat prioritas terbesar akan didahulukan.

▫Algoritma ini dapat preemptive maupun nonpreeemptive

▫Kelemahan dari algoritma ini adalah proses dengan prioritas kecil tidak akan mendapat jatah CPU. Hal ini dapat diatasi dengan aging, yaitu semakin lama menunggu, prioritas semakin tinggi.

Page 31: Penjadwalan dan Interaksi Proses

Algoritma Penjadualan•Multilevel Queue Schedulling

▫Algoritma ini mengelompokkan antrian dalam beberapa buah antrian

▫Antrian-antrian tersebut diberi prioritas ▫Tiap antrian boleh memiliki algoritma yang

berbeda ▫Semakin tinggi tingkatan prioritasnya,

semakin besar jatah waktu CPU-nya

Page 32: Penjadwalan dan Interaksi Proses

Algoritma Penjadualan• Shortest-Job First Schedulling

▫ Proses diatur menurut panjang CPU burst berikutnya (lebih tepatnya shortest next CPU burst).

▫ Waiting time rata-rata dari algoritma ini sangat kecil, sehingga layak disebut optimal

▫ Kelemahan algoritma ini yaitu kita tak pernah tahu secara pasti panjang CPU burst proses berikutnya

▫ Algoritma ini dapat merupakan preemptive atau nonpreemptive. Jika preemptive, jika ada proses datang dengan sisa CPU burst yang lebih kecil daripada yang sedang dieksekusi, maka proses tersebut akan menggantikan proses yang sedang dieksekusi

Page 33: Penjadwalan dan Interaksi Proses

Beberapa istilah yg sering muncul•Average Turn Around Time

Rata-rata waktu total yg dibutuhkan sebuah proses dari datang sampai selesai dieksekusi oleh CPU

•Burst Time Waktu yg dibutuhkan utk mengeksekusi sebuah

proses

•Average Waiting TimeRata-rata waktu yang dihabiskan proses selama berada pada status ready ( menunggu eksekusi CPU )

Page 34: Penjadwalan dan Interaksi Proses

Algorithma Penjadwalan•First-Come, First-Served ( FCFS )

•Round Robin Schedulling

•Priority Schedulling

•Shortest-Job First Schedulling ( SJF )

•Multilevel Queue Schedulling

Page 35: Penjadwalan dan Interaksi Proses

First-Come, First-Served▫Algoritma ini akan mendahulukan proses

yang lebih dulu datang ▫Kelemahan algoritma ini adalah waiting

time rata-rata yang cukup lama ▫Muncul istilah convoy effect, dimana proses

lain menunggu satu proses besar mengembalikan sumber daya CPU

▫Algoritma ini nonpreemptive

Page 36: Penjadwalan dan Interaksi Proses

Contoh Kasus

Gant Chart :

P1 P2 P30 24 27 30

T T T

Waiting Time P1 = 0 | P2 = 24 – 1 = 23 | P3 = 27 – 2 = 25 Average Waiting Time = = 160 + 23 + 25

3Turn Around Time P1 = 24 | P2 = 27 – 1 = 26 | P3 = 30 – 2 = 28 Average Turn Arround Time = = 2624 + 26 + 28

3

PROSES BRUST TIME WAKTU KEDATANGANP1 24 0P2 3 1P3 3 2

Page 37: Penjadwalan dan Interaksi Proses

Round-Robin Schedulling▫Algoritma ini menggilir proses yang ada

di antrian. Proses akan mendapat jatah sebesar time quantum.

▫Jika time quantum-nya habis atau proses sudah selesai CPU akan dialokasikan ke proses berikutnya.

▫Tak ada proses yang diprioritaskan ▫Jika time quantum terlalu besar, sama

saja dengan algoritma first-come first-served, jika terlalu kecil akan semakin banyak peralihan proses sehingga banyak waktu terbuang

Page 38: Penjadwalan dan Interaksi Proses

Contoh Kasus

Waiting Time P1 = 0 + 3 + 3 = 6 | P2 = ( 3 - 1 ) + 3 = 5

Turn Around Time P1 = 15 | P2 = 12 – 1 = 11

PROSES

BRUST TIME WKT KEDATANGAN

P1 9 0P2 6 1

Time Quantum3

Gant Chart :

0 12 15

T T

3 6 9P1 P2 P1 P2 P1

Average Waiting Time = = 5.56 + 52

Average Turn Arround Time = = 1315 + 11 2

Page 39: Penjadwalan dan Interaksi Proses

Priority Schedulling▫Algoritma ini memberikan skala prioritas

kepada tiap proses ▫Proses yang mendapat prioritas terbesar akan

didahulukan. ▫Algoritma ini dapat preemptive maupun

nonpreeemptive ▫Kelemahan dari algoritma ini adalah proses

dengan prioritas kecil tidak akan mendapat jatah CPU. Hal ini dapat diatasi dengan aging, yaitu semakin lama menunggu, prioritas semakin tinggi.

Page 40: Penjadwalan dan Interaksi Proses

Contoh Kasus Priority Preemptive

Waiting Time P1 = 0 + ( 10 – 1 ) = 9 | P2 = 0 + ( 5 – 2 ) = 3 | P3 = 0

Turn Around Time P1 = 18 | P2 = 10 – 1 = 9 | P3 = 5 – 2 = 3

PROSES BRUST TIME WKT KEDATANGAN PRIORITYP1 9 0 3P2 6 1 2P3 3 2 1

Average Waiting Time = = 49 + 3 + 03

Average Turn Arround Time = = 1018 + 9 + 3 3

Gant Chart :

0

T T

5 1810P3 P2P

1

T

1

P2

2P1

Page 41: Penjadwalan dan Interaksi Proses

Contoh Kasus Priority Non-preemptive

Waiting Time P1 = 0 | P2 = ( 12 - 1 ) = 11 | P3 = ( 9 - 2 ) = 7

Turn Around Time P1 = 9 | P2 = 18 – 1 = 17 | P3 = 12 – 2 = 10

PROSES BRUST TIME WKT KEDATANGAN PRIORITYP1 9 0 3P2 6 1 2P3 3 2 1

Gant Chart :

0

T T

9 1812P3 P2P1

T

Average Waiting Time = = 60 + 11 + 73

Average Turn Arround Time = = 129 + 17 + 10 3

Page 42: Penjadwalan dan Interaksi Proses

Shortest-Job First Schedulling▫Proses diatur menurut panjang CPU burst

berikutnya (lebih tepatnya shortest next CPU burst).

▫Waiting time rata-rata dari algoritma ini sangat kecil, sehingga layak disebut optimal

▫Kelemahan algoritma ini yaitu kita tak pernah tahu secara pasti panjang CPU burst proses berikutnya

▫Algoritma ini dapat merupakan preemptive atau nonpreemptive. Jika preemptive, jika ada proses datang dengan sisa CPU burst yang lebih kecil daripada yang sedang dieksekusi, maka proses tersebut akan menggantikan proses yang sedang dieksekusi

Page 43: Penjadwalan dan Interaksi Proses

Contoh Kasus JFS Preemptive

Waiting Time P1 = 0 + ( 10 – 1 ) = 9 | P2 = 0 + ( 5 – 2 ) = 3 | P3 = 0

Turn Around Time P1 = 18 | P2 = 10 – 1 = 9 | P3 = 5 – 2 = 3

PROSES BRUST TIME WKT KEDATANGANP1 9 0P2 6 1P3 3 2

Average Waiting Time = = 49 + 3 + 03

Average Turn Arround Time = = 1018 + 9 + 3 3

Gant Chart :

0

T T

5 1810P3 P2P

1

T

1

P2

2P1

Page 44: Penjadwalan dan Interaksi Proses

Contoh Kasus SJF Non-preemptive

Waiting Time P1 = 0 | P2 = ( 12 - 1 ) = 11 | P3 = ( 9 - 2 ) = 7

Turn Around Time P1 = 9 | P2 = 18 – 1 = 17 | P3 = 12 – 2 = 10

PROSES BURST TIME WKT KEDATANGANP1 9 0P2 6 1P3 3 2

Gant Chart :

0

T T

9 1812P3 P2P1

T

Average Waiting Time = = 60 + 11 + 73

Average Turn Arround Time = = 129 + 17 + 10 3

Page 45: Penjadwalan dan Interaksi Proses

Multilevel Queue Schedulling▫Algoritma ini mengelompokkan antrian

dalam beberapa buah antrian ▫Antrian-antrian tersebut diberi prioritas ▫Tiap antrian boleh memiliki algoritma yang

berbeda ▫Semakin tinggi tingkatan prioritasnya,

semakin besar jatah waktu CPU-nya

Page 46: Penjadwalan dan Interaksi Proses

Latihan Soal…PROSES BRUST TIME PRIORITY WKT KEDATANGAN

P1 10 3 0P2 2 1 3P3 5 2 4

Gambar Gant Chart dan Tentukan Avg. Waiting Time serta Avg. Turn Arround Time dari ketiga proses di atas dengan algoritma :

a) FCFSb) SJF ( preemptive )c) Round-Robin, q = 2d) Round-Robin, q = 5e) Priority ( non-preemptive )