Teknik Scheduling Pada Sistem Operasi

Post on 06-Aug-2015

20 views 0 download

Transcript of Teknik Scheduling Pada Sistem Operasi

Teknik Scheduling dalam

Sistem Operasi

Ir. Sihar, MT.

Program studi Teknik Informatika

Fak. Teknologi Informasi

Bandung – 2013

FTI306 Sistem Operasi (3 sks)

Daftar Pustaka

1) Patterson, D., Hennessy, J. Computer Organization

and Design, 3rd edition. Morgan Kaufman. 2004.

2) Silberschatz, A., Galvin, P.B., Gagne, G. Operating

Systems Concepts-seventh edition. John Wiley & Sons.

2005.

3) Simamora, S.N.M.P. Diktat CE112-Sistem Operasi.

Program studi T.Komputer. Politeknik TELKOM

Bandung. 2008.

4) Simamora, S.N.M.P. Diktat FTI306 Sistem Operasi.

Program studi T.Informatika. Fak.Teknologi Informasi.

Univ. BALE. Bandung. 2012.

5) Tanenbaum, A.S. Modern Operating Systems-third

edition. Prentice-Hall. 2009.

Penjadwalan (scheduling) dalam sistem operasi (sistem komputer) dapat

didefinisikan sebagai sejumlah keputusan dan mekanismenya untuk

memprioritaskan urutan task/job yang akan dilayani dimana berlangsung

secara periode waktu.

Tugas scheduling dilakukan oleh

scheduler dalam sistem operasi

memutuskan proses mana yang akan berjalan

memutuskan kapan dan berapa lama

process berjalan

Mekanisme scheduling yang dilakukan oleh scheduler dalam sistem operasi,

dikontrol berdasar 3 aspek, yaitu:

�Antrian (queueing): menunggu untuk dilayani

�Priority: masih dalam blok antrian untuk terlebih dahulu dilayani

�Preemptive: persyaratan/kondisional; suatu process dikondisikan preemptive

maka akan didahulukan untuk dilayani

Strategi scheduling

dilakukan dengan

cara:

Non-preemptive: process tidak dapat di-sela

(diinterupsi) oleh kondisi apa pun. Misalkan:

sebuah job yang telah diambil-alih oleh virus/trojan

tidak akan mungkin bisa dihentikan kecuali dengan

bruce-force mechanism.

Preemptive: saat process berjalan, dapat di-sela

(diinterupsi) oleh process yang lain, sehingga

process dengan status preemptive akan dilayani

terlebih dahulu sampai selesai. Misalkan: sebuah

download process yang bisa diasumsikan sebagai

job, saat sedang berjalan dapat di-sela (diinterupsi)

dengan dua kondisi yakni: subjektivitas end-user

atau temporary condition (kondisi jaringan atau

keterbatasan resources).

First-Come-First-Served (FCFS) yaitu:

yang pertama sekali datang adalah yang

pertama sekali dilayani.

First-Come-First-Served* (FCFS*) yaitu: yang pertama

kali datang yang akan dilayani terlebih dahulu dalam

waktu (perioda tertentu) yang disebut dengan

Quantum-Time (QT); jika belum selesai akan diantrikan

kembali.

Shortest-Job-First (SJF) yaitu proses

dengan waktu terpendek akan dipilih

(diprioritaskan) untuk dilayani sampai

selesai.

Shortest Remaining Time (SRT) yaitu

proses dengan periode waktu terpendek

akan diproditaskan untuk dilayani dalam

waktu tertentu (Quantum-Time, QT), jika

belum selesai akan dilayani kembali.

Untuk semua teknik

schedulling, job/task

dengan TKed=0

dijalankan terlebih

dahulu (algoritma

initialization)

Turn-Arround-Time (TAT) = )(1

∑=

+

N

i

DT ii

tt

tT = waktu-process

tD = waktu-tunggu

N = jumlah job/task

Metrici = job ke-i

Beban-Komputasi (Φ) = )}({1

1

∑=

+

N

i

DT ii

ttN

)(1

TATN

=

Kasus: Jika diketahui suatu sistem operasi dengan scheduling yang ditunjukkan pada

tabel berikut untuk masing-masing parameter TKed dan tT:

Diagram-state:

TAT-Jx = 4+0 = 4-ssw

TAT-Jy = 2+2 = 4-ssw

TAT-Jx1 = 3+1 = 4-ssw

TAT-Jx0 = 2+1 = 3-ssw

TAT-Jz = 2+2 = 4-ssw

543)43444(

5

1=++++=Φ

19)( =∑ TAT

Setiap job mulai

dikerjakan sesuai TKed

secara sekuensial

Diagram-state:

TAT-Jx = 4+2 = 6-ssw

TAT-Jy = 2+0 = 2-ssw

TAT-Jx1 = 3+3 = 6-ssw

TAT-Jx0 = 2+0 = 2-ssw

TAT-Jz = 2+2 = 4-ssw

4)42626(5

1=++++=Φ

20)( =∑ TAT

Setiap job mulai dikerjakan

sesuai TKed secara

sekuensial namun

berpenggalan berdasar QT

Diagram-state:

TAT-Jx = 4+4 = 8-ssw

TAT-Jy = 2+1 = 3-ssw

TAT-Jx1 = 3+3 = 6-ssw

TAT-Jx0 = 2+2 = 4-ssw

TAT-Jz = 2+3 = 5-ssw

515)54638(

5

1=++++=Φ

26)( =∑ TAT

Diagram-state:

TAT-Jx = 4+0 = 4-ssw

TAT-Jy = 2+2 = 4-ssw

TAT-Jx1 = 3+1 = 4-ssw

TAT-Jx0 = 2+1 = 3-ssw

TAT-Jz = 2+2 = 4-ssw

543)43444(

5

1=++++=Φ

19)( =∑ TAT Setiap job mulai dikerjakan

sesuai tT terkecil dengan

membandingkan setiap dua job

TKed berikutnya

Diagram-state:

TAT-Jx = 4+5 = 9-ssw

TAT-Jy = 2+0 = 2-ssw

TAT-Jx1 = 3+2 = 5-ssw

TAT-Jx0 = 2+2 = 4-ssw

TAT-Jz = 2+3 = 5-ssw

5)54529(5

1=++++=Φ

25)( =∑ TAT Setiap job mulai dikerjakan sesuai tTterkecil dengan membandingkan setiap

dua job TKed berikutnya secara

berpenggalan berdasar QT

Diagram-state:

TAT-Jx = 4+8 = 12-ssw

TAT-Jy = 2+4 = 6-ssw

TAT-Jx1 = 3+3 = 6-ssw

TAT-Jx0 = 2+5 = 7-ssw

TAT-Jz = 2+5= 7-ssw

5

37)776612(5

1=++++=Φ

38)( =∑ TAT

Kasus: Berdasar pada layanan pada sejumlah job/task oleh suatu sistem operasi

dengan scheduling yang ditunjukkan pada tabel berikut untuk masing-masing

parameter TKed dan tT:

b. Selisih (∆) tT Jx1 terhadap Jx0 untuk setiap teknik scheduling yang digunakan

adalah sama, yakni: |2-3| = 1-ssw

a. Selisih (∆) TAT Jx1 terhadap Jx0 untuk setiap teknik scheduling sbb:

∆ TAT FCFS = |4-3| = 1-ssw

∆ TAT FCFS* (QT=2) = |6-2| = 4-ssw

∆ TAT FCFS* (QT=1) = |6-4| = 2-ssw

∆ TAT SJF = |4-3| = 1-ssw

∆ TAT SRT (QT=2) = |5-4| = 1-ssw

∆ TAT SRT (QT=1) = |6-7| = 1-ssw

Kasus: Berdasar pada layanan pada sejumlah job/task oleh suatu sistem operasi

dengan scheduling yang ditunjukkan pada tabel berikut untuk masing-masing

parameter TKed dan tT:

Diagram-state:

TAT-Pa = 4+0 = 4-ssw

TAT-P1 = 4+2 = 6-ssw

TAT-P3 = 3+3 = 6-ssw

TAT-P2 = 2+3 = 5-ssw415)5664(

4

1=+++=Φ

21)( =∑ TAT

Diagram-state:

TAT-Pa = 4+2 = 6-ssw

TAT-P1 = 4+2 = 6-ssw

TAT-P3 = 3+5 = 8-ssw

TAT-P2 = 2+2 = 4-ssw

6)4866(4

1=+++=Φ

24)( =∑ TAT

Untuk Quantum-Time (QT) = 2-ssw

Diagram-state:

TAT-Pa = 4+0 = 4-ssw

TAT-P1 = 4+6 = 10-ssw

TAT-P3 = 3+0 = 3-ssw

TAT-P2 = 2+4 = 6-ssw4

35)63104(4

1=+++=Φ

23)( =∑ TAT

Diagram-state:

TAT-Pa = 4+7 = 11-ssw

TAT-P1 = 4+8 = 12-ssw

TAT-P3 = 3+4 = 7-ssw

TAT-P2 = 2+6 = 8-ssw429)871211(

4

1=+++=Φ

38)( =∑ TAT

Untuk Quantum-Time (QT) = 2-ssw