Tujuan
dari multiprogramming adalah untuk memiliki sejumlah proses yang berjalan pada
sepanjang waktu, untuk memaksimalkan penggunaan CPU. Tujuan dari pembagian
waktu adalah untuk mengganti CPU diantara proses-proses yang begitu sering
sehingga pengguna dapat berinteraksi dengan setiap program sambil CPU bekerja.
Untuk sistem uniprosesor, tidak akan ada lebih dari satu proses berjalan. Jika
ada proses yang lebih dari itu, yang lainnya akan harus menunggu sampai CPU
bebas dan dapat dijadualkan kembali
Penjadwalan
merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan
dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas
memutuskan proses yang harus berjalan, kapan dan selama berapa lama proses
berjalan.
Kriteria
yang digunakan untuk mengukur kualitas penjadwalan proses :
1. Fairness
atau pelayanan yang adil untuk semua pekerjaan
2.
Throughput atau memaksimumkan throughput. Throughput adalah jumlah pekerjaan
yang dapat diselesaikan dalam satu unit waktu.
3. Efficchiency
atau memaksimumkan pemakaian prosesor.
4.
Respone time atau meminimalkan respone time
5.
Meminimalkan Turn arround time. Turn arround time adalah waktu yang dihabiskan
dari saat
program atau job mulai masuk ke system sampai proses diselesaikan
sistem.
Jangka
penjadwalan adalah merupakan interval atau range waktu dimana sistem operasi
melalukan. Jangka penjadwalan proses dibedakan menjadi tiga:
1.
Penjadwalan jangka pendek atau short term scheduling / low level scheduling,
yaitu mengurus masuknya antrian siap ke prosesor serta antrian siap ke alat
peripheral I/O, yang mengurus prioritas dan preempsi.
2.
Penjadwalan jangka medium atau medium term scheduling / intermediate level
scheduling, yaitu mengurus terhadap proses yang dikeluarkan dari prosesor yang
belum rampung dikerjakan dan melanjutkan pekerjaan proses tersebut di prosesor.
3.
Penjadwalan jangka panjang atau long term scheduling / high level scheduling,
yaitu mengurus masuknya pekerjaan baru berupa penentuan pekerjaan baru mana
yang boleh diterima dan tugas disini diubah menjadi proses
Microsoft
windows menyediakan aplikasi task scheduler yang digunakan untuk mengelola
penjadwalan suatu proses untuk mengerjakan suatu tugas tertentu. Aplikasi Task
Scheduler Xversi 1.0 disertakan pada Windows 2000, Windows XP dan Windows
Server 2003. Aplikasi Ini berjalan sebagai Windows Service, definisi tugas dan
jadwal yang tersimpan dalam file biner pekerjaan. Tugas dapat dimanipulasi
secara langsung dengan memanipulasi file pekerjaan. Task Scheduler 2.0 diperkenalkan
dengan Windows Vista dan termasuk dalam Windows Server 2008 juga.
Selain
menjalankan tugas pada waktu yang dijadwalkan atau interval tertentu , Task
Scheduler 2.0 juga mendukung kalender dan memicu berdasarkan aktivitas, seperti
memulai tugas ketika peristiwa tertentu dan login ke log peristiwa atau ketika
kombinasi peristiwa telah terjadi.
Aplikasi
task scheduler meliputi 3 panel utama, yaitu:
1. Task
Scheduler Library, kolom ini akan membantu pengguna untuk melakukan navigasi
diantara semua tugas yang ada.
2. Task
Scheduler Summary, bagian ini akan memperlihatkan informasi tentang tugas -
tugas penting yang telah dibuat.
3.
Actions, melalui fungsi ini pengguna dapat membuat, menghapus, mengimport
tugas, menjalankan mengaktifkan dan menon aktifkan tugas dan mengatur beberapa
propertis untuk tugas yang spesifik.
Terdapat
dua Strategi penjadwalan, yaitu:
Penjadwalan
nonpreemptive (run – to – completion)
Penjadwalan
preemptive
Penjadwalan
Nonpreemptive
Begitu
proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh
proses lain sampai proses itu selesai.
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.
Penjadwalan
preemptive bagus, tapi tidak tanpa ongkos. Perlaihan 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. Terdapat banyak algoritma penjadwalan ,baik nonpreemptive
maupun preemptive. Algoritmanya seperti dibawah ini.
Algoritma-algoritma
yang menerapkan strategi nonpreemptive diantaranya:
FIFO
(Frist In First Out)
SJF
(Shortest Job First)
HRN
(Highest 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)
0 komentar:
Posting Komentar