UA-118748266-1 SCHEDULING - NETWORK OPERATING SYSTEM

Blog ini mengandung informasi mengenai sistem operasi dan network operating system.

Rabu, 28 Februari 2018

SCHEDULING


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.
  1.      Konsep dasar dan defisini dari scheduling.
  2.      Scheduling, Process, dan MultiProgramming.
  3.      Empat Jenis Scheduling.
  4.      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 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.
  1. Memaksimalkan throughput. Throughput Yaitu jumlah kerja yang dapat diselesaikan dalam satu unit waktu.Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses persatu interval waktu.
  2. Memaksimalkan kinerja dan waktu processor.
  3. Efsiensi process. Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
  4. 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.
  5. 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
  6. 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