Assalamualaikum wr.wb,
Pertama-tama puji syukur kepada Allah SWT yang telah memberikan waktu dan kesehatan untuk saya agar dapat kembali mengisi konten pada blog ini, dan tak lupa solawat serta salam tercurah pada nabi Muhammad SAW.
Saya memohon maaf karena saya sudah lama sekali tidak membuka blog ini, sehingga banyak komen-komen yang tidak terjawab. akan tetapi selanjutnya saya akan mencoba lebih aktif untuk mengisi dan mengelola blog ini.
yak pada kesempatan ini saya akan membahas mengenai penjadwal CPU,
langsung cuss aja ke materinya :
1.
PENJADWALAN CPU
Penjadual CPU adalah basis dari multi
programming sistem operasi. Dengan men-switch CPU diantara proses. Akibatnya
sistem operasi bisa membuat komputer produktif.
Algoritma penjadual CPU yang berbeda
mempunyai property yang berbeda. Dalam memilih algoritma yang digunakan untuk
situasi tertentu, kita harus memikirkan properti yang berbeda untuk algoritma
yang berbeda. Banyak kriteria yang dianjurkan utnuk membandingkan penjadual CPU
algoritma. Kritria yang biasanya digunakan dalam memilih adalah :
1.
CPU
utilization: kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan
mempunyai range dari 0 ke 100 persen. Di sistem yang sebenarnya seharusnya ia
mempunyai range dari 40 persen samapi 90 persen.
2.
Throughput:
jika CPU sibuk mengeksekusi proses, jika begitu kerja telah dilaksanakan. Salah
satu ukuran kerja adalah banyak proses yang diselesaikan per unit waktu,
disebut througput. Untuk proses yang lama mungkin 1 proses per jam; untuk
proses yang sebentar mungkin 10 proses perdetik.
3.
Turnaround
time: dari sudur pandang proses tertentu, kriteria yang penting adalah berapa
lama untuk mengeksekusi proses tersebut. Interval dari waktu yang diizinkan
dengan waktu yang dibutuhkan untuk menyelesaikan sebuah prose disebut
turnaround time. Trun around time adalah jumlah periode untuk menunggu untuk
bisa ke memori, menunggu di ready queue, eksekusi di CPU, dan melakukan I/O.
4.
Waiting time: algoritma penjadual CPU tidak
mempengaruhi waktu untuk melaksanakan proses tersebut atau I/O; itu hanya mempengaruhi
jumlah waktu yang dibutuhkan proses di antrian ready. Waiting time adalah
jumlah periode menghabiskan di antrian ready.
5.
Response
time: di sistem yang interaktif, turnaround time mungkin bukan waktu yang
terbaik untuk kriteria. Sering sebuah proses bisa memproduksi output diawal,
dan bisa meneruskan hasil yang baru sementara hasil yang sebelumnya telah
diberikan ke user. Ukuran yang lain adalah waktu dari pengiriamn permintaan
sampai respon yang pertama di berikan. Ini disebut response time, yaitu waktu
untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untu
respon tersebut. Biasanya yang dilakukan adalah memaksimalkan CPU utilization
dan throughput, dan minimalkan turnaround time, waiting time, dan response time
2.
ALGORITMA
PENJADUAL FIRST COME, FIRST SERVED
Penjadual CPU berurusan dengan
permasalahan memutuskan proses mana yang akan dillaksanakan, oleh karena itu
banyak bermacam algoritma penjadual, di seksi ini kita akan mendiskripsikan
beberapa algoritma.
Ini merupakan algoritma yang paling
sederhana, dengan skema proses yang meminta CPU mendapat prioritas.
Implementasi dari FCFS mudah diatasi dengan FIFO queue.
Contoh:
misal urutan kedatangan adalah P1, P2,
P3 Gantt Chart untuk ini adalah:
·
Waiting
time untuk P1 = 0; P2 = 24; P3 = 27
·
Average
waiting time: (0 + 24 + 27)/3 = 17
Dari dua contoh diatas bahwa kasus
kedua lebih baik dari kasus pertama, karena pengaruh kedatangan disamping itu
FCFS mempunyai kelemahan yaitu convoy effect dimana seandainya ada sebuah
proses yang kecil tetapi dia mengantri dengan proses yang membutuhkan waktu
yang lama mengakibatkan proses tersebut akan lama dieksekusi.
Penjadual FCFS algoritma adalah
nonpremptive. Ketika CPU telah dialokasikan untuk sebuah proses, proses tetap
menahan CPU sampai selssai. FCFS algortima jelas merupakan masalah bagi sistem
time-sharing, dimana sangat penting untuk user mendapatkan pembagian CPU pada
regular interval. Itu akan menjadi bencana untuk megizinkan satu proses pada
CPU untuk waktu yang tidak terbatas.
3. PENJADWALAN SHORTEST JOB
FIRST
Salah satu algoritma yang lain adalah Shortest Job First. Algoritma ini berkaitan dengan waktu setiap proses. Ketika CPU bebas proses yang mempunyai waktu terpendek untuk menyelesaikannya mendapat prioritas. Seandainya dua proses atau lebih mempunyai waktu yang sama maka FCFS algoritma digunakan untuk menyelesaikan masalah tersebut.
Contoh :
4. BASH-SCRIPT
Bash-script adalah
file yang berisi koleksi program yang dapat dieksekusi. Untuk eksekusi bash script gunakan . sebelum
file bash-script yang berarti eksekusi shell dan tanda ./ berarti file
bash-script berada pada direktori actual.
5. JOB CONTROL
Job adalah sebuah eksekusi program yang diberikan kepada kernel. Sebuah Job dianggap selesai, bila eksekusi program tersebut berakhir. Eksekusi Job adalah sama dengan eksekusi program, baik proses Background maupun proses Foreground.
pada kali ini saya akan memberikan program untuk algoritma panjadwalan CPU FIFO (first in first out) dan SJF (Shortest Job First) dengan menggunakan bahasa pemrograman java:
Program Algoritma Schedulling FIFO
a. Tampilan
Awal Program
b. Menginputkan
proses FIFO
c. Tabel
dan Gant Chart Proses
Program Algoritma Schedulling SJF
a.
Menginputkan
Proses SJF
b.
Tabel
dan Gant Chart Proses SJF
SOURCE CODE DAPAT DI DOWNLOAD disini
kalau ada yang request materi dapat komen dibawah atau kirim pesan ke saya.
0 Comments