SISTEM OPERASI
PENJADWALAN PROSES
OLEH :
AHMAD FAIRUS ZABADI (10116356)
BAGAS WAHYU PAMBUKO (11116307)
IMAM MAHDI NASHIF (13116461)
MUHAMMAD FAHRUL ROZY (14116575)
AHMAD FAIRUS ZABADI (10116356)
BAGAS WAHYU PAMBUKO (11116307)
IMAM MAHDI NASHIF (13116461)
MUHAMMAD FAHRUL ROZY (14116575)
NADA NABILAH (15116240)
SISTEM INFORMASI
UNIVERSITAS GUNADARMA
KATA
PENGANTAR
Assalamu’alaikum Wr. Wb
Puji
syukur kami panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat serta
hidayahNya sehingga kami dapat menyelesaikan makalah Pengantar Organisasi dan
Arsitektur Komputer.
Dalam
makalah ini kami membahas tentang operasi unit kendali. Tidak lupa juga kami
ucapkan terimakasih kepada Bapak dosen yang telah membimbing kami, sehingga
kami dapat menyelesaikan makalah ini. Terimakasih juga kepada semua pihak yang
telah memberikan dukungannya kepada kami.
Kami
berharap semoga makalah ini bermanfaat bagi pembaca. Apabila dalam pembuatan makalah
ini banyak kesalahan kami minta maaf yang sebesar-besarnya. Kritik dan saran
dari pembaca sangat kami harapkan.
Wassalamu’alaikum Wr. Wb
Bogor, 2 Mei 2018
Penyusun
DAFTAR ISI
Cover .................................................................................................................................
1
Kata Pengantar ................................................................................................................... 2
Daftar Isi ............................................................................................................................ 3
BAB I PENDAHULUAN
A.
Latar Belakang ....................................................................................................... 4
B.
Tujuan ..................................................................................................................... 4
C.
Manfaat ................................................................................................................... 4
BAB II PEMBAHASAN
A.
Pengertian Penjadwalan ......................................................................................... 5
B.
Kriteria Penjadwalan .............................................................................................. 5
C.
Strategi Penjadwalan .............................................................................................. 6
D.
Algoritma Penjadwalan .......................................................................................... 7
BAB III PENUTUP
A.
Kesimpulan ............................................................................................................. 13
DAFTAR PUSTAKA .............................................................................................. 14
BAB I
PENDAHULUAN
A.
Latar Belakang
Penjadwalan
merupakan konsep utama dalam multitasking,sistem operasi multi prosesor dan
sistem operasi real-time Penjadwalan adalah cara atau metode berbagai proses
dilaksanakan pada CPU, dimana biasanya terdapat lebih banyak proses yang
dijalankan daripada jumlah CPU yang tersedia. Hal ini diatur oleh software
scheduler dan dispatchare.
Tujuan dari
multiprogramming adalah untuk memiliki sejumlah proses yang berjalan pada
sepanjang waktu, untuk memaksimalkan penggunaan CPU. Tujuan dari pembagian
waktu adalah untuk mengganti CPU dantara proses-proses yang begitu sering
sehingga user dapat berinteraksi dengan setap program sambil CPU bekerja.
Untuk sistem
unipprosesor,tidak akan ada lebih dari satu proses berjalan.
Jika ada
proses yang lebih dari itu, yang lainnya akan harus menunggu sampai CPU bebas
dan dapat dijadwalkan kembali.
B. Tujuan Penulisan
1.
Dapat mendeskripsikan pengertin schedulling atau
penjadwalan proses.
2.
Dapat mendeskripsikan tentang konsep dasar
penjadwalan.
3.
Dapat mengetahui macam-macam strategi penjadwalan.
4.
Dapat mengetahui algoritma penjadwalan.
C.
Manfaat
Penulisan
1.
Dapat mendeskripsikan pengertin schedulling atau
penjadwalan proses.
2.
Dapat mendeskripsikan tentang konsep dasar
penjadwalan.
3.
Dapat mengetahui macam-macam strategi penjadwalan.
4.
Dapat mengetahui algoritma penjadwalan.
BAB II
PEMBAHASAN
A. Pengertian Penjadwalan Proses
Penjadwalan proses merupakan
kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan
urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan :
·
Proses yang
harus berjalan
·
Kapan dan selama berapa lama proses itu berjalan.
B. Kriteria Pengukuran Penjadwalan
Kriteria
untuk mengukur dan optimasi kinerja penjadwalan :
1.
Adil (Fairness)
Adil adalah proses-proses diperlukan
sama yaitu mendapatkan jatah waktu pemroses yang sama dan tak ada proses yang
tidak kebagian layanan pemroses sehingga mengalami startvision. Sasaran
pendjadwalan seharusnya menjamin tiap proses mendapat pelayanan dari pemroses
yang adil.
2.
Efesiensi (Efficient)
Efesiensi atau utilisasi pemroses
dihitung dengan perbandingan (rasio) waktu sibuk pemroses. Sasaran penjadwalan
adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efesiensi
mencapai maksimum. Sibuk adalah pemroses tidak menganggur, termasuk waktu yang
dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.
3.
Waktu Tanggap (Response Time)
Waktu tanggap berbeda untuk sistem
interaktif dan sistem waktu nyata
·
Sistem interaktif
Waktu tanggap dalam sistem interaktif didefinisikan
sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah
dimasukkan atau transaksi sampai hasil pertama muncul dilayar (terminal). Waktu
tanggap ini disebut terminal response time.
·
Sistem waktu nyata
Pada sistem waktu nyata, waktu tanggap didefinisikan
sebagai waktu dari saat kejadian (internal atau
eksernal) sampai instruksi pertama rutin layanan yang
dimaksud dieksekusi, disebut event response
time. Sasaran pendjadwalan adalah meminimalkan waktu
tanggap.
4.
Waktu Penyelesaian (TurnaroundTime)
Turnaround time adalah waktu yang
dihabiskan dari saat program mulai masuk ke sistem sampai proses diselesaikan
sistem. Waktu yang dimaksud adalah waktu yang dihabiskan dalam sistem,
diekspresikan sebagai jumlah waktu eksekusi dan waktu menunggu, yaitu:
Turn Arround
Time = waktu eksekusi + waktu tunggu
Sasaran penjadwalan adalah meminimalkan turnaround time.
5.
Throughtput
Throughtput adalah jumlah kerja yang
dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput
adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval
waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per
satu interval waktu. Lebih tinggi angka throughput, lebih banyak kerja yang
dilakukan sistem. Kriteria-kriteria tersebut saling bergabung dan dapat pula
saling bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara
simultan.
Contoh :
Untuk memberi waktu tanggap kecil memerlukan
penjadwalan yang sering beralih diantara proses-proses itu. Cara ini
meningkatkan overhead sistem dan mereduksi throughput. Kebijaksanaan
perancangan penjadwalan melibatkan kompromi diantara kebutuhan-kebutuhan yang
saling bertentangan. Kompromi ini bergantung sifat dan penggunaan sistem
komputer.
C.
Strategi
Penjadwalan
Terdapat dua
strategi penjadwalan, yaitu:
1.
Penjadwalan nonpreemptive
Begitu pemroses diberi jatah untuk
memroses maka proses tidak dapat diambil alih oleh pemroses lain sampai proses
itu selesai.
2.
Penjadwalan preemptive
Saat proses diberi jatah waktu
pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela
sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba
kembali pada proses itu.
Penjadwalan preemptive berguna pada
sistem dimana proses-proses yang mendapat perhatian tanggapan pemroses secara
cepat. Misalnya :
·
Pada sistem waktu nyata, kehilangan interupsi (yaitu
interupsi tidak segera dilayani) dapat berakibat fatal.
·
Pada sistem interaktif/time-sharing, penjadwalan
preemptive penting agar dapat menjamin
waktu tanggap yang memadai.Penjadwalan preemptive bagus, tapi tidak tanpa
ongkos. Perlaihan proses (yaitu proses beralih ke proses lain) memerlukan
overhead (karena banyak tabel yang dikelola). Agar preemptive efektif, banyak
proses harus berada di memori utama sehingga proses-proses tersebut dapat
segera running begitu diperlukan. Menyimpan banyak proses tak running
benar-benar di memori merupakan suatu overhead tersendiri.
D.
Algoritma
Penjadwalan
Penjadwalan
berkaitan dengan permasalahan memutuskan proses mana yang akan dilaksanakan
dalam suatu sistem.Proses yang belum mendapat jatah alokasi dari CPU akan
mengantri di ready queue.Berfungsi untuk menentukan proses manakah yang ada di
ready queue(antri) yang akan di eksekusi oleh CPU
Terdapat
banyak algoritma penjadwalan ,baik nonpreemptive maupun preemptive.
Algoritma-algoritma yang menerapkan strategi
nonpreemptive:
1.
FIFO (First In First Out)
FIFO adalah akronim untuk First In, First Out (Pertama
Masuk, Pertama Keluar), sebuah abstraksi yang berhubungan dengan cara mengatur
dan memanipulasi data relatif terhadap waktu dan prioritas. Ungkapan ini
menggambarkan prinsip teknik pengolahan antrean atau melayani permintaan yang
saling bertentangan dengan proses pemesanan berdasarkan perilaku first-come,
first-served (FCFS): di mana orang-orang meninggalkan antrean dalam urutan
mereka tiba, atau menunggu giliran satu di sebuah sinyal kontrol lalu lintas.
2.
SJF (Shortest Job First)
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.
3.
HRN (Highest Ratio Net)
Penjadwalan HRN merupakan:
·
Penjadwalan non-preemptive
·
Penjadwalan berprioritas dinamis
Penjadwalan ini juga untuk mengkoreksi kelemahan SJF.
HRN adalah strategi penjadwalan nonpreemptive dengan prioritas proses tidak
hanya pada waktu layanan tapi juga jumlah waktu tunggu proses.
Prioritas dinamis HRN dihitung berdasarkan rumus:
Prioritas =
(Waktu tunggu + waktu layanan) / waktu layanan
Karena waktu layanan muncul sebagai pembagi maka
proses yang lebih pendek mempunyai prioritas yang lebih baik. Karena waktu
tunggu sebagai pembilang maka proses yang telah menunggu lebih lama juga
mempunya kesempatan lebih bagus untuk memperoleh layanan pemrosesan.
Disebut HRN (High Response Next) karena waktu tanggap
adalah waktu tunggu + waktu layanan. Ketentuan HRN adalah untuk memperoleh
waktu tanggap tertinggi yang harus dilayani.
4.
MFQ (Multiple Feedback Queue)
Algoritma ini mirip sekali dengan algoritma multilevel
queue. Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah
antrian. Jika suatu proses menyita CPU terlalu lama, maka proses itu akan
dipindahkan ke antrian yang lebih rendah. Hal ini menguntungkan proses
interaksi karena proses ini hanya memakai waktu CPU yang sedikit. misalnya
pada contoh berikut.
·
Semua proses yang baru datang akan diletakkan pada
queue 0 ( quantum= 8 ms).
·
Jika suatu proses tidak dapat diselesaikan dalam 8 ms,
maka proses tersebut akan dihentikan dan dipindahkan ke queue 1 ( quantum= 16
ms).
·
Queue 1 hanya akan dikerjakan jika tidak ada lagi
proses di queue 0, dan jika suatu proses di queue 1 tidak selesai dalam 16 ms,
maka proses tersebut akan dipindahkan ke queue 2.
·
Queue 2 akan dikerjakan bila queue 0 dan 1 kosong, dan
akan berjalan dengan algoritma FCFS.
Disini terlihat bahwa ada kemungkinan terjadinya
perpindahan proses antar queue, dalam hal ini ditentukan oleh time quantum,
namun dalam praktek penerapannya, algoritma multilevel feedback queue
mendefinisikan terlebih dahulu parameter-parameternya, yaitu:
·
Jumlah antrian.
·
Algoritma internal tiap queue.
·
Aturan sebuah proses naik ke antrian yang lebih
tinggi.
·
Aturan sebuah proses turun ke antrian yang lebih
rendah.
·
Antrian yang akan dimasuki tiap proses yang baru
datang.
Contoh:
Terdapat tiga antrian; Q1=10 ms, FCFS Q2=40 ms, FCFS
Q3=FCFS proses yang masuk, masuk ke antrian Q1. Jika dalam 10 ms tidak selesai,
maka proses tersebut dipindahkan ke Q2. Jika dalam 40 ms tidak selesai, maka
dipindahkan lagi ke Q3. Berdasarkan hal-hal di atas maka algoritma ini dapat
digunakan secara fleksibel dan diterapkan sesuai dengan kebutuhan sistem. Pada
zaman sekarang ini algoritma multilevel feedback queue adalah salah satu yang
paling banyak digunakan.
Algoristma-algoritma yang menerapkan strategi
preemptive:
1.
RR (Round Robin)
Penjadwalan Round-Robin merupakan penjadwalan
preemptive, namun proses tidak di-preempt secara langsung oleh proses lain
namun oleh penjadwal berdasarkan lama waktu berjalannya suatu proses maka
penjadwalan ini disebut preempt-by-time.
Semua proses dianggap penting dan diberi sejumlah
waktu pemroses yang disebut kwanta (quantum) atau time-slice tempat proses itu
berkalan. Proses berjalannya selama 1 kwanta, kemudian penjadwal akan
mengalihkan kepada proses berikutnya, juga untuk berjalan satu kwanta, begitu
seterusnya sampai kembali pada proses pertama dan berulang.
2.
SRTF (Shortest Remaining Time First)
Perbedaan SRTF dengan SJF:
·
Pada SJF, begitu proses dieksekusi, proses dijalankan
sampai selesai.
·
Pada SRTF proses sedang berjalan (Running) dapat
diambil alih oleh proses baru dengan sisa waktu jalan yang diestimasi lebih
rendah.
Kelemahan:
SRTF mempunyai overhead yang lebih besar dibandingkan
SJF. SRTF memerlukan penyimpanan waktu layanan yang telah dihabiskan proses dan
kadang-kadang harus menangani peralihan.
Secara teoritis SRTF memberi waktu tunggu minimum tapi
karena adanya overhead peralihan maka pada situasi tertentu SJF bisa memberi
kinerja yang lebih baik dibanding SRTF.
3.
PS (Priority Schedulling)
Priority Scheduling Merupakan algoritma penjadwalan
yang mendahulukan proses yang memiliki priortas tertinggi.
Prioritas dapat diberikan secara :
·
Prioritas Statis
Prioritas statis berarti prioritas tak berubah
Keunggulan: mudah diimplementasikan dan mempunyai
overhead relatif kecil
Kelemahan: penjadwalan tak tanggap terhadap lingkungan
yang mungkin menghendaki penyesuaian prioritas.
·
Prioritas dinamis
Merupakan mekanisme menanggapi perubahan lingkungan
sistem beroperasi. Prioritas awal diberikan ke proses mungkin hanya berumur
pendek setelah disesuaikan ke nilai yanglebih tepat sesuai lingkungan.Kelemahan
dari prioritas dinamis adalah
Implementasi mekanisme prioritas dinamis lebih kompeks dan mempunyai
overhead lebih besar. Overhead ini diimbangi dengan peningkatan daya tanggap
sistem.
Contoh penjadwalan berprioritas:
Proses-proses yang sangat banyak operasi I/O
menghabiskan kebanyakan waktu menunggu selesainya operasi I/O. Proses-proses
ini diberi prioritas sangat tinggi sehingga begitu proses memerlukan pemroses
segera diberikan, proses akan segera memulai permintaan I/O berikutnya hingga
mengakibatkan proses blocked menunggu selesainya operasi I/O. Dengan demikian
pe mroses dapat dipergunakan proses-proses lain. Proses-proses I/O bound
berjalan paralel bersama proses-proses lain yang benar-benar memerlukan
pemroses, sementara proses-proses I/O bound itu menunggu selesainya operasi
DMA.
Proses-proses yang sangat banyak operasi I/O kalau
harus menuggu lama untuk memakai pemroses (karena prioritas rendah) hanya akan
membebani meori karena harus disimpan tanpa perlu prosesproses itu dimemori
karena tidak selesai-selesai menunggu operai I/O dan menunggu jatah pemroses.
Keunggulan penjadwalan prioritas biasanya memenuhi
kebijaksanaan yang ingin mencapai maksimasi suatu kriteria yang diterapkan.
4.
GS (Guaranteed Schedulle)
Penjadwalan ini memberikan janji yang realistis
(memberi daya pemroses yang sama) untuk membuat dan menyesuaikan performance
adalah jika ada N pemakai, sehingga setiap proses (pemakai) akan mendapatkan
1/N dari daya pemroses CPU. Untuk mewujudkannya, sistem harus selalu menyimpan
informasi tentang jumlah waktu CPU untuk semua proses sejak login dan juga
berapa lama pemakai sedang login. Kemudian jumlah waktu CPU, yaitu waktu mulai
login dibagi dengan n, sehingga lebih mudah menghitung rasio waktu CPU. Karena
jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat dihitung rasio
antara waktu pemroses yang sesungguhnya harus diperoleh, yaitu 1/N waktu
pemroses seluruhnya dan waktu pemroses yang telah diperuntukkan proses itu.
Rasio 0,5 berarti sebuah proses hanya punya 0,5 dari
apa yang waktu CPU miliki dan rasio 2,0 berarti sebuah proses hanya punya 2,0
dari apa yang waktu CPU miliki. Algoritma akan menjalankan proses dengan rasio
paling rendah hingga naikketingkat lebih tinggi diatas pesaing terdekatnya. Ide
sederhana ini dapat diimplementasikan ke sistem real-time dan memiliki
penjadwalan berprioritas dinamis.
BAB III
KESIMPULAN
Penjadwalan proses yaitu kumpulan
kebijaksanaan dari mekanisme sistem operasi yang berkaitan dengan urutan kerja
yang di lakukan oleh sistem komputer. Pada sistem komputer terdapat beberapa
bentuk penjadwalan : admission (pintu masuk kesistem ), memori, dan CPU
scheduler. Penjadwalan CPU menyangkut penentuan proses-proses yang ada dalam
ready queue yang di alokasikan pada CPU.
SUMBER PUSTAKA
http://lilyaulia0105.blogspot.co.id/2017/01/kelompok-3-penjadwalan-proses.html
https://paninalone.wordpress.com/2010/10/10/algoritma-penjadwalan-dari-multiple-feedback-queue-mfq/
https://id.wikipedia.org/wiki/FIFO