Nama : I Dewa Gede Suryadiantha Wedagama
NIM : 1905551138
Jurusan/Fakultas/Universitas : Teknologi Informasi / Teknik / Universitas Udayana
Mata Kuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, S.T., M.T.
Apa itu Scheduling?
Scheduling merupakan pejadwalan proses sistem operasi atau proses didalamnya sehingga mendapatkan hasil maksimal dalam melakukan proses. Pada artikel ini akan dijelaskan tentang konsep dasar, multiprogramming, peran, jenis, dan algoritma scheduling.
Scheduling diperlukan agar setiap proses dan fungsi-fungsi utama dalam sistem operasi dapat berjalan dengan kinerja yang baik, dan memperkecil kemungkinan kegagalan saat sistem operasi berjalan. Selain itu penjadwalan ini ada juga karena dalam sistem operasi ada istilah “multiprogramming”.
Multiprogaming dan Multiprocesing
Multiprogramming adalah kemampuan sistem operasi untuk menjalankan 2 aplikasi atau lebih secara bersama-sama, menghasilkan sejumlah proses. Sedangkan multiprocessing adalah kemampuan penanganan 2 process atau lebih secara bersama-sama. Perbedaannya adalah multiprogramming lebih ditekankan di sisi software sedangkan multiprocessing lebih ditekankan di sisi hardware.
Peran Scheduling
- Memaksimalkan throughput
- Memaksimalkan kinerja dan waktu processor
- Efsiensi process
- Keadilan (fairness) pada semua job dan aplikasi
- Meminimalkan waktu tanggap (time respond)
- Optimalisasi sumber daya (resource)
Jenis Scheduling
1. Long Term Scheduling.
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.
2. Medium Term Scheduling.
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif.
3. Short Term Scheduling.
Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama. Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan dalam waktu singkat.
4. I/O Scheduling. Memilih proses mana yang tertunda yang dapat dilanjutkan kembali berdasarkan ketersediaan perangkat I/O.
Scheduling dan Process State Transitions
Scheduling selalu berhubungan dengan proses, sehingga juga berhubungan dengan kondisi dari proses(new, ready, running, blocked, dan terminated).Queuing diagram for scheduling
Apabila waktu proses melebihi timeout proses akan diputus dan dilanjutkan oleh proses yang mengantri dibelakang. Apabila proses sudah ready maka proses sudah bisa dilanjutkan menuju processor.
Algoritma Scheduling
Algoritma scheduling membantu alur scheduling pada sistem serta membantu programmer di dalam pengembangan aplikasi terkait dengan sistem operasi. Beberapa jenis algoritma scheduling dapat dijelaskan sebagai berikut.
1. Round Robin
Round Robin merupakan salah satu algoritma penjadwalan yang paling sederhana untuk proses dalam sistem operasi. Seperti umumnya istilah ini digunakan, irisan waktu ditugaskan untuk setiap proses pada porsi yang sama dan dalam urutan melingkar, menjalankan semua proses tanpa prioritas (dikenal juga sebagai eksekutif siklik). Penjadwalan round-robin itu sederhana, mudah diterapkan, dan bebas starvation. Penjadwalan round-robin juga dapat diterapkan untuk masalah penjadwalan lainnya, seperti penjadwalan paket data dalam jaringan komputer.
2. FIFO (First in First Out)
Algoritma scheduling FIFO menggunakan konsep dimana proses yang lebih dahulu datang akan segera dieksekusi. Waktu eksekusi setiap proses tidaklah sama, Jika ada proses panjang atau pendek, akan diselesaikan sesuai waktu kedatangan. hal tersebut akan merugikan proses yang hanya membutuhkan waktu sebentar. FIFO jarang digunakan secara mandiri, tetapi dikombinasikan dengan skema lain, misalnya : Keputusan berdasarkan prioritas proses.
3. Shortest Job First
Algoritma scheduling Shortest Job First memperbaiki kekurangan dari FIFO, dimana proses yang pendek akan didahulukan sehingga meskipun antrian panjang, proses yang pendek akan tetap didahulukan.
Refrensi
I Putu Agus Eka Pratama, Materi Pertemuan 3 Scheduling, (materi dalam bentuk power point).
Komentar
Posting Komentar