250 likes | 506 Views
PERTEMUAN KE-9 PERKULIAHAN SISTEM OPERASI. By : Nanda Prasetia , ST. PENJADWALAN PROSES. Definisi Proses. - Program yang sedang berjalan atau dieksekusi - Unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan sistem operasi .
E N D
PERTEMUAN KE-9 PERKULIAHAN SISTEM OPERASI By : Nanda Prasetia, ST
DefinisiProses - Program yang sedangberjalanataudieksekusi - Unit kerjaterkecil yang secaraindividumemilikisumberdaya-sumberdayadandijadwalkansistemoperasi. - Berisiinstruksidan data, program counter dansemua register pemroses, dan stack berisi data sementaraseperti parameter rutin, alamatpengirimandanvariabel-variabellokal. - Istilahprosesakandigunakanuntukmenggantikanistilah job atautugas yang dikerjakan processor.
PENJADWALAN PROSES Penjadwalanmerupakankumpulankebijaksanaandanmekanismedisistemoperasi yang berkaitandenganurutankerja yang dilakukansistemkomputer. Penjadwalanbertugasmemutuskan : 1. Proses yang sedangberjalan 2. Kapandanselamaberapa lama prosesituberjalan.
Komponen sistem operasi untuk melakukan penjadwalan proses Yaitu : • Antrian penjadwalan (Scheduling queue) • Penjadwal (Scheduler) • Penjadwalan jangka pendek (short term scheduler) • Penjadwalan jangka Menengah (medium term scheduler) • Penjadwal jangka panjang (long term scheduler atau job scheduler) • Dispatcher
1. Antrian Penjadwalan (Scheduling Queues) Antrian penjadwalan meliputi antrian yang berisi proses-proses yang siap dieksekusi (ready queue), antrian untuk proses-proses yang menunggu layanan operasi dari suatu peranti I/O (peranti I/O atau I/O queue seperti disk, magnetic tape dan terminal). Selain itu, terdapat job (long term) queue yang berisi semua proses dalam sistem. Pada sistem uniprosesor, pada setiap saat, dari seluruh proses yang berada di antrian ready, hanya ada satu proses yang akan dijalankan atau berstatus running, sedangkan sisanya akan berstatus ready. Sedangkan proses-proses yang berada di I/O queue selalu berstatus blocked.
2. Penjadwal (Scheduler) Penjadwal berupa rutin program dengan algoritma tertentu yang menyeleksi proses yang akan dieksekusi processor. Jenis scheduler dapat berupa : a. Penjadwal Jangka Pendek (short term scheduler) Penjadwalan ini bertugas untuk menyeleksi proses mana yang akan dijalankan di antara proses-proses yang ada di antrian ready. b. Penjadwal Jangka Menengah (medium term scheduler) Penjadwalan ini menyeleksi proses yang akan di swapping (swap out) dan menyeleksi proses yang akan dikembalikan ke memory utama (swap in). Swapping adalah memindahkan image proses lain dari memori utama ke memori maya yang berada pada memori sekunder seperti disk. c. Penjadwal jangka panjang ( longterm scheduler) Penjadwalan ini berfungsi menyeleksi proses yang akan dialokasi ke memory utama dan disisipkan pada antrian ready.
3. Dispatcher Adalah suatu rutin sistem operasi yang berfungsi untuk melakukan pengalihan eksekusi dari proses yang running ke proses yang terseleksi oleh short term scheduler. Rutin ini memindahkan isi register processor, konteks processor, ke PCB proses yang dihentikan, kemudian mengubah statusnya menjadi ready, Kemudian menginisiasi isi register processor menggunakan konteks processor yang tersimpan dalam PCB proses terpilih.
KRITERIA PENJADWALAN PROSES Yaitu : 1. Keadilan (fairness) 2. Efisiensi (processor utilization) 3. Waktutanggapan (respon time) 4.Waiting time 5. Turn around time 6. Throughput
1. Keadilan Proses-proses harus diperlakukan sama, yaitu mendapatkan jatah waktu processor secara adil, namun tidak selalu berarti jatah waktu yang sama. Selain itu tidak terjadi starvasion, yaitu terdapat proses yang tidak terlayani dalam jangka waktu yang lama.
2. Efisiensi Penjadwalan menjaga agar processor terpakai secara terus menerus selama masih ada proses yang aktif di antrian ready.
3. Waktu tanggapan (Response Time) Waktu tanggapan diusahakan seminimal dan sependek mungkin. waktu tanggapan (response time) pada sistem interaktif adalah durasi waktu antara pengguna memberikan input dengan sistem operasi memberikan output atau umpan balik kepada pengguna.
4. Waiting time Merupakan durasi waktu yang dihabiskan suatu proses dalam antrian ready selama siklus hidupnya.
5. Turn around time Merupakan durasi waktu dari saat suatu proses mulai aktif dalam sistem sampai proses tersebut selesai. merupakan hasil penjumlahan antara durasi eksekusi proses (running), durasi menunggu di antrian ready serta durasi proses terblok (blocked)
6. Throughput Merupakan rata-rata proses yang dapat diselesaikan per satuan waktu. Algoritma penjadwalan harus memastikan processor bekerja terus menerus serta meminimalkan hal-hal yang tidak berkaitan langsung dengan penyelesian tugas proses, seperti proses switching. Jika proses switching terlalu sering terjadi, berarti waktu processor banyak tersita untuk backup/restore konteks prcessor dan buannya mengkesekusi kode instruksi processor.
STRATEGI DASAR PENJADWALAN yaitu : • Non preemptive(run to completion) • Preemptive
1. Non preemptive (run to completion) Pada strategy non preemptive, begitu proses telah berjalan maka sistem operasi maupun proses lain tidak dapat mengambil alih eksekusi processor.
2. Preemptive Pada strategy preemptive, sistem operasi dan proses lain dapat mengambil alih eksekusi processor tanpa harus menunggu proses yang sedang running menyelesaikan tugasnya.
PEMICU TERJADINYA PENJADWALAN PROSES Yaitu : 1. Prosesberubahdari status running ke blocked. 2. Prosesberubahdari status running ke ready 3. Prosesberubahdari status blocked ke ready 4. Prosesberhenti (terminated)
1. Proses berubah dari status running ke blocked Keadaan ini dapat disebabkan karena proses yang melakukan system call untuk meminta operasi I/O (I/O request), seperti membaca berkas dari disk ataupun scanner atau karena menunggu suatu event atau interupsi (wait for interupt), seperti inputan keyboard oleh pengguna. System call tersebut akan mengalihkan proses yang running ke status blocked dan kemudian memanggil rutin penjadwalan proses (scheduler) untuk memilih proses berikutnya yang akan dieksekusi.
2. Proses berubah dari status running ke ready Keadaan ini disebabkan proses yang sedang running sudah habis time slice-nya ( time slice expired ).
3. Proses berubah dari status blocked ke ready Rutin ini akan mengalihkan proses yang meminta akses I/O dari status blocked menjadi ready atau dengan kata lain memindahkan proses tersebut dari antrian I/O ke antrian ready.
4. Proses berhenti (terminated) Proses yang berhenti secara normal akan memanggil system call “exit”, sedangkan proses yang berhenti secara abnormal umumnya disertai dengan terjadinya trap.