MAKALAH
PENJADWALAN PROSES PADA SISTEM OPERASI
Penyusun
Ahmad Pujianto
10116392
SISTEM
OPERASI
UNIVERSITAS GUNADARMA
2017/2018
KATA PENGANTAR
Assalamu'alaikum
Wr.Wb. Puji serta syukur Alhamdulillah saya panjatkan kehadirat Allah
S.W.T atas rahmat, nikmat, karunia serta hidayah-Nya berupa ilmu pengetahuan
yang tak ternilai harganya kepada penulis. , karena dengan Karunia dan
rahmat-Nya lah saya dapat menyusun makalah mengenai Penjadwalan Proses pada
Sistem Operasi. Tanpa Karunia dan rahmat-Nya, mungkin saya tidak menyelesaikan
makalah ini secara maksimal.
Makalah ini telah
saya susun dengan maksimal dan dengan bantuan dari berbagai pihak sehingga dapat
memperlancar pembuatan makalah ini. Untuk itu, saya menyampaikan banyak terima
kasih kepada pihak pihak yang telah membantu saya dalam pembuatan serat
penyusunan makalah ini.
Terlebih lagi, saya
sadar bahwa masih banyak kekurangan baik dari segi susunan kalimat maupun tutur
kata dalam makalah ini. Oleh karena itu, saya mengharapkan adanya kritik serta
saran dari pembaca agar saya dapat memperbaiki makalah makalah ini serta yang
akan saya buat di masa mendatang.
Akhir kata, saya
berharap semoga makalah yang sudah saya susun ini dapat memberikan manfaat
maupun inspirasi Bagi pembaca sekalian.
Jakarta, 10 April 2018
Penyusun
DAFTAR ISI
KATA
PENGANTAR................................................................................ 2
DAFTAR
ISI ............................................................................................ 3
BAB 1
PENDAHULUAN ......................................................................... 4
1.1
Latar Belakang ...................................................................... .4
1.2
Tujuan Pembelajaran.............................................................. 5
1.3
Manfaat Penulisan...................................................................4
BAB 2 ISI.................................................................................................5
2.1
Penjadwalan Proses................................................................5
2.2
Strategi Penjadwalan...............................................................6
2.3
Algoritma dalam Penjadwalan Proses…………………..………8
BAB 3
PENUTUP....................................................................................11
3.1
Kesimpulan.............................................................................11
DAFTAR
PUSTAKA ................................................................................12
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Penjadwalan merupakan
kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan
urutan kerja yang dilakukan sistem komputer. Proses penjadwalan yang akan
dibahas disini adalah proses penjadwalan sistem operasi WINDOWS XP. Proses adalah keadaan ketika sebuah program sedang di eksekusi.
Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan.
Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan
( child process) yang dilakukan oleh proses induk ( parent process). Proses
turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada
akhirnya membentuk pohon proses.
1.2 TUJUAN PEMBELAJARAN
1.mendeskripsikan
pengertan penjadwalan proses sistem operasi
2.mendeskripsikan
konsep dari penjadwalan sistem operasi
3.mengetahui berbagai
algoritma pada penjadwalan sistem operasi
1.3 MANFAAT PENULISAN
1.Dapat memahami
pengertian dari penjadwalan proses sistem operasi
2.dapat memahami tipe
tipe penjadwalan dalam sistem operasi
3.dapat menjelaskan
konsep dasar penjadwalan sistem operasi
BAB II
ISI
2.1 PENJADWALAN PROSES
A.Pengertian Penjadwalan Proses
Penjadwalan
merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan
dengan urutan kerja yang dilakukan sistem komputer. Proses penjadwalan yang
akan dibahas disini adalah proses penjadwalan sistem operasi WINDOWS XP.
Sasaran atau tujuan utama penjadwalan proses optimasi kinerja menurut kriteria
tertentu. dimana kriteria untuk mengukur dan optimasi kerja penjadwalan antara
lain :
- Agar semua pekerjaan memperoleh pelayanan yang adil (firness).
- Agar pemakaian prosesor dapat dimaksimumkan.
- Agar waktu tanggap dapat diminimumkan.
- Agar pemakaian sumber daya seimbang.
- Turn arround time, waktu sejak program masuk ke system sampai proses selesai.
- Efesien, proses tetap dalam keadaan sibuk tidak menganggur.
- Agar terobosan (thoughput) dapat dimaksimumkan.
Terdapat 3 tipe
penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
- Penjadwal jangka pendek (short term scheduller)Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
- Penjadwal jangka menengah (medium term scheduller)Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori utama dan ready.
- Penjadwal jangka panjang (long term scheduller)Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.
2.2 STRATEGI DALAM PROSES PENJADWALAN
Terdapat 2 strategi dalam penjadwalan,
yaitu :
Penjadwalan nonpreemptive (run-to-completion).
Yaitu saat proses diberi jatah layanan pemrosesan, pemroses tidak dapat
mengambil alih proses lain sampai proses itu
selesai. Non-preemptive juga disebut run-to-completion karena proses
yang telah dijadwalkan akan dijalankan sampai selesainya atau proses tersebut
meminta layanan masukan/keluaran.
Penjadwalan preemptive. Adalah
Saat proses pemberian jatah layanan pemrosesan, maka pemroses dapat
mengmbil alih proses lain yang mempunyai prioritas lebih tinggi berdasarkan
kriteria sistem itu. Pada penjadwalan ini, proses dapat diambil alih oleh
proses lain yang sebelumnya yang seharus nya selesai dan dilanjutkan menunggu
jatah waktu layanan pemroses tiba kembali pada proses itu. Proses yang disela ini
berubah menjadi state Ready.
Penjadwalan preemptive berguna
pada sistem yakni proses-proses yang perlu mendapat perhatian/ tanggapan
pemroses secara cepat. Misalnya :
- Pada sistem-sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal
- Pada sistem-sistem interatif timesharing, penjadwalan preemptive penting agar dapat menjamin waktu tanggap yang memadai.
· Penghitungan ulang
dari task yang memiliki prioritas yang dinamis berlangsung
ketika task telah menyelesaikan waktu kuantumnya dan akan dipindahkan
ke expired array. Jadi, ketika ada dua larik ( array) ditukar,
semua task di array aktif yang baru ditentukan prioritasnya
yang baru dan disesuaikan juga time slices-nya.
Windows XP menggunakan algoritma,
prioritas penjadwalan quantum-based berbasis reemptive priority
scheduling .
Threads dijadwalkan dalam proses, Karena prioritas preemptive algoritma
diimplementasikan dengan beberapa queue, dapat dianggap sebagai algoritma
multiple feedback-queue . Namun, masing-masing Threads biasanya terbatas
pada kelompok kecil dari 5 level prioritas,
Preemption dapat terjadi karena salah satu dari 4 alasan:
- thread menjadi prioritas lebih tinggi-siap
- thread berakhir
- kuantum habis waktu
- thread melakukan panggilan sistem pemblokiran, seperti untuk I / O, dalam hal ini meninggalkan keadaan ready menjadi keadaan menunggu.
· 32 tingkat prioritas digunakan, di mana prioritas 31 merupakan prioritas
tertinggi dan prioritas 0 adalah prioritas terendah
- memori manajemen thread: prioritas 0
- variabel kelas prioritas (1-15)
- real-time kelas prioritas (16-31)
- Threads di kelas real-time telah tetap prioritasnya.
- Threads yang berjalan selalu dengan tingkat prioritas tertinggi.
- Jika tidak ada thread yang ready, Threads idle dijalankan.
- Ketika waktu quantum thread habis, prioritasnya diturunkan, tetapi prioritasnya tidak pernah diturunkan terlalu jauh.
- Ketika Threads menjadi ready setelah keadaan menunggu, maka diberikan prioritas tertinggi setiap threads dari proses yang terkait dengan program yang saat ini pengguna gunakan diberikan prioritas lebih.
2.3 ALGORITMA DALAM PENJADWALAN PROSES
Algorima ini merupakan proses antrian,
yang mana proses akan mendapatkan jatah waktu sebesar time quantum. Jika waktu
quantumnya selesai maka prosesnya pun selesai. Proses ini merupakan proses yang
adil karena tidak ada proses yang didahulukan, semua proses mendapatkan jatah
waktu yang sama yaitu 1/n.
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
yang mana yang dating dahulu akan dilayani terlebih dahulu.Time quantum yang
ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih
kecil dari 1 time quantum.
Multiple Feedback Queue (MFQ)
Algoritma ini merupakan algoritma yang
mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU terlalu
lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Hal ini
akan sangat menguntungkan karena akan menggunakan waktu yang sedikit dalam
pengerjaan proses-proses tersebut. Demikian pula dengan proses yang menunggu
lama maka prose ini akan dinaikkan ke tingkat yang lebih tinggi. Dengan begitu
CPU akan bekerja dengan penuh dan M/K dapat terus sibuk. Semakin rendah
tingkatnya, panjang CPU burst proses juga semakin panjang.
Shortest Remaining First (SRF)
Pada algoritma ini
setiap proses yang ada di ready queue akan dieksekusi
berdasarkan burst time terkecil. Hal ini mengakibatkan waiting
time yang pendek untuk setiap proses dan karena hal tersebut
maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat
dikatakan bahwa algoritma ini adalah algoritma yang optimal.
Contoh: Ada 4 buah
proses yang datang berurutan yaitu P1 dengan arrival time pada 0.0 ms
dan burst time 7 ms, P2 dengan arrival time pada 2.0 ms
dan burst time 4 ms, P3 dengan arrival time pada 4.0 ms
dan burst time 1 ms, P4 dengan arrival time pada 5.0 ms
dan burst time 4 ms. Hitunglah waiting time rata-rata dan turnaround
time dari keempat proses tersebut dengan mengunakan algoritma
SJF. Average waiting timerata-rata untuk ketiga proses tersebut adalah
sebesar (0 +6+3+7)/4=4 ms.
Higest Ratio Next (HRN)
Higest Ratio Next
(HRN) Merupakan penjadwalan untuk mengoreksi kelemahan
SJFyang berprioritas dinamis. HRN Adalah strategi penjadwalan dengan
prioritas proses tidak hanya merupakan fungsi waktu layanan,tetapi juga jumlah
waktu tunggu proses. Begitu proses mendapat jatah pemroses, maka proses
berjalan sampai selesai. Prioritas dinamis HRN dihitung berdasarkan rumus
berikut : Prioritas = (waktu tunggu + waktu layanan ) / waktu layanan. Karena
waktu layanan muncul sebagai pembagi, maka job lebih pendek berprioritas lebih
baik, karena waktu tunggu sebagai pembilang, maka proses yang telah menunggu
lebih lama juga mempunyai kesempatan lebih bagus. Mengapa algoritma ini disebut
HRN karena waktu tunggu ditambah waktu layanan adalah waktu tanggap, yang
berarti waktu tanggap tertinggi yang harus dilayani.
Priority Schedulling (PS)
Priority Scheduling
merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki
prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing.
Prioritas suatu
proses dapat ditentukan melalui beberapa karakteristik antara lain:
1.
Time limit.
2.
Memory requirement.
3.
Akses file.
4.
Perbandingan antara burst M/K dengan CPU burst.
5.
Tingkat kepentingan proses.
Priority scheduling
juga dapat dijalankan secara preemptive maupun non preemptive. Pada preemptive,
jika ada suatu proses yang baru datang memiliki prioritas yang lebih tinggi
daripada proses yang sedang dijalankan, maka proses yang sedang berjalan tersebut
dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut.
Sementara itu, pada non-preemptive, proses yang baru datang tidak dapat
menganggu proses yang sedang berjalan, tetapi hanya diletakkan di depan queue.
Kelemahan pada
priority scheduling adalah dapat terjadinya indefinite blocking( starvation).
Suatu proses dengan prioritas yang rendah memiliki kemungkinan untuk tidak
dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi
darinya. Solusi dari permasalahan ini adalah aging, yaitu meningkatkan
prioritas dari setiap proses yang menunggu dalam queue secara bertahap. Contoh:
Setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam queue
dinaikkan satu tingkat. Maka, suatu proses yang memiliki prioritas 127, setidaknya
dalam 21 jam 20 menit, proses tersebut akan memiliki prioritas 0, yaitu
prioritas yang tertinggi (semakin kecil angka menunjukkan bahwa prioritasnya
semakin tinggi).
Guaranteed Scheduling (GS)
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 naik ketingkat lebih tinggi diatas pesaing
terdekatnya. Ide sederhana ini dapat diimplementasikan ke sistem real-time dan
memiliki penjadwalan berprioritas dinamis.
BAB III
PENUTUP
Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem
operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.
asaran atau tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu. dimana kriteria untuk mengukur dan optimasi kerja penjadwalan antara lain :
- Agar semua pekerjaan memperoleh pelayanan yang adil (firness).
- Agar pemakaian prosesor dapat dimaksimumkan.
- Agar waktu tanggap dapat diminimumkan.
- Agar pemakaian sumber daya seimbang.
- Turn arround time, waktu sejak program masuk ke system sampai proses selesai.
- Efesien, proses tetap dalam keadaan sibuk tidak menganggur.
- Agar terobosan (thoughput) dapat dimaksimumkan.
s pada sistem operasi ada tiga tipe penjadwalan , yaitu penjadwalan jangka pendek, jangka menengah dan jangka panjang
s
sedangkan penjadwalan nya dibagi menjadi dua ,yaitu non-preemtive dan penjadwalan secara preemtive
DAFTAR PUSTAKA

Tidak ada komentar:
Posting Komentar