Ticker

6/recent/ticker-posts

Advertisement

Responsive Advertisement

Penjadwalan CPU (Algoritma FIFO dan SJF) dengan java

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



munkin cukup sekian materi dari saya, kurang lebihnya minta maaf.
kalau ada yang request materi dapat komen dibawah atau kirim pesan ke saya. 

terimakasih

Wassalamualaikum wr. wb

 


Post a Comment

0 Comments