Nama
: I Nyoman Krisna Pranata
NIM
: 1605551114
Matakuliah
: Network Operating System
Dosen
: I Putu Agus Eka Pratama,
S.T.,M.T.
TEKNOLOGI
INFORMASI/TEKNIK/UNIVERSITAS UDAYANA
SCHEDULING
Pada
artikel kali ini saya akan membahas mengenai scheduling, disini saya akan
membahas 4 hal yang perlu kita ketahui mengenai scheduling.
- Konsep dasar dan defisini dari scheduling.
- Scheduling, Process, dan MultiProgramming.
- Empat Jenis Scheduling.
- Algoritma pada Scheduling.
Konsep
dasar dan definisi dari Scheduling
Sebenarnya apa itu Scheduling (penjadwalan)? Scheduling
disini merupakan satu atau beberapa buah aturan, mekanisme, dan prosedur di
dalam sistem operasi (melibatkan kernel, aplikasi, process) terkait dengan
urutan kerja yang dilakukan oleh komputer dan sistem komputer. Scheduling
disini ada di dalam sistem operasi apapun.
MultiProgramming
Multiprograming adalah kegiatan
menjalankan beberapa program pada memori pada satu waktu.Contoh dalam satu
waktu sebuah program sedang menggunakan CPU, sedangkan program yang lain
menggunakan printer
Multiprosessing
Multiprosessing
Multiprosessing adalah Kemampuan komputer
untuk melakukan beberapa prosesdalam waktu bersamaan,dengan keberadaanteknologi
berbasis multiprocessor . Contoh computer server
Lalu,
Apa bedanya multiprogramming dengan multiprocessing? Multiprogramming lebih
ditekankan di sisi software, sedangkan Multiprocessing lebih ditekankan di sisi
hardware.
Peran
Scheduling
Dalam proses scheduling, scheduling juga
memiliki perannya, diantaranya memaksimalkan throughput, memaksimalkan kinerja
dan waktu processor, efisiensi proses, keadilan pada semua job, waktu respon,
danoptimalisasi sumber daya.
- Memaksimalkan throughput. Throughput Yaitu jumlah kerja yang dapat diselesaikan dalam satu unit waktu.Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses persatu interval waktu.
- Memaksimalkan kinerja dan waktu processor.
- Efsiensi process. Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
- Keadilan (fairness) pada semua job dan aplikasi. Fairness Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
- Response time. Waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang menanggapi permintaan tersebut.Sasaran penjadwalan adalah meminimalkan waktu tanggap
- Optimalisasi sumber daya (resource).
Jenis
Scheduling
Penjadwalan sendiri dapat dibagi menjadi 4
yaitu penjadwalan jangka Panjang, penjadwalan jangka menengah, penjadwalan jangka pendek, dan penjadwalan I/O, Gambaran untuk jenis
-jenis penjadwalan adalah sebagai berikut :
1. Penjadwalan
jangka Panjang
Penjadwalan
Jangka Panjang (Long Term) bisa diartikan sebagai suatu penambahan proses baru
ke dalam sekelompok proses yang akan dieksekusi oleh computer. Penjadwalan ini
terjadi ketika suatu proses yang baru diciptakan dan masih berlokasi di dalam
HDD (Harddisk). Pada penjadwalan jangka panjang apabila makin banyak proses yang
diciptakan maka kualitas tiap layanan untuk setiap proses berkurang.
2. Penjadwalan
Jangka menengah
Penjadwalan
jangka menengah atau medium-term adalah suatu keputusan menambah suatu proses
secara keseluruhan/sebagian ke dalam memori utama, scheduling tersebut terjadi
saat swapping.
3. Penjadwalan
jangka pendek
Penjadwalan
jangka pendek atau short term adalah keputusan di mana memilih salah satu
proses yang akan dieksekusi diantara beberapa jumlah proses yang sudah atau
telah siap dieksekusi. Scheduling ini sangat sering dilakukan dan penjadwalan
tersebut juga mempunyai tugas untuk mengirimkan job (dispatcher).
4. Penjadwalan
I/O
Penjadwalan
I/O sendiri berarti memilih proses yang mana yang akan diberi kesempatan
terlebih dahulu untuk menggunakan I/O device diantara beberapa proses yang akan
sama-sama menggunakan device tersebut.
Gambar diatas menunjukan jenis – jenis scheduling
berhubungan dengan process, sehingga juga berhubungan dengan kondisi (state)
dari process.
Algoritma Scheduling
Ada
banyak sekali agoritma scheduling di dalam sisem operasi, namun akan dibahas
yang terpenting saja (fundamental dan digunakan di banyak sistem operasi :
windows, linux, mac, free bsd, android) .Algoritma scheduling membantu alur
scheduling pada sistem serta membantu programmer di dalam pengembangan aplikasi
terkait dengan sistem operasi. Ada 3 algoritma dalam scheduling yaitu :
1. Round-Robin
Scheduling
Konsep dasar dari algoritma ini
adalah dengan menggunakan time-sharing. Pada dasarnya algoritma ini sama dengan
FCFS, hanya saja bersifat preemptive. Setiap proses mendapatkan waktu CPU yang
disebut dengan waktu quantum (quantum time) untuk membatasi waktu proses,
biasanya 1-100 milidetik. Setelah waktu
habis, proses ditunda dan ditambahkan pada ready queue.
Jika terdapat n proses pada ready
queue dan waktu quantum q, maka setiap proses mendapatkan 1/n dari waktu CPU
paling banyak q unit waktu pada sekali penjadwalan CPU. Tidak ada proses yang menunggu lebih dari
(n-1) unit waktu. Performansi algoritma
round robin dapat dijelaskan sebagai berikut, jika q besar, maka yang digunakan
adalah algoritma FIFO, tetapi jika q kecil maka sering terjadi context switch.
2. First-Come
First-Served Scheduling (FCFS)
Proses
yang pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani
terlebih dahulu. Pada skema ini, proses yang meminta CPU pertama kali akan
dialokasikan ke CPU pertama kali. Algoritma FCFS termasuk non-preemptive.
karena, sekali CPU dialokasikan pada suatu proses, maka proses tersebut tetap
akan memakai CPU sampai proses tersebut melepaskannya, yaitu jika proses
tersebut berhenti atau meminta I/O.
3. Shortest
Job First Scheduler (SJF)
Pada penjadwalan SJF, proses yang
memiliki CPU burst paling kecil dilayani terlebih dahulu. Terdapat dua skema :
1. Non
preemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU
burst selesai.
2. Preemptive,
jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu
proses yang saat itu sedang dieksekusi, proses ini ditunda dan diganti dengan
proses baru. Skema ini disebut dengan
Shortest-RemainingTime-First (SRTF).
SJF
adalah algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang
minimal. Meskipun algoritma ini optimal, namun pada kenyataannya sulit untuk
diimplementasikan karena sulit untuk mengetahui panjang CPU burst berikutnya.
Namun nilai ini dapat diprediksi. CPU
burst berikutnya biasanya diprediksi sebagai suatu rata-rata eksponensial yang
ditentukan dari CPU burst sebelumnya atau “Exponential Average”.

Tidak ada komentar:
Posting Komentar