Penjadwalan Proses 2 [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

MAKALAH PENJADWALAN PROSES Diajukan sebagai Tugas Mata Kuliah Sistem Operasi Komputer



Dosen Pembimbing : Ir. Sudirman, M.Kom



Disusun Oleh : Catur Eriyanto NIM 191571045



SEKOLAH TINGGI TEKNOLOGI DUTA BANGSA TEKNIK ELEKTRO 2019/2020



Daftar Isi



Daftar Isi...................................................................................................................................1 KATA PENGANTAR………………………......…………………………………………...2 BAB I. PENDAHULUAN.......................................................................................................3 A. Latar Belakang..............................................................................................................3 B. Rumusan Masalah.........................................................................................................3 C. Tujuan...........................................................................................................................3 BAB II. PEMBAHASAN...................................................................................................4 - 9 A. Kriteria Penjadwalan.....................................................................................................4 B. Algoritma Penjadwalan............................................................................................5 - 9 BAB III. PENUTUP...............................................................................................................10 A. Kesimpulan...................................................................................................................10 B. Saran.............................................................................................................................10 DAFTAR PUSTAKA……………………………………………………………………….11



1



KATA PENGANTAR



Assalamu'alaikum Wr.Wb. Puji syukur saya panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat serta hidayahNya sehingga penyusunan makalah ini dapat terselesaikan sebagaimana mestinya. Makalah dengan judul “Penjadwalan Proses” merupakan tugas yang diberikan oleh Dosen mata kuliah Sistem Operasi Komputer. Makalah ini telah saya susun dengan maksimal dan dengan bantuan dari berbagai pihak sehingga dapat memperlancar pembuatan makalah ini. Untuk itu, saya menyampaikan banyak terima kasih kepada pihak pihak yang telah membantu saya dalam pembuatan serat penyusunan makalah ini. Terlebih lagi, saya sadar bahwa masih banyak kekurangan baik dari segi susunan kalimat maupun tutur kata dalam makalah ini. Oleh karena itu, saya mengharapkan adanya kritik serta saran dari pembaca agar saya dapat memperbaiki makalah - makalah ini serta yang akan saya buat di masa mendatang. Akhir kata, saya berharap semoga makalah yang sudah saya susun ini dapat memberikan manfaat maupun inspirasi bagi pembaca sekalian. Wassalamu’alaikum Wr. Wb



2



BAB I PENDAHULUAN



A. Latar Belakang Sistem Operasi modern umumnya merupakan sistem multitasking. Sedangkan penjadwalan merupakan konsep utama dalam multitasking, sistem operasi multi prosesor dan sistem operasi real-time. Oleh sebab itu penjadwalan merupakan bagian yang sangat menarik dalam kuliah ini karena penjadwalan menjadi bagian yang sangat penting dalam perancangan Sistem Operasi untuk membuat setiap proses dapat berjalan dengan performa maksimal dan waktu yang dibutuhkan juga menjadi semakin cepat. Di samping itu konsep-konsep penjadwalan ini akan terus berkembang sesuai dengan perkembangan prosesor yang saat ini sudah sangat pesat, terbukti dengan sudah diproduksinya Quadcore dengan fitur Hyperthreading.



B. Rumusan Masalah Berdasarkan latar belakang yang ada, dapat diambil rumusan masalah sebagai berikut : 1. Ada berapa macam kriteria penjadwalan ? 2. Apa saja algoritma penjadwalan ? C. Tujuan Setelah mempelajari materi dalam bab ini, pembaca diharapkan mampu : 1. Dapat mengetahui macam-macam kriteria penjadwalan. 2. Dapat mengetahui beberapa algoritma penjadwalan



3



BAB II PEMBAHASAN A. Kriteria Penjadwalan Suatu algoritma penjadwalan CPU yang berbeda dapat mempunyai nilai yang berbeda untuk sistem yang berbeda. Banyak kriteria yang bisa dipakai untuk menilai algoritma penjadwalan CPU. Kriteria yang digunakan dalam menilai adalah: 1.



2.



3.



4.



5.



CPU Utilization. Kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai range dari 0 sampai 100 persen. Di sistem yang sebenarnya ia mempunyai range dari 40 sampai 100 persen. Throughput. Salah satu ukuran kerja adalah banyaknya proses yang diselesaikan per satuan waktu. Jika kita mempunyai beberapa proses yang sama dan memiliki beberapa algoritma penjadwalan yang berbeda, throughput 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 memiliki sistem 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 untuk menunggu untuk dapat ke memori, menunggu di ready queue, eksekusi CPU, dan melakukan operasi I/O. Waiting Time. Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau I/O, itu hanya mempengaruhi jumlah waktu yang dibutuhkan proses di antrian ready. Waiting time adalah jumlah waktu yang dibutuhkan 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. Ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untuk respon 4



tersebut. 6.



Fairness. Suatu algoritma harus memperhatikan pengawasan nilai prioritas dari suatu proses (menghindari terjadinya starvation CPU time).



7.



Efisiensi. Rendahnya overhead dalam context switching, penghitungan prioritas dan sebagainya menentukan apakah suatu algoritma efisien atau tidak. Sebaiknya ketika kita akan membuat algoritma penjadwalan yang dilakukan adalah memaksimalkan CPU utilization dan throughput, dan meminimalkan turnaround time, waiting time, dan response time



B. Algoritma Penjadwalan Penjadwalan berkaitan dengan permasalahan memutuskan proses mana yang akan dilaksanakan dalam suatu sistem.Proses yang belum mendapat jatah alokasi dari CPU akan mengantri di ready queue. Berfungsi untuk menentukan proses manakah yang ada di ready queue (antri) yang akan di eksekusi oleh CPU. Terdapat banyak algoritma penjadwalan ,baik nonpreemptive maupun preemptive. Algoritma-algoritma yang menerapkan strategi nonpreemptive : 1.



FIFO (First In First Out) FIFO adalah akronim untuk First In, First Out (Pertama Masuk, Pertama Keluar), sebuah abstraksi yang berhubungan dengan cara mengatur dan memanipulasi data relatif terhadap waktu dan prioritas. Ungkapan ini menggambarkan prinsip teknik pengolahan antrean atau melayani permintaan yang saling bertentangan dengan proses pemesanan berdasarkan perilaku first-come, first-served (FCFS): di mana orang-orang meninggalkan antrean dalam urutan mereka tiba, atau menunggu giliran satu di sebuah sinyal kontrol lalu lintas.



Buatlah penjadwalan FIFO, SJF, SRTF! FIFO!



5



2.



SJF (Shortest Job First) Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih



dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah. Dalam artian waktu yang digunakan saat program (job) mulai masuk ke system sampai proses diselesaikan system, membutuhkan waktu yang singkat. Shortest Job First (SJF) bisa dikatakan algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal. 3.



HRN (Highest Ratio Net) Penjadwalan HRN merupakan :  Penjadwalan non-preemptive  Penjadwalan berprioritas dinamis Penjadwalan ini juga untuk mengkoreksi kelemahan SJF. HRN adalah strategi penjadwalan nonpreemptive dengan prioritas proses tidak hanya pada waktu layanan tapi juga jumlah waktu tunggu proses. Prioritas dinamis HRN dihitung berdasarkan rumus : Prioritas = (Waktu tunggu + waktu layanan) / waktu layanan Karena waktu layanan muncul sebagai pembagi maka proses yang lebih pendek mempunyai prioritas yang lebih baik. Karena waktu tunggu sebagai pembilang maka proses yang telah menunggu lebih lama juga mempunya kesempatan lebih bagus untuk memperoleh layanan pemrosesan. Disebut HRN (High Response Next) karena waktu tanggap adalah waktu tunggu + waktu layanan. Ketentuan HRN adalah untuk memperoleh waktu tanggap tertinggi yang harus dilayani. 4. MFQ (Multiple Feedback Queue) Algoritma ini mirip sekali dengan algoritma multilevel queue. Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. 6



Hal ini menguntungkan proses interaksi karena proses ini hanya memakai waktu CPU yang sedikit. misalnya pada contoh berikut.   







Semua proses yang baru datang akan diletakkan pada queue 0 ( quantum= 8 ms). Jika suatu proses tidak dapat diselesaikan dalam 8 ms, maka proses tersebut akan dihentikan dan dipindahkan ke queue 1 ( quantum= 16 ms). Queue 1 hanya akan dikerjakan jika tidak ada lagi proses di queue 0, dan jika suatu proses di queue 1 tidak selesai dalam 16 ms, maka proses tersebut akan dipindahkan ke queue 2. Queue 2 akan dikerjakan bila queue 0 dan 1 kosong, dan akan berjalan dengan algoritma FCFS.



Disini terlihat bahwa ada kemungkinan terjadinya perpindahan proses antar queue, dalam hal ini ditentukan oleh time quantum, namun dalam praktek penerapannya, algoritma multilevel feedback queue mendefinisikan terlebih dahulu parameterparameternya, yaitu :     



Jumlah antrian. Algoritma internal tiap queue. Aturan sebuah proses naik ke antrian yang lebih tinggi. Aturan sebuah proses turun ke antrian yang lebih rendah. Antrian yang akan dimasuki tiap proses yang baru datang.



Contoh: Terdapat tiga antrian; Q1=10 ms, FCFS Q2=40 ms, FCFS Q3=FCFS proses yang masuk, masuk ke antrian Q1. Jika dalam 10 ms tidak selesai, maka proses tersebut dipindahkan ke Q2. Jika dalam 40 ms tidak selesai, maka dipindahkan lagi ke Q3. Berdasarkan hal-hal di atas maka algoritma ini dapat digunakan secara fleksibel dan diterapkan sesuai dengan kebutuhan sistem. Pada zaman sekarang ini algoritma multilevel feedback queue adalah salah satu yang paling banyak digunakan. Algoritma-algoritma yang menerapkan strategi preemptive : 1.



RR (Round Robin) Penjadwalan Round-Robin merupakan penjadwalan preemptive, namun proses tidak di-preempt secara langsung oleh proses lain namun oleh penjadwal berdasarkan lama waktu berjalannya suatu proses maka penjadwalan ini disebut preempt-by-time.



7



Semua proses dianggap penting dan diberi sejumlah waktu pemroses yang disebut kwanta (quantum) atau time-slice tempat proses itu berkalan. Proses berjalannya selama 1 kwanta, kemudian penjadwal akan mengalihkan kepada proses berikutnya, juga untuk berjalan satu kwanta, begitu seterusnya sampai kembali pada proses pertama dan berulang.



2.



SRTF (Shortest Remaining Time First) Perbedaan SRTF dengan SJF:  



Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai. Pada SRTF proses sedang berjalan (Running) dapat diambil alih oleh proses baru dengan sisa waktu jalan yang diestimasi lebih rendah.



Kelemahan: SRTF mempunyai overhead yang lebih besar dibandingkan SJF. SRTF memerlukan penyimpanan waktu layanan yang telah dihabiskan proses dan kadang-kadang harus menangani peralihan. Secara teoritis SRTF memberi waktu tunggu minimum tapi karena adanya overhead peralihan maka pada situasi tertentu SJF bisa memberi kinerja yang lebih baik dibanding SRTF. 3.



PS (Priority Schedulling) Priority Scheduling Merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki priortas tertinggi. Prioritas dapat diberikan secara : 



Prioritas Statis Prioritas statis berarti prioritas tak berubah - Keunggulan : mudah diimplementasikan dan mempunyai overhead relatif kecil - Kelemahan : 8



penjadwalan tak tanggap terhadap lingkungan yang mungkin menghendaki penyesuaian prioritas. 



Prioritas dinamis Merupakan mekanisme menanggapi perubahan lingkungan sistem beroperasi. Prioritas awal diberikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke nilai yanglebih tepat sesuai lingkungan.Kelemahan dari prioritas dinamis adalah  Implementasi mekanisme prioritas dinamis lebih kompeks dan mempunyai overhead lebih besar. Overhead ini diimbangi dengan peningkatan daya tanggap sistem. Contoh penjadwalan berprioritas: Proses-proses yang sangat banyak operasi I/O menghabiskan kebanyakan waktu menunggu selesainya operasi I/O. Proses-proses ini diberi prioritas sangat tinggi sehingga begitu proses memerlukan pemroses segera diberikan, proses akan segera memulai permintaan I/O berikutnya hingga mengakibatkan proses blocked menunggu selesainya operasi I/O. Dengan demikian pe mroses dapat dipergunakan proses-proses lain. Proses-proses I/O bound berjalan paralel bersama proses-proses lain yang benar-benar memerlukan pemroses, sementara proses-proses I/O bound itu menunggu selesainya operasi DMA.



Proses-proses yang sangat banyak operasi I/O kalau harus menuggu lama untuk memakai pemroses (karena prioritas rendah) hanya akan membebani memori karena harus disimpan tanpa perlu proses - proses itu dimemori karena tidak selesai-selesai menunggu operai I/O dan menunggu jatah pemroses. Keunggulan penjadwalan prioritas biasanya memenuhi kebijaksanaan yang ingin mencapai maksimasi suatu kriteria yang diterapkan.



4. GS (Guaranteed Schedulle) Penjadwalan ini memberikan janji yang realistis (memberi daya pemroses yang sama) untuk membuat dan menyesuaikan performance adalah jika ada N pemakai, sehingga setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU. Untuk mewujudkannya, sistem harus selalu menyimpan informasi tentang jumlah waktu CPU untuk semua proses sejak login dan juga berapa lama pemakai sedang login. Kemudian jumlah waktu CPU, yaitu waktu mulai login dibagi dengan n, sehingga lebih mudah menghitung rasio waktu CPU. Karena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat dihitung rasio antara waktu pemroses



9



yang sesungguhnya harus diperoleh, yaitu 1/N waktu pemroses seluruhnya dan waktu pemroses yang telah diperuntukkan proses itu. Rasio 0,5 berarti sebuah proses hanya punya 0,5 dari apa yang waktu CPU miliki dan rasio 2,0 berarti sebuah proses hanya punya 2,0 dari apa yang waktu CPU miliki. Algoritma akan menjalankan proses dengan rasio paling rendah hingga naikketingkat lebih tinggi diatas pesaing terdekatnya. Ide sederhana ini dapat diimplementasikan ke sistem real-time dan memiliki penjadwalan berprioritas dinamis.



BAB III PENUTUP



A. Kesimpulan Dalam melakukan berbagai macam operasi, baik operasi yang penting maupun tidak penting dalam sistem komputer itu sendiri, tetap diperlukan adanya Penjadwalan proses. Karena banyak hal yang akan juga terhambat pekerjaannya jika penjadwalan proses itu tidak terlaksana atau tidak efisien. Mungkin akan membuang daya lebih pada listrik, mungkin akan membuat perangkat menjadi rusak bahkan ketika memaksakan banyak proses yang tidak semestinya berjalan bersama. Akan menimbulkan hang, pada tahap awal dan pada tahap yang lebih serius akan terjadi yang namanya black screen. Oleh sebab itu dengan adanya penggunaan Penjadwalan Proses dalam sistem operasi, akan terwujud sebuah sistem operasi yang efisien, hemat daya, dan waktu dalam mengerjakan banyak pekerjaan sekaligus. Hal ini akan sangat membantu para programmer dan analis dalam menata proses proses yang akan berjalan sesuai dengan kemampuan dan batasan dari tiap tiap perangkat komputer.



B. SARAN Saran saya terhadap para pembaca makalah saya yaitu, semoga dapat mengambil dan memahami apa yang telah saya paparkan materi berhubungan dengan penjadwalan proses, dan bisa untuk membangun dan memberi masukan terhadap penulisan saya ini jika terdapat kesalahan kata atau bahkan kesalahan teori yang saya masukkan ke dalam tulisan ini. 10



Dengan segala hormat, terima kasih telah membaca makalah saya ini. Semoga makalah yang saya buat dapat bermanfaat dan menjadi reverensi bagi pembaca.



DAFTAR PUSTAKA 







[Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley & Sons. [Tanenbaum2006] Andrew S. Tanenbaum dan Albert S. Woodhull. 2006. Operating Systems: Design and Implementation. Third Edition. Pearson Education, Inc. [WEBDCU2007] From Dublin City University homepage. 2007. Processes – http://computing.dcu.ie/~HUMPHRYS/Notes/OS/processes.html . Diakses 20 Februari 2007. http://lilyaulia0105.blogspot.co.id/2017/01/kelompok-3-penjadwalan-proses.html







https://id.wikipedia.org/wiki/FIFO



 



11



12