Jumat, 01 November 2019

Penjadwalan Proses

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 SOLARIS, LINUX, dan 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.

TUJUAN PENJADWALAN PROSES

1.  Supaya semua pekerjaan memperoleh pelayanan yang adil (fairness
2.  Supaya pemakaian prosesor dapat dimaksimumkan 
3. Supaya waktu tanggap dapat diminimumkan, berupa waktu tanggap nyata dan waktu dan tanggap maya
4.  Supaya pemakaian sumber daya seimbang 
5.  Turn arround time, waktu sejak program masuk ke sistem sampai proses selesai
6.   Efesien, proses tetap dalam keadaan sibuk tidak menganggur.
7. Supaya terobosan (thoughput) dapat dimaksimumkan 

Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:


  1. Penjadwal jangka pendek (short term scheduller)
  2. Penjadwal jangka menengah (medium term scheduller)
  3. Penjadwal jangka panjang (long term scheduller)
  • Penjadwal Jangka Pendek
Penjadwal ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. Sasaran utama penjadwal ini memaksimalkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapakan. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.

  • Penjadwal jangka menengah
Penjadwal jangka menengah adalah menangani proses-proses swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya terunda hilang dan proses dimasukkan kembali ke memori utama dan ready. Penjadwal jangka menengah mengendalikan transisi dari suspended-ready (dari keadaan suspend ke ready) proses-proses swapping.

  • Penjadwal Jangka Panjang

Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu proses, memori, perangkat I/O), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah. Sasaran utama penjadwal jangka pangjang adalah memberi keseimbangan job-job campuran. Dikaitkan dengan state-state proses.




ALGORITMA PENJADWALAN DALAM SISTEM OPERASI


1. Round Robin.

Yaitu salah satu Algoritma penjadwalan yang menggilir proses secara berurutan. Dalam algoritma ini setiap proses akan mendapatkan waktu dari CPU yang kita kita sebut dengan time quantum. Time quantum adalah suatu satuan waktu.
Time quantum inilah yang menentukan proses mana yang akan dikerjakan terlebih dahulu oleh CPU dan kemudian proses mana yang akan dilakukan berikutnya.
Biasanya suatu proses mendapat jatah time quantum yang sama dari CPU yakni 1-100 milidetik atau (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 time 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.

2. FCFS (First Come First Served)



Algoritma ini merupakan algoritma penjadwalan yang paling sederhana yang digunakan CPU. Dengan menggunakan algoritma ini setiap proses yang berada pada status ready dimasukkan kedalam FIFO queue atau antrian dengan prinsip first in first out, sesuai dengan waktu kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi.


3.Priority Scheduling

Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing.

Prioritas tersebut dapat ditentukan melalui beberapa karakteristik antara lain:
-          Time limit
-          Memory requirement
-          Akses file
-          Perbandingan antara I/O Burst dengan CPU Burst
-          Tingkat kepentingan proses
Priority scheduling juga dapat dijalankan secara preemptive maupun nonpreemptive.
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 dalam queue.


4.Shortest-Job-First-Scheduling (SJF)

Algoritma Shortest Job First Scheduling (SJF) ini memungkinkan setiap proses yang memiliki burst time (waktu pengerjaan) terkecil yang akan dikerjakan terlebih dahulu. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan otomatis waiting time rata-ratanya juga menjadi pendek pula, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.

Algoritma Shortest Job First Scheduling (SJF) ini memiliki 2 jenis, yaitu :

a.      Shortest Job First Scheduling Non-preemptive

CPU tidak memperbolehkan proses yang ada di ready queue untuk menggeser proses yang sedang dieksekusi oleh CPU meskipun proses yang baru tersebut mempunyai burst time yang lebih kecil. 
b.      Shortest Job First Scheduling Preemptive

Jika ada proses yang sedang dieksekusi oleh CPU dan terdapat proses di ready queue dengan burst time yang lebih kecil daripada proses yang sedang dieksekusi tersebut, maka proses yang sedang dieksekusi oleh CPU akan digantikan oleh proses yang berada di ready queue tersebut. Preemptive SJF sering disebut juga Shortest-Remaining-Time-First scheduling.



Tidak ada komentar:

Posting Komentar