Tipe-Tipe Penjadwalan
Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang kompleks, yaitu :
1. Penjadwal jangka pendek (short-tem scheduller)
2. Penjadwal jangka menengah (medium-term scheduller)
3. Penjadwal jangka panjang (long-term scheduller)
Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang kompleks, yaitu :
1. Penjadwal jangka pendek (short-tem scheduller)
2. Penjadwal jangka menengah (medium-term scheduller)
3. Penjadwal jangka panjang (long-term scheduller)
1. 1. 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 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.
1.
2. Penjadwal Jangka Menengah
Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan 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-proseslain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebutswapping. 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.
Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan 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-proseslain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebutswapping. 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.
2.
3. 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.
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.
Strategi Penjadwalan
Terdapat dua strategi penjadwalan,
yaitu:
1. Penjadwalan nonpreemptive (run – to
– completion)
2. Penjadwalan preemptive
1. Penjadwalan Nonpreemptive
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.
2. Penjadwalan Preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.
2. Penjadwalan preemptive
1. Penjadwalan Nonpreemptive
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.
2. Penjadwalan Preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.
Penjadwalan
preemptive berguna pada sistem dimana proses-proses yang mendapat perhatian
tanggapan pemroses secara cepat. Misalnya :
– Pada sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal.
– Pada sistem interaktif/time-sharing, penjadwalan preemptive penting agar dapat menjamin waktu tanggap yang memadai.
– Pada sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal.
– Pada sistem interaktif/time-sharing, penjadwalan preemptive penting agar dapat menjamin waktu tanggap yang memadai.
Penjadwalan
preemptive bagus, tapi tidak tanpa ongkos. Peralihan proses (yaitu proses
beralih ke proses lain) memerlukan overhead (karena banyak tabel yang
dikelola). Agar preemptive efektif, banyak proses harus berada di memori utama
sehingga proses-proses tersebut dapat segera running begitu diperlukan.
Menyimpan banyak proses tak running benar-benar di memori merupakan suatu
overhead tersendiri
Algoritma Penjadwalan
Terdapat banyak algoritma penjadwalan ,baik nonpreemptive maupun preemptive
Terdapat banyak algoritma penjadwalan ,baik nonpreemptive maupun preemptive
Algoritma-algoritma yang menerapkan strategi
nonpreemptive diantaranya :
- FIFO (Frist In First Out)
- SJF (Shortest Job First)
- HPRN (Highest Penalti Ratio Net)
- MFQ (Multiple Feedback Queues).
Algoritma-algoritma yang menerapkan
strategi preemptive diantaranya:
- RR (Round Robin)
- SRF (Shortest remaining First)
- PS (Priority Schedulling)
- GS (Guaranteed Schedulle)
Penjadwalan FIFO
Penjadwalan ini merupakan:
– Penjadwalana non-preemptive
– Penjadwalan tidak berprioritas
Penjadwalan ini merupakan:
– Penjadwalana non-preemptive
– Penjadwalan tidak berprioritas
Ketentuan:
Penjadwalan FIFO adalah penjadwalan paling sederhana, yaitu:
– Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
– Begitu proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.
Penjadwalan ini dikatakan adil dalam arti resmi (dalam semantik/arti antrian, yaitu proses yang datangduluan, dilayani duluan juga), tapi dinyatakan tak adil karena job-job yang perlu waktu lama membuat job-job pendek menunggu. Job-job tak penting dapat membuat job-job penting menunggu.
Penjadwalan FIFO adalah penjadwalan paling sederhana, yaitu:
– Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
– Begitu proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai.
Penjadwalan ini dikatakan adil dalam arti resmi (dalam semantik/arti antrian, yaitu proses yang datangduluan, dilayani duluan juga), tapi dinyatakan tak adil karena job-job yang perlu waktu lama membuat job-job pendek menunggu. Job-job tak penting dapat membuat job-job penting menunggu.
FIFO jarang
digunakan secara mandiri tapi dikombinasikan dengan skema lain, misalnya, keputusan berdasarkan prioritas proses. Untuk proses-proses berprioritas
sama diputuskan berdasarkan FIFO.
Berdasarkan kriteria penilaian penjadwalan :
– Fairness
Penjadwalan FIFO adil bila dipandang dari semantik antrian.
– Efesiensi
Penjadwalan FIFO sangat efesien
– Waktu tanggap
Penjadwalan FIFO sangat jelek, tidak cocok untuk sistem interaktif apalagi waktu nyata.
– Turn arround time
Penjadwalan FIFO jelek
– Throughput
Penjadwalan FIFO jelek.
Penggunaan:
– Cocok untuk sistem batch yang sangat jarang interaksi dengan pemakai. Contoh aplikasi analisis numerik, pembuatan tabel.
– Penjadwalan ini sama sekali tak berguna untuk sistem interaktif karena tidak memberi waktu tanggap yang bagus.
– Tidak dapat digunakan untuk sistem waktu nyata.
Berdasarkan kriteria penilaian penjadwalan :
– Fairness
Penjadwalan FIFO adil bila dipandang dari semantik antrian.
– Efesiensi
Penjadwalan FIFO sangat efesien
– Waktu tanggap
Penjadwalan FIFO sangat jelek, tidak cocok untuk sistem interaktif apalagi waktu nyata.
– Turn arround time
Penjadwalan FIFO jelek
– Throughput
Penjadwalan FIFO jelek.
Penggunaan:
– Cocok untuk sistem batch yang sangat jarang interaksi dengan pemakai. Contoh aplikasi analisis numerik, pembuatan tabel.
– Penjadwalan ini sama sekali tak berguna untuk sistem interaktif karena tidak memberi waktu tanggap yang bagus.
– Tidak dapat digunakan untuk sistem waktu nyata.
Proses Terpendek Dipertamakan (PTD) / Shortest Job First (SJF)
Penjadwalan ini adalah antrian dengan prioritas
tanpa preempsi, yang menjadi prioritas adalah proses yang terpendek (tersingkat), makin
pendek proses, makin tinggi prioritasnya.
Penjadwalan ini merupakan :
– Penjadwalan non-preemptive
– Penjadwalan tak berprioritas
– Penjadwalan non-preemptive
– Penjadwalan tak berprioritas
Disusun urutan proses berdasarkan
prioritasnya, yaitu CDAB, tetapi pada saat tiba = 0, proses terpendek C belum
datang, maka mengerjakan proses A dahulu, setelah selesai pada saat 5, proses C
sudah datang, sehingga C dikerjakan dan seterusnya seperti :
Keuntungan : memperkecil rata-rata lama tanggap
Kelemahan
: layanan terhadap proses
panjang bisa tidak terlayani jika
proses pendek datang terus.
Nama : Ani Yunita Sari (10111910)
Kelas : 2KA24
Tugas : Sistem Operasi Kelompok 1