Makalah “PENJADWALAN PROSES” Dosen : Azwar, M. Kom
DI SUSUN OLEH ELAN K.LUWITI NIM :T3114117 KELAS 2/KC
FAKULTAS ILMU KOMPUTER (FIKOM) UNIVERSITAS ICSHAN GORONTALO 2015
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
KATA PENGANTAR
Puji dan syukur saya panjatkan kehadirat ALLAH SWT, atas limpahan rahmat dan karunianya baik berupa kesehatan maupun kesempatan sehingga penyusunan makalah ini dapat terselesaikan sebagai mana mestinya. Adapun tema yang saya sajikan yaitu ”PENJADWALAN PROSES” merupakan tugas yang di berikan oleh dosen pembimbing mata kuliah guna memenuhi salah satu persyaratan akademik,dalam standarisasi penilayan, meskipun makalah ini telah tersusun secara mendetail maupun ilmiawi, namun saya menyadari sepenuhnya masih banyak terdapat kesalahan dan kekurangan yang ada di dalamnya,oleh karena itu kritik dan saran dari berbagai pihak yang sifatnya konstruktif (membangun), terutama dari teman-teman mahasiswa maupun dosen pembimbing, sangat saya harapkan demi kesempurnaan makalah ini, harapan penulis mudamudahan makalah ini dapat memenuhi fungsinya.
Gorontalo,
April 2015
Penyusun
Elan.K.Luwiti
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
DAFTAR ISI
KATA PENGANTAR DAFTAR ISI BAB I PENDAHULUAN 1. Latar Belakang 2. Rumusan Masalah 3. Tujuan
BAB II PEMBAHASAN 1. Penjadwalan proses Fifo(Firs in-First on) 2. Penjadwalan proses Shortest Job First(Sjf) 3. Penjadwalan Proses Round Robin(RR) 4. Penjadwalan Proses Priority Scheduling(Ps)
BAB III PENUTUP Kesimpulan Saran DAFTAR PUSTAKA
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
BAB I PENDAHULUAN A. LATAR BELAKANG Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan adalah fungsi dasar dari sistem operasi. Semua resources pada komputer dijadwalkan sebelum digunakan. Penjadwalan bertugas untuk memutuskan proses yang harus berjalan serta kapan dan selama berapa lama proses itu berjalan. Penjadwalan proses yaitu kumpulan kebijaksanaan dari mekanisme sistem operasi yang berkaitan dengan urutan kerja yang di lakukan oleh sistem komputer. Adapun tugas penjadwalan yaitu untuk memutuskan: 1. Proses yang harus berjalan 2. Kajian dan selama berapa lama proses itu bekerja
B. RUMUSAN MASALAH 1. Bagaimana cara penjadualan dengan menggunakan strategi penjadualan berprioritas dan penjadualan terjamin, ketika pemroses melakukan eksekusi proses yang berkaitan dengan operasi pada beberapa peripheral I/O secara bersamaan? 2. Bagaimana membedakan strategi penjadualan berprioritas dan penjadualan terjamin, ketika penjadualan tersebut bekerja pada peripheral I/O?
C. TUJUAN 1. Untuk mengetahui cara penjadualan dengan menggunakan strategi penjadualan berprioritas dan penjadualan terjamin, ketika pemroses melakukan eksekusi proses yang berkaitan dengan operasi pada beberapa peripheral I/O secara bersamaan 2. Untuk membedakan strategi penjadualan berprioritas dan penjadualan terjamin, ketika penjadualan tersebut bekerja pada peripheral I/O
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
BAB II PEMBAHASAN
A. KONSEP DASAR PENJADWALAN PROSES Pada sistem komputer terdapat beberapa bentuk penjadwalan : 1. First-Come First-Served Scheduling (FCFS) Inti dari algoritma ini adalah simple / paling sederhana karena prinsipnya sama seperti prinsip antrian tak berprioritas. Page yang masuk terlebih dahulu maka yaitu yang akan keluar duluan juga. Untuk algoritma ini menggunakan structure data stack. Jadi kerjanya yaitu dimana kalau tidak ada frame yang kosong saat terjadi page fault maka korban yang dipilih adalah frame dengan stack paling bawah seperti hal nya halaman yang sudah lama tersimpan didalam memory maka dari itu algoritma ini juga bisa memindahkan page yang sering digunakan. FCFS/FIFO bisa diartikan sebagai Proses yg tiba lebih dahulu akan dilayani lebih dahulu.Kalau ada proses tiba pada waktu yg sama, maka pelayanan mereka dilaksanakan melalui urutan mereka dalam antrian.Proses di antrian belakang harus menunggu sampai semua proses di depannya selesai.Setiap proses yang berada pada status ready dimasukkan ke dalam FCFS queue sesuai dengan waktu kedatangannya. Proses yang pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani terlebih dahulu. Pada skema ini, proses yang meminta CPU pertama kali akan dialokasikan ke CPU pertama kali. Misalnya terdapat tiga proses yang dapat dengan urutan P1, P2, dan P3 dengan waktu CPU-burst dalam milidetik yang diberikan sebagai berikut : Process
Burst Time
P1
24
P2
3
P3
3
Gant Chart dengan penjadwalan FCFS adalah sebagai berikut : P1
0
Mahasiswa : Elan K. Luwiti
P2
24
P3
27
30
Dosen : Azwar, M. Kom
Waktu tunggu untuk P1 adalah 0, P2 adalah 24 dan P3 adalah 27 sehingga rata-rata waktu tunggu adalah (0 + 24 + 27)/3 = 17 milidetik. Sedangkan apabila proses datang dengan urutan P2, P3, dan P1, hasil penjadwalan CPU dapat dilihat pada gant chart berikut : P2
0
P3
3
P1
6
30
Waktu tunggu sekarang untuk P1 adalah 6, P2 adalah 0 dan P3 adalah 3 sehingga ratarata waktu tunggu adalah (6 + 0 + 3)/3 = 3 milidetik. Rata-rata waktu tunggu kasus ini jauh lebih baik dibandingkan dengan kasus sebelumnya. Pada penjadwalan CPU dimungkinkan terjadi Convoy effect apabila proses yang pendek berada pada proses yang panjang. Algoritma FCFS termasuk non-preemptive. karena, sekali CPU dialokasikan pada suatu proses, maka proses tersebut tetap akan memakai CPU sampai proses tersebut melepaskannya, yaitu jika proses tersebut berhenti atau meminta I/O. Contoh Soal : Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D-E dengan waktu kedatangan semuanya 0-1-2-2-5. Lama proses berturut-turut antara lain: 5-2-6-8-3. Pertanyaan: Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb? Kapan selesai eksekusinya? Hitung Turn Arround Time (TA)-nya? Berata rerata TA? Rumus TA = Waktu Tunggu + Lama Eksekusi Rerata TA = ∑TA / ∑Job Waktu Tunggu = Mulai Eksekusi – Waktu Tiba
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
jawab:
Kelemahan dari algoritma ini:
Waiting time rata-ratanya cukup lama.
Terjadinya convoy effect, yaitu proses-proses menunggu lama untuk menunggu 1
proses
besar yang sedang dieksekusi oleh CPU.
Algoritma ini juga menerapkan konsep nonpreemptive, yaitu setiap proses yang sedang dieksekusi oleh CPU tidak dapat di-interrupt oleh proses yang lain.
2. Shortest Job First Scheduler (SJF) Shortest Job First (SJF) Merupakan penjadwalan tidak berprioritas dan Non Preventive. Maksud NonPreveentive disini ialah ketika proses diberi jatah waktu penggunaan prosessor maka processor tidak dapat diambil proses lain, sampai proses tersebut selesai di eksekusi. Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai diketahui sebelumnya. Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah. Dalam artian waktu yang digunakan saat program (job) mulai masuk ke system sampai proses diselesaikan system, membutuhkan waktu yang singkat. Shortest Job First (SJF) bisa dikatakan algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal. Selain FCFS/FIFO ada juga yang namanya sjf(shortest job first)bisa diartikan yaitu Setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst time terkecil. Mengakibatkan waiting time yang pendek untuk setiap proses dan waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan ini adalah algoritma yang optimal. Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
Langkahnya: Langkah I: tentukan urutan prioritas berdasarkan pendeknya proses yang dilayani Langkah II: penentuan proses mana yg dilayani oleh pemroses. Contoh soal (dengan waktu tiba berbeda):
Jawaban :
Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil dilayani terlebih dahulu. Terdapat dua skema : 1. Non preemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU burst selesai.
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
2. Preemptive, jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu proses yang saat itu sedang dieksekusi, proses ini ditunda dan diganti dengan proses baru. Skema ini disebut dengan Shortest-RemainingTime-First (SRTF). SJF adalah algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal. Misalnya terdapat empat proses dengan panjang CPU burst dalam milidetik. Process
Arrival Time Burst Time
P1
0.0
7
P2
2.0
4
P3
4.0
1
P4
5.0
4
Penjadwalan proses dengan algoritma SJF (non-preemptive) dapat dilihat pada gant chart berikut : P1
P3
0
P2
7
P4
8
12
16
Waktu tunggu untuk P1 adalah 0, P2 adalah 26, P3 adalah 3 dan P4 adalah 7 sehingga rata-rata waktu tunggu adalah (0 + 6 + 3 + 7)/4 = 4 milidetik. Sedangkan Penjadwalan proses dengan algoritma SRTF (preemptive) dapat dilihat pada gant chart berikut :
P1
0
P2
2
P3
4
P2
5
P4
P1
11
7
16
Waktu tunggu untuk P1 adalah 9, P2 adalah 1, P3 adalah 0 dan P4 adalah 4 sehingga rata-rata waktu tunggu adalah (9 + 1 + 0 + 4)/4 = 3 milidetik. Meskipun
algoritma
ini
optimal,
namun
pada
kenyataannya
sulit
buntu
diimplementasikan karena sulit untuk mengetahui panjang CPU burst berikutnya. Namun nilai ini dapat diprediksi.
CPU burst berikutnya biasanya diprediksi sebagai suatu rata-rata
eksponensial yang ditentukan dari CPU burst sebelumnya atau “Exponential Average”.
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
Grafik hasil prediksi CPU burst dapat dilihat pada Gambar 4-3.
Gambar 4-3 : Prediksi panjang CPU burst berikutnya
Sebagai contoh, jika α = 0,5, dan: CPU burst (τn )
=
6 4 6 4 13 13 13 .
.. τn
= 10 8 6 6 5 9
11 12 .
.. Pada awalnya τ0 = 6 dan τn = 10, sehingga : dapat digunakan untuk mencari τ3
τ2 = 0,5 * 6 + (1 - 0,5) * 10 = 8 Nilai yang
τ3 = 0,5 * 4 + (1 - 0,5) * 8 = 6
3. Priority Scheduling Algoritma SJF adalah suatu kasus khusus dari penjadwalan berprioritas. Tiaptiap proses dilengkapi dengan nomor prioritas (integer). CPU dialokasikan untuk proses yang memiliki prioritas paling tinggi (nilai integer terkecil biasanya merupakan prioritas terbesar). Jika beberapa proses memiliki prioritas yang sama, maka akan digunakan algoritma FCFS. Penjadwalan berprioritas terdiri dari dua skema yaitu non preemptive dan preemptive. Jika ada proses P1yang datang pada saat P0sedang berjalan, maka akan dilihat prioritas P1. Seandainya prioritas P1 lebih besar dibanding dengan prioritas P0, maka pada non-preemptive, algoritma tetap akan menyelesaikan P0sampai habis CPU burst-nya, dan meletakkan P1 pada posisi head
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
queue. Sedangkan pada preemptive, P0akan dihentikan dulu, dan CPU ganti dialokasikan untuk P1. Misalnya terdapat lima proses P1, P2, P3, P4dan P5yang datang secara berurutan dengan CPU burst dalam milidetik. Process
Burst Time
Priority
P1
10
3
P2
1
1
P3
2
3
P4
1
4
P5
5
2
Penjadwalan proses dengan algoritma priority dapat dilihat pada gant chart berikut : P2
0
P1
P5
1
P3
6
16
P4
18 19
Waktu tunggu untuk P1 adalah 6, P2 adalah 0, P3 adalah 16, P4 adalah 18 dan P5 adalah 1 sehingga rata-rata waktu tunggu adalah (6 + 0 +16 + 18 + 1)/5 = 8.2 milidetik.
4. Round-Robin Scheduling Disingkat dengan RR. Model Penjadwalan. Penjadwalan ini merupakan : a) Penjadwalan preemptive, bukan di-preempt oleh proses lain, tapi terutama oleh penjadwal berdasarkan lama waktu berjalannya proses, disebut preempt by time. b) Penjadwal tanpa prioritas. Semua proses dianggap penting dan diberi sejumlah waktu proses yang disebut kwanta (quantum) atau time slice dimana proses itu berjalan. Ketentuan algoritma round robin adalah sebagai berikut: 1. Jika kwanta dan proses belum selesai maka proses menjadi runnable dan pemroses dialihkan ke proses lain. 2. Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain 3. Jika kwanta belum habis tapi proses telah selesai, maka proses diakhiri dan pemroses dialihkan ke proses lain. Algoritma penjadwalan ini dapat diimplementasi sebagai berikut: - Mengelola senarai proses read (runnable) sesuai urutan kedatangan. Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
- Ambil proses yang berada di ujing depan antrian menjadi running. - Bila kwanta belum habis dan proses selesai maka ambil proses di ujung depan antrian proses ready. - Jika kwanta habis dan proses belum selesai maka tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung depatn antrian proses ready.
Round Robin 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. Tentu proses ini cukup adil karena tak ada proses yang diprioritaskan, semua proses mendapat jatah waktu yang sama dari CPU yaitu (1/n), dan tak akan menunggu lebih lama dari (n1)q dengan q adalah lama 1 quantum. Algoritma ini sepenuhnya bergantung besarnya time quantum. Jika terlalu besar, algoritma ini akan sama saja dengan algoritma first come first served. Jika terlalu kecil, akan semakin banyak peralihan proses sehingga banyak waktu terbuang. Permasalahan utama pada Round Robin adalah menentukan besarnya time quantum. Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai. dalam 1 quantum. Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (disebut dengan context switches time). Sebaliknya, jika time quantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma first come first served. Time quantum yang ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 time quantum.
Konsep dasar dari algoritma ini adalah dengan menggunakan time-sharing. Pada dasarnya algoritma ini sama dengan FCFS, hanya saja bersifat preemptive. Setiap proses mendapatkan waktu CPU yang disebut dengan waktu quantum (quantum time) untuk membatasi waktu proses, biasanya 1-100 milidetik. Setelah waktu habis, proses ditunda dan ditambahkan pada ready queue. Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan waktu quantum, maka proses tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga CPU dapat segera digunakan oleh proses selanjutnya. Sebaliknya, jika suatu proses memiliki CPU burst yang lebih besar dibandingkan dengan waktu quantum, maka proses tersebut akan dihentikan sementara jika sudah mencapai waktu quantum, dan selanjutnya mengantri kembali pada posisi ekor dari ready queue, CPU kemudian menjalankan proses berikutnya. Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
Jika terdapat n proses pada ready queue dan waktu quantum q, maka setiap proses mendapatkan 1/n dari waktu CPU paling banyak q unit waktu pada sekali penjadwalan CPU. Tidak ada proses yang menunggu lebih dari (n-1)q unit waktu. Performansi algoritma round robin dapat dijelaskan sebagai berikut, jika q besar, maka yang digunakan adalah algoritma FIFO, tetapi jika q kecil maka sering terjadi context switch. Misalkan ada 3 proses: P1, P2, dan P3yang meminta pelayanan CPU dengan quantum-time sebesar 4 milidetik. Process
Burst Time
P1
24
P2
3
P3
3
Penjadwalan proses dengan algoritma round robin dapat dilihat pada gant chart berikut :
P1 0
P2 4
P3 7
P1 10
P1 14
P1 18
P1 22
P1 26
30
Waktu tunggu untuk P1 adalah 6, P2 adalah 4, dan P3 adalah 7 sehingga rata-rata waktu tunggu adalah (6 + 4 + 7)/3 = 5.66 milidetik. Algoritma Round-Robin ini di satu sisi memiliki keuntungan, yaitu adanya keseragaman waktu. Namun di sisi lain, algoritma ini akan terlalu sering melakukan switching seperti yang terlihat pada Gambar 4-4. Semakin besar quantum-timenya maka switching yang terjadi akan semakin sedikit.
Gambar 4-4 : Menunjukkan waktu kuantum yang lebih kecil meningkatkan
context switch
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
Waktu turnaround juga tergantung ukuran waktu quantum. Seperti pada Gambar 4-5, rata-rata waktu turnaround tidak meningkat bila waktu quantum dinaikkan. Secara umum, rata-rata waktu turnaround dapat ditingkatkan jika banyak proses menyelesaikan CPU burst berikutnya sebagai satu waktu quantum. Sebagai contoh, terdapat tiga proses masing-masing 10 unit waktu dan waktu quantum 1 unit waktu, rata-rata waktu turnaround adalah 29. Jika waktu quantum 10, sebaliknya, rata-rata waktu turnaround turun menjadi 20.
Gambar 4-5 : Menunjukkan waktu turnaround berbeda pada waktu quantum yang berbeda
Kelemahan
Permasalahan utama adalah menentukan besarnya time quantum.
Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai dalam 1 time quantum.
Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (context switches time).
Jika time quantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma First Come First Served.
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
BAB III PENUTUP
A. Kesimpulan Priority Schedulling (PS) adalah tiap proses diberi prioritas dan proses yang berprioritas tertinggi mendapat jatah waktu lebih dulu (running). Berasumsi bahwa masing-masing proses memiliki prioritas tertentu, sehingga akan dilaksanakan berdasar prioritas yang dimilikinya. Ilustrasi yang dapat memperjelas prioritas tersebut adalah dalam komputer militer, dimana proses dari jendral berprioritas 100, proses dari kolonel 90, mayor berprioritas 80, kapten berprioritas 70, letnan berprioritas 60 dan seterusnya. Dalam UNIX perintah untuk mengubah prioritas menggunakan perintah nice. Penjadwalan berprioritas dinamis memberikan janji yang realistis (memberi daya pemroses yangsama) untuk membuat dan menyesuaikan performance adalah jika ada N pemakai,sehingga setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU. Algoritma penjadwalan PS (priority scheduling) adalan penjadwalan berprioritas yang setiap proses dilengkapi dengan prioritas. CPU dialokasikan untuk proses yang memiliki prioritas paling tinggi. Jika beberapa proses memiliki prioritas yang sama, maka akan digunakan Algoritma FiFo B. Saran Demikian makalah yang saya buat,semoga bermanfaat bagi kita semua,dan terutama bagi saya pribadi,untuk itu saya sangat membutuhkan saran dan kritik yang bersifat membangun demi kesempurnaan makalah saya ini
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom
DAFTAR PUSTAKA
Ariyus. Dony. 2006. Computer Security, Yogyakarta:Penerbit ANDI. Ariyus. Dony. 2005. Kamus Hacker. Yogyakarta: penerbit ANDI. Ariyus. Dony. 2008 Ppengantar Ilmu Kriptografi Teori, Analisis, Dan Implementasi. Yogyakarta: Penerbit ANDI. Bach, Maurice J. 1986. Design of UNIX Operating System. US: Prentice Hall. Bob DuCharme. 2001. The Operating System Handbook or. Fake Your Way Through Minis and Mainframes. Singapure: McGraw- Hill Book Co. Bill Venners. 1998. Inside the Java Virtual Machine, Singapure:McGraw-Hill Book Co. Deitel, Harvey M. 2004. Operating System. 3th Edition Massachusetts: Addison- Wesley Publshing Company. Gary B. Shelly. 2007. Discovering Computers: Fundamentals. USA: Thomsons & Thomson. Gollman, Dieter. 1999. Computer Security, Canada: John willey & son Inc. Ghrossans, D. 1986, File System: Design and Implementation. New Jersey: Prentice-hall Inc. Harvey M. Deitel & Paul J. Deitel. 2005. Java How To Program, Sixth Editionn New Jersey: Pretince Hall.
Mahasiswa : Elan K. Luwiti
Dosen : Azwar, M. Kom