Penjadwalan Sistem Interaktif
Penjadwalan Round-Robin Setiap proses diberi interval waktu, disebut quantum, waktu untuk run. Pertukaran penggunaan CPU dari satu proses ke proses berikutnya membutuhkan waktu untuk tugas administrasi, yaitu : Saving dan loading registers dan memory map, updating beberapa tabel dan list, dll. Proses pertukaran ini disebut process-switch atau context-switch. Apakah proses-switch memerlukan waktu ??
Penjadwalan Round-Robin
Apa untung rugi nya kalau waktu quantum di buat besar atau kecil ?: Contoh : Misal proses switching => 1 msec, Waktu quantim => 100 msec. ((1/101)*100%) < 1% sangat efisien tetapi response time (interactive) jelek Misal proses switching => 1 msec, Waktu quantim => 10 msec. ((1/11)*100%) => 10% untuk admninistrative
Penjadwalan Prioritas Proses dengan prioritas tertinggi di run terlebih dulu. Untuk mencegah proses dengan prioritas tertinggi di run tanpa batas, maka digunakan clock-interrupt untuk menurunkan prioritas proses yang sedang run. Penjadwalan prioritas di lakukan dalam kelas-kelas. Perhitungan prioritas biasanya dihitung dgn rumus 1/f. (f=presentase dari waktu quantum yg telah digunakan)
Penjadwalan Prioritas Contoh: Quantum=50 msec, baru di running 1 msec, di block. maka f=(1/50), Prioritas = 50. Contoh: Quantum=50 msec, baru dirunning 25 msec, di block. maka f=25/50, Prioritas = 2.
Penjadwalan Prioritas
Penjadwalan yg lain : Shortest Process Next Guaranteed Scheduling Untuk terminal Pengembangan dari SJF untuk sistem interactive Menjalankan proses dengan estimasi running time yg terpendek. Guaranteed Scheduling Jika ada n user setiap user seharusnya 1/n * CPU Time Ratio = (waktu yg dipakai/waktu seharusnya) Dipilih Ratio yang paling kecil Apa arti Ratio = 0.5 ?? Apa arti Ratio = 2.0 ??
Penjadwalan yg lain : Lottery Scheduling Fair-Share Scheduling Contoh: 2 user (CPU Time : @ 50 %), Jika user1 mempunyai proses A,B,C,D dan user2 mempunyai proses E, urutan sbb: A,E,B,E,C,E,D,E Penjadwalan Sistem Real-Time m periodic events. event i terjadi dalam periode Pi dan membutuhkan Ci detik.
Penjadwalan Sistem Real-Time
Penjadwalan Sistem Real-Time Contoh: 3 periode event P1=100 sec, P2=200 sec, P3=500 sec. Jika setiap event memerlukan CPU Time berturut-turut sbb: C1=50 sec, C2=30 sec, C3=100 sec. Apakah masuk kategori system real time ? Jawab: 0.5+0.15+0.2 < 1 Jadi YA.
Policy Versus Mechanism Pemisahan antara Mekanisme dan Policy. Policy : Ditangani oleh kernel Mekanisme : Ditangani oleh user, spt system database yg terdiri dari beberapa proses, maka prioritas proses-proses tersebut ditangani oleh user.
Penjadwalan Thread
Penjadwalan Thread
DEADLOCK Definisi Deadlock Pengertian resources : Preemptable. Contohnya : Memori Utama Memori dipakai bergantian tanpa menimbulkan fail. Non Preemptable. Contoh Burn CD, Printing Kalau tiba-tiba CD, printer diganti bias mengakibatkan fail.
Urutan langkah untuk menggunakan resource: Request resource Use resource Release resource Perolehan Resource menggunakan semaphore untuk setiap resource Down(sem) Gunakan resource Up(sem)
Syarat Kondisi Deadlock : Kondisi mutual exclusion Pada suatu saat hanya satu proses yang menggunakan suatu resource Kondisi hold and wait Kondisi No Preemption Tidak ada resource yg dpt dipaksa dilepaskan dari proses yg sedang menggunakannya Kondisi circular wait Deadlock akan dpt terjadi apabila kondisi 1,2 dan 3 ada. Kondisi ke-4 sdh deadlock, dan kondisi ke-4 ini akan ada jika kondisi 1,2 dan 3 ada.
Pemodelan Deadlock Model Holt ( 1972 ) Proses A menggunakan resource R. Proses B meminta/menunggu resource S. Deadlock, proses C dan D meminta resource T dan U.
Strategi untuk menghadapi Deadlock Ignore Detection and Recovery Mendeteksi kemudian ambil action Dynamic avoidance, dengan cara mengalokasikan resource secara berhati – hati Prevention, dengan cara menghilangkan salah satu kondisi Deadlock
Jika urutannya dirubah sbb:, maka tdk akan terjadi deadlock. A Req R C Req T A Req S C Req R A Release R A Release S No deadlock
Deteksi deadlock dengan satu resource untuk setiap jenis Contoh: sebuah sistem dengan 7 proses (A – G) dan 6 resource (R – W), dengan status pemilikan dan permintaan resource sbb: A holds R, wants S B holds nothing, wants T C holds nothing, wants S D holds U, wants S and T E holds T, wants V F holds W, wants S G holds V, wants U
Jika ada Cycle dari graph diatas berarti DEADLOCK
Deteksi deadlock dengan banyak resource untuk setiap jenis E : Existing resource vector A : Available resource vector C : Current allocation matrix R : Request matrix