Penjadwalan
Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem
operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.
Penjadwalan bertugas memutuskan hal-hal berikut :
- Proses yang harus berjalan.
- Kapan dan selama berapa lama proses berjalan.
Umumnya penjadwalan digunakan dalam multiprograming.Adapun kunci untuk
multi-pemrograman :
- Penjadwalan jangka panjang (job scheduler)
- Penjadwalan jangka menengah
- Penjadwalan jangka pendek (CPU scheduler)
- Penjadwalan I/O
a) Penjadwalan Jangka
Panjang (Job Scheduler)
ü
Menyeleksi proses-proses mana yang harus
dimasukkan ke dalam ready queue dan membawanya ke memori utama untuk dieksekusi
b) Penjadwalan Jangka
Menengah
ü Menangani serta mengendalikan transisi
dari suspended-to-ready dari
proses-proses swapping.
c)
Penjadwalan Jangka
Pendek (CPU Scheduler)
ü Menentukan proses mana yang
selanjutnya akan dieksekusi dan mengalokasikan CPU untuk proses tersebut,
dimana pemilihan proses barunya dialokasikan sesering mungkin
ü Dispatcher : keputusan
pekerjaan untuk mengeksekusi berikutnya yaitu
yang benar-benar pekerjaan yang bisa menggunakan
prosesor dalam slot waktu berikutnya
Keadaan Proses
- New : Proses sedang dikerjakan/ dibuat.
- Ready : Proses sedang menunggu untuk ditugaskan pada sebuah prosesor
- Running : Instruksi sedang dikerjakan.
- Blocked :Proses sedang menunggu sejumlah kejadian untuk terjadi (penyelesaian I/O atau penerimaan sebuah tanda/ signal).
- Exit : Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.
Process Control Block
Fungsi PCB
sebagai tempat menyimpan/ gudang untuk informasi apapun yang dapat bervariasi
dari proses ke proses.PCB berisikan banyak bagian dari informasi yang
berhubungan dengan sebuah proses yang spesifik, yaitu:
- Identifier : memiliki identifier yang unik
- State : keadaan proses (new,ready,dsb)
- Priority : tingkatan prioritas relative
- Program counter : alamat intruksi berikutnya di dalam program yang akan di eksekusi
- Memory pointers : lokasi awal dan akhir proses di dalam memori
- Context data : data dalam register
- I/O status : request I/O yang belum terpenuhi
- Accounting information : jumlah waktu prosesor dan clock time,batas waktu,nomor account
Elemen kunci sistem operasi multiprogramming
Sistem operasi
menerima control prosessor pada interupt handler dan pada service call.Sekali
interupt/service call dilayani,maka short term queue dipanggil untuk mengambil
proses selanjutnya dieksekusi.
Diagram Antrian Penjadwalan prosessor
Setiap
permintaan proses ditempatkan di Long Term Queue(daftar tugas bagi proses yang
sedang menunggu sumber daya),Saat sumber daya dipakai,permintaan menjadi sebuah
proses dan berada dalam keadaan siap dan diletakan di Short Term Queue(seluruh
proses yang berada dalam keadaan siap),Prosesor mengeksekusi intruksi system
operasi dan mengeksekusi proses pengguna,dalam pengontrolannya,system operasi
menentukan proses mana yang ada di antrian harus dieksekusi untuk kesempatan selanjutnya.Bila
penangguhan karena proses minta I/O maka proses ditempatkan pada antrian I/O
tertentu.Saat operasi I/O selesai,system operasi memindahkan proses yang dipilih
dari antrian I/O di Short Term Queue.Kemudian system operasi memilih proses
lainnya yang sudah menunggu.
Kriteria untuk mengukur dan
optimasi kinerja penjadwalan :
ü
Adil
(fairness) : proses-proses yang diperlakukan sama
ü
Efisiensi
(eficiency)
ü
Waktu tanggap (response time):
a.
Sistem
interaktif : 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.
b.
Sistem
waktu nyata : didefinisikan sebagai waktu dari saat kejadian (internal atau
eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi,
disebut event response time.
ü
Turn around time : waktu yang
dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses
diselesaikan sistem.
Algoritma Penjadwalan :
Ø
First-Come
First-Served (FCFS) : algoritma penjadwalan yang paling sederhana.Proses
yang tiba terlebih dahulu yang akan dieksekusi terlebih dahulu.
Ø
Shortest-Job
First (SJF) : setiap proses
yang ada di
antrian ready akan
dieksekusi berdasarkan burst
time terkecil. Hal
ini mengakibatkan waiting time
yang pendek(algoritma yang optimal)
Ø
Penjadwalan
dengan Prioritas : Priority
Scheduling merupakan algoritma
penjadwalan yang mendahulukan
proses dengan nilai prioritas tertinggi.
Setiap proses memiliki prioritasnya masing-masing.
Ø
Round
Robin : Algoritma ini didesin untuk
sistem time-sharing. Proses akan
mendapat jatah sebesar time quantum dengan nilai quantum umumnya
sebesar 10-100 ms. Jika time quantum-nya habis atau proses sudah selesai CPU
akan dialokasikan ke
proses berikutnya. Tentu
proses ini cukup
adil karena tak
ada proses yang diprioritaskan, semua proses mendapat jatah waktu yang sama dari CPU (1/n),
dan tak akan menunggu lebih lama dari
(n-1)/q.
Ø
Antrian
Multilevel (Multilevel Queue) : Ide didasar pada sistem prioritas proses.
Prinsipnya adalah setiap proses dapat dikelompokkan berdasarkan prioritasnya.
Ø
Multilevel
Feedback Queue : algoritma ini
mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU terlalu
lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Ini
menguntungkan proses interaksi, karena proses ini hanya memakai waktu CPU yang
sedikit. Demikian pula dengan
proses yang menunggu terlalu lama. Proses ini akan dinaikkan
tingkatannya.
Thank's to :
Stallings,W. Organisasi
dan Arsitektur Komputer Jilid 1.1998.Jakarta:Prenhallindo.
maksih atas infonya....
BalasHapusTrimakasih atas pengetahuanya
BalasHapusTrimakasih atas pengetahuanya
BalasHapusTrimakasih atas pengetahuanya
BalasHapus