Nama Kelompok :
2. Megga Farah Nazsa 210.511.016
3. Sri Romadhani 210.511.045
4. Kartika Wahyuningtyastuti 210.511.164
Halo. Pada artikel ini kami akan menulis tentang Membuat Penjadwalan CPU. Seperti pada artikel saya sebelumnya. Kami
minta maaf apabila ada penulisan kami yang kurang berkenan. Semoga
artikel ini dapat membantu dan bermanfaat bagi pembaca dan kami untuk
lebih menambah ilmu. Amin.
Langsung
aja, pada bahasan kali ini saya akan menjelaskan mengenai Penjadwalan CPU, Tipe penjadwalan dan beberapa pembahasan lainnya
Konsep Dasar
Dalam pemroses tunggal, hanya
satu proses yang dapat dijalankan pada saat tertentu, sedangkan yang lain harus
menunggu CPU bebas dan dijadwal ulang. Multiprogramming merupakan cara untuk menjalankan
proses setiap waktu sehingga memaksimalkan penggunaan CPU. Penjadwalan
merupakan salah satu fungsi dasar dari sistem operasi. Hampir semua sumber daya
komputer dijadwalkan sebelum digunakan.
CPU-I/O Burst
Cycle
Kesuksesan penjadwaln CPU tergantung
dari observasi proses-proses. Pengeksekusian proses terdiri putaran ekseskusi
CPU dan penungguan I/O. Eksekusi proses dimulai dari CPU burst, yaitu
diikuti oleh I/O burst kemudian diikuti CPU burst lainnya lalu I/O
burst lainnya dan begitu seterusnya.
Gambar 1 Urutan
pergantian CPU Burst dengan I/O Burst
Penjadwalan CPU
Ketika CPU mengalami waktu idle,
sistem operasi harus memilih salah satu proses untuk masuk kedalam antrian yang
akan untuk dieksekusi. Pemilihan tersebut dilakukan oleh penjadwal jangka pendek
atau penjadwal CPU. [Bambang2002] Ada tiga tipe penjadwal yang berada bersama
pada sistem operasi kompleks, yaitu :
a. Penjadwal jangka pendek yang
bertugas menjadwalkan alokasi pemroses di antara proses-proses yang telah siap
di memori utama.
b. Penjadwal jangka menengah akan
menangani serta mengendalikan transisi dari suspended-toready dari
proses-proses swapping.
c. Penjadwal jangka panjang
bekerja terhadap antrian batch dan memilih batch berikutnya yang harus
dieksekusi.
Gambar 2
Tipe-tipe penjadwalan
Penjadwalan memilih proses yang
ada di memori serta siap untuk dieksekusi, dan mengalokasikan CPU untuk
mengeksekusinya.
Penjadwalan CPU mungkin akan
dijalankan ketika proses dalam keadaan:
1. Berubah dari running ke
waiting state.
2. Berubah dari running ke ready
state.
3. Berubah dari waiting ke ready.
4. Terminates.
Penjadwalan nomor 1 dan 4
bersifat non-preemptive atau cooperative sedangkan lainnya preemptive.
Dalam penjadwalan non-preemptive sekali CPU telah dialokasikan untuk
sebuah proses, maka tidak dapat di ganggu, penjadwalan model seperti ini
digunakan oleh Windows 3.x; Windows 95 telah menggunakan penjadwalan preemptive
yaitu saat suatu proses sedang dieksekusi, CPU dapat diambil alih oleh
proses lain sehingga proses di tunda dan dilanjutkan kembali hingga proses
selesai.
Kriteria
Penjadwalan
Setiap algoritma penjadwalan
dapat berbeda dengan nilai yang berbeda dan sistem komputer yang berbeda. Dalam
penjadwalan CPU diperlukan beberapa kriteria diantaranya adalah:
• CPU Utilization.
Kita menginginkan kerja CPU sesibuk mungkin. Konsepnya pemanfaatan CPU mempunyai
jangkauan dari 0 sampai 100 persen. Di sistem yang sebenarnya mungkin hanya mempunyai
jangakuan dari 40 (untuk pemanggilan ringan sistem) sampai 90 persen
(pemanggilan berat sistem).
• Throughput.
Pengukuran kinerja CPU adalah banyaknya proses yang diselesaikan per satuan waktu.
Jika kita mempunyai beberapa proses yang sama dan memiliki beberapa algoritma penjadwalan
yang berbeda, hasil kinerja bisa menjadi salah satu kriteria penilaian, dimana algoritma
yang menyelesaikan proses terbanyak mungkin yang terbaik.
• Turnaround Time.
Dari sudut pandang proses tertentu, kriteria yang penting adalah berapa lama untuk
mengeksekusi proses tersebut. Memang, lama pengeksekusian sebuah proses sangat tergantung
dari hardware yang dipakai, namun kontribusi algoritma penjadwalan tetap ada
dalam lama waktu yang dipakai untuk menyelesaikan sebuah proses. Misal, kita
memilki system komputer yang identik dan proses-proses yang identik pula, namun
kita memakai algoritma yang berbeda, algoritma yang mampu menyelesaikan proses
yang sama dengan waktu yang lebih singkat mungkin lebih baik dari algoritma
yang lain. Interval waktu yang diijinkan dengan waktu yang dibutuhkan untuk
menyelesaikan sebuah proses disebut turnaround time.Turnaround time adalah
jumlah periode tunggu untuk dapat ke memori, menunggu di ready queue, eksekusi
CPU, dan melakukan operasi I/O atau waktu yang dihabiskan dari saat program
atau job mulai masuk sistem sampai proses diselesaikan sistem.
Turnaround = waktu eksekusi
+ waktu menunggu
• Waiting Time.
Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksanakan proses
tersebut atau I/O, karena hanya mempengaruhi jumlah waktu yang dibutuhkan
proses diantrian ready. Waiting time adalah jumlah waktu yang dbutuhkan
proses di antrian ready.
• Response time. Di
sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik
untuk kriteria. Sering sebuah proses dapat memproduksi output di awal, dan
dapat meneruskan hasil yang baru sementara hasil yang sebelumnya telah
diberikan ke pengguna. ukuran lain adalah waktu dari pengiriman permintaan
sampai respon yang pertama diberikan. Hal ini disebut response time,
yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output
untuk respon tersebut. Turnround time umumnya dibatasi oleh kecepatan
peralatan keluaran. Ada dua jenis response time berdasarkan penggunaannya pada
sistem interaktif dan sistem waktu nyata (real time), yaitu:
- Terminal response time merupakan response time pada sistem interaktif sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar.
- Event response time merupakan response time pada sistem waktu nyata sebagai waktu dan kejadian (internal/eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi. Sebaiknya ketika kita akan membuat algoritma penjadwalan yang dilakukan adalah memaksimalkan
penggunaan CPU dan throughput,
dan meminimalkan turnaround time, waiting time, dan response
time.
Penjadwalan: pemilihan
proses selanjutnya yg akan dieksekusi
- Melakukan multiplexing CPU
- Kapan dilakukan penjadwalan?
- Proses baru dibuat
- Proses selesai dieksekusi
- Proses yg sdg dieksekusi diblokir
- Terjadi I/O interrupt (mis. proses yg diblokir siap utk dieksekusi kembali)
- Terjadi clock interrupt (mis. sekali 40mdet)
Tujuan Penjadwalan
- Adil
- Prioritas
- Efisiensi
- Mendukung beban yg berat
- Beradaptasi dgn beragam
- lingkungan (interaktif, real-time,multimedia)
Kriteria
Performansi
· Keadilan
· Efisiensi: optimalisasi
penggunaan sumberdaya
· Throughput: # proses yg selesai
dalam satuan waktu tertentu
· Waktu Turnaround (aka:
elapse time): waktu yg diperlukan utk menyelesaikan eksekusi sejak proses tsb
masuk
· Waktu Tunggu: waktu yg diperlukan
proses utk menunggu di antrian ready
· Waktu Respon: jangka waktu sejak
proses disubmit hingga memperoleh respon pertama
· Penerapan Kebijakan: sesuai dgn
kebijakan yg telah ditetapkan
· Proporsionalitas: memenuhi keinginan
user
· Memenuhi Tenggat
Fokus
Penjadwalan pd Berbagai Sistem
·
Untuk semua: keadilan, penerapan
kebijakan, pemerataan beban
·
Sistem Batch :maks.
troughput, min waktu turnaround, maks penggunaan CPU
·
Sistem Interaktif: min. waktu respon,
proporsionalitas
·
Sistem Real-Time: dpt diprediksi,
memenuhi tenggat
Penjadwalan
Preemptive vs Nonpreemptive
·
Penjadwalan
Preemptive: Proses yg sdg dieksekusi dpt diinterupsi dan dipaksa utk
menyerahkan CPU
·
Penjadwalan
Non-preemptive: Proses yg sdg dieksekusi menggunakan CPU
hingga proses tsb menyerahkannya secara sukarela
Algoritma
Penjadwalan Prosesor Tunggal
·
Sistem
Batch:
§
First
Come First Serve (FCFS)
§
Shortest
Job First (SJF)
·
Sistem
Interaktif
§
Round
Robin
§
Penjadwalan
Prioritas
§
Multi
Queue dan Multi Level Feedback
§
Shortest
Process Time
§
Guaranteed
Scheduling
§
Lottery
Scheduling
§
Fair Sharing Scheduling
Referensi:
Concepts. Seventh Edition. John Wiley & Son
[Bambang2002] Bambang Hariyanto,. Ir. 2002. Sistem Operasi. Edisi kedua. Informatika. Bandung
[MDGR2006] Masyarakat Digital Gotong Royong (MDGR). 2006. Pengantar Sistem Operasi Komputer
Plus Illustrasi Kernel Linux. http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/. Diakses 31
Agustus 200
2 komentar:
izin copy ya
Izin copy gan
Posting Komentar