Nama : Ni Kade Mega Handayani.
Nim : 1605551030.
Dosen : I Putu Agus Eka Pratama ST., MT.
Matakuliah : Network Operating System ( Pertemuan 3).
Universitas : Udayana, Fakultas Teknik, Program Studi Teknologi Informasi.
[2]http://blog.ugm.ac.id/2010/09/22/multiprogramming-multiprocessing-multitasking-timesharing-2-2/
[3]http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/2003/49/produk/SistemOperasi/c32.html
[4] http://singgih.staff.gunadarma.ac.id/Downloads/files/1785/TOT-SistemOperasi4-6.pdf
[5] I Putu Agus Eka Pratama. "PPT Network Operating System Pertemuan 3". 2018.
Nim : 1605551030.
Dosen : I Putu Agus Eka Pratama ST., MT.
Matakuliah : Network Operating System ( Pertemuan 3).
Universitas : Udayana, Fakultas Teknik, Program Studi Teknologi Informasi.
Scheduling (penjadwalan)
Penjadwalan pada proses sistem operasi adalah 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 ada di dalam sistem operasi apapun.
Berikut adalah beberapa alasan mengapa penjadwalan diperlukan dalam proses sistem operasi diantaranya :
- Kernel (inti sistem operasi) memiliki utilitas, fungsi – fungsi utama, dan dukungan terhadap software dan hardware (sesuai dengan arsitektur komputer : 32 atau 64)
- Process pada sistem operasi, di mana kernel memiliki peran mengelola sumber daya komputer dan memungkinkan program lain untuk menjalankan dan menggunakan sumber daya komputer, menjalankan aplikasi suatu kernel pertama kali harus menyediakan space address untuk aplikasi lalu men-load file yang berisi kode aplikasi ke dalam memory, mempersiapkan stack untuk program dan percabangan ke lokasi lain untuk program, dan kemudian baru memulai eksekusi program
- Memiliki kemapuan multiprogramming pada sistem operasi.
Multiprogramming
Multiprogramming merupakan kemampuan sistem operasi untuk menjalankan 2 aplikasi atau lebih secara bersama – sama, menghasilkan sejumlah proses. Konsep dasar dari multiprogramming ini adalah: suatu proses akan menggunakan CPU sampai proses tersebut dalam status wait (misalnya meminta I/O) atau selesai. Pada saat wait , maka CPU akan nganggur (idle). Untuk mengatasi hal ini, maka CPU dialihkan ke proses lain pada saat suatu proses sedang dalam wait, demikian seterusnya. Pada sistem multiprogramming, sistem operasi harus menyediakan mekanisme untuk manajemen memori, penjadwalan CPU dan manajemen disk. Sistem operasi multiprogram menyediakan supply untuk I/O routine. Sistem harus dapat mengalokasikan memory untuk beberapa job.
Multiprocessing
Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Perbedaan diantranya multiprogramming dan multiprocessing :
- Multiprogramming lebih ditekankan di sisi software.
- Multiprocessing lebih ditekankan di sisi hardware.
Peran Scheduling
- Memaksimalkan throughput, throughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/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, 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
- Meminimalkan waktu tanggap (time respond), waktu tanggap berbeda untuk : Sistem interaktif yang didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time. Sistem waktu nyata didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.
- Optimalisasi sumber daya (resource).
4 Jenis Scheduling
- .Long Term Scheduling, penjadwalan dengan menambahkan pool untuk process yang akan dieksekusi. Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah
- Medium Term Scheduling, penjadwalan dengan menambahkan jumlah dari process baik secara penuh maupun parsial di dalam memori utama. 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. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan proses dimasukkan kembali ke memori utama dan read
- Short Term Scheduling, penjadwalan dengan memilih process mana yang akan dieksekusi terlebih dahulu oleh processor dalam waktu singkat. 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
- I/O Scheduling, penjadwalan dengan memilih process mana yang tertunda yang dapat dilanjutkan kembali berdasarkan ketersediaan perangkat I/O.
Gambar 1 Penjadwalan dan Proses Transisi Sistem Operasi
Gambar 1 merupakan alur kerja dari penggunaan jenis penjadwalan yang sudah dijelaskan diatas, dimulai dari status proses new ke ready/suspend menggunakan jenis penjadwaln long term schedulling membutuhkan waktu yang lebih lama karena batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan/keluaran), status proses ready ke ready, dimana sistem sudah berstatus siap akan menggunakan jenis penjadwalan tipe medium, dan untuk statuus ready ke runnung menggunakan tipe short term schedulling.
Scheduling dan State Process
Scheduling selalu berhubungan dengan process, sehingga juga berhubungan dengan kondisi (state) dari process. Hubungan tersebut dapat dilihat pada Gambar 1 diatas dimana status proses menentukan jenis tipe penjadwalan yang kana digunakan, beda status maka jenis schedulling yang digunakan berbeda tergantung dari kebuhutan waktu yang diperlukan, jika suatu sistem operasi tidak memiliki penjadwalan bisa dibayang saat menghidupkan sebuah komputer kita tidak tau harus seberapa menunggu sampai dia hidup hanya loading saja.
Queue Scheduling
Gambar 2 Diagram Queueing Penjadwalan
Gambar 2 merupakan penjadwalan proses dapat direpresentasikan secara umum dalam bentuk diagram antrian, seperti yang ditunjukkan oleh diatas. Setiap kotak segi empat menunjukkan sebuah antrian. Dua tipe antrian menunjukan antrian yang siap dan seperangkat device queues . Lingkaran menunjukkan sumber daya yang melayani antrian, dan tanda panah mengindikasikan alur dari proses-proses yang ada dalam sistem.
Level Scheduling
Gambar 3 Level Penjadwalan
Gambar 3 merupakan penjadwalan yang digambarkan dengan memberikan level pada setiap proses yang terjadi dimulai dari level awal yang memerlukan waktu yang lebih lama sampai waktu yang lebih cepat.
Algoritma Scheduling
Agoritma scheduling di dalam sisem operasi sangat banyak dan berbeda-beda dalam pembahasan ini kiat akan menjelaskan beberapa algoritma yang 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
1. Round Robin
Algoritma Round Robin menggunakan konsep antrian (queue). Penjadwalan yang paling tua, sederhana, adil,banyak digunakan algoritmanya dan mudah diimplementasikan. Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal berdasarkan lama waktu berjalannya proses (preempt by time). Penjadwalan tanpa prioritas. Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak ada prioritas tertentu. Setiap process memiliki time quantum untuk menandai waktu dari process. Time quantum selesai = proses selesai. Setiap proses diberi nilai yang sama untuk time quantum yaitu 1/n Time quantum jangan terlalu kecil (process tidak dapat selesai dalam 1 quantum), jangan juga terlalu besar (akan menjadi FCFS/First Come First Serve). Nilai idela time quantum = 80 (dari skala 0 - 100)
2. First In First Out (FIFO)
FIFO merupakan algoritma penjadwalan tidak berprioritas. FIFO adalah penjadwalan paling sederhana, yaitu :
- Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
- Pada saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.
Process yang lebih dahulu datang = segera dieksekusi, jika tidak ikuti atrian. Baik untuk proses yang panjang atau pendek tetap sesuai waktu kedatangan. Kerugian dari algortma ini dapat merugikan process pendek. Untuk mengatasi kekurangan algoritma tersebut dibuatlah algortma solusi SJF.
Penjadwalan ini :
- Baik untuk sistem batch yang sangat jarang berinteraksi dengan pemakai. Contoh : aplikasi analisis numerik, maupun pembuatan tabel.
- Sangat tidak baik (tidak berguna) untuk sistem interaktif, karena tidak memberi waktu tanggap yang baik. Tidak dapat digunakan untuk sistem waktu nyata (real-time applications).
3. Shortest Job First (SJF)
Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai diketahui sebelumnya. Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah dan penjadwalannya tak berprioritas. Memperbaiki FIFO Process yang lebih pendek akan didahulukan/diprioritaskan dengan mencek masing – masing process. Kekurangan dari SJF :
- Tidak mengetahui ukuran job saat job masuk.
- Untuk mengetahui ukuran job adalah dengan membuat estimasi berdasarkan kelakukan sebelumnya.
- Proses yang tidak datang bersamaan, sehingga penetapannya harus dinamis.
- Penjadwalan ini jarang digunakan, karena merupakan kajian teoritis untuk pembandingan turn around time.
Daftar Pustaka
[1]http://ichsantcb.blogspot.co.id/2013/03/pengertian-dan-fungsi-kernel.html[2]http://blog.ugm.ac.id/2010/09/22/multiprogramming-multiprocessing-multitasking-timesharing-2-2/
[3]http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/2003/49/produk/SistemOperasi/c32.html
[4] http://singgih.staff.gunadarma.ac.id/Downloads/files/1785/TOT-SistemOperasi4-6.pdf
[5] I Putu Agus Eka Pratama. "PPT Network Operating System Pertemuan 3". 2018.