1 / 37

SISTEM OPERASI

SISTEM OPERASI. Pertemuan 4 : Penjadwalan Pengenalan konsep penjadwalan serta berbagai algoritma penjadwalan. Disusun oleh : Silvester Dian Handy Permana , S.T., M.T.I. Fakultas Telematika , Universitas Trilogi. Outline. Pengelolaan Siklus Hidup Proses Penjadwalan Proses

bell-lane
Download Presentation

SISTEM OPERASI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SISTEM OPERASI Pertemuan4 : Penjadwalan Pengenalankonseppenjadwalansertaberbagaialgoritmapenjadwalan Disusunoleh: Silvester Dian Handy Permana, S.T., M.T.I. FakultasTelematika, UniversitasTrilogi

  2. Outline • Pengelolaan Siklus Hidup Proses • Penjadwalan Proses • Komunikasi Antar Proses • Pengelolaan Alokasi Sumber Daya ke Proses

  3. Manajemen Proses • TugasOSdlmkaitanmanajemenproses: • Mengendalikansiklusprosessepertipenciptaan, penundaandanpenghentianprosesolehpenggunamaupunsistem. • Mendukungkomunikasiantarproses, sehinggamembantudalampenyusunanaplikasi. • Menggilirataumenjadwaleksekusidarisejumlahprosesuntukmemaksimalkanpenggunaanprosesor, sekaligusmemberikantanggapanwaktu yang baik. • Mengaturalokasisumberdayapadaprosessesuaidengankebijakansehinggamasing-masingprosesberjalandenganbenarsertamencegahterjadinyadeadlock.

  4. Penciptaan Proses • Penciptaan(creation) prosesdptdisebabkan: • Eksekusijob batchbaru • User logon padalingkunganinteraktif • Tanggapan OS ataspermintaanlayanan • Prosesmenciptakanproses lain (child process) • Tahappembuatanprosesmeliputi: • Memberiidentitas (ID) padaproses • Menyisipkanentry barukeProcess Table. • Alokasimemoriuntukproses (Process image) • InisialisasiPCB,mismengeset status proses, prioritasawal, dll • Mengubah status danmenyisipkanentry proseskeantrianready

  5. Penghentian Proses • Penghentianprosesbisadisebabkankarenasudahselesaiatausebablainnya. • Tahappenghentianproses (penghentiansecara normal) meliputi: • Mengembalikan data output keprosesparent. • Menghapusrekamanprosesdariantriandantabelproses • Menghapus PCB danjugaimageproses.

  6. Proses: Pengalihan(1/3) • Sistem operasi bertanggung jawab untuk pengalihan eksekusi proses. • Proses pengganti akan diseleksi menggunakan rutin scheduler, sedangkan pengalihan eksekusinya dilakukan menggunakan rutin yang disebut dengan dispatcher. • Ada berbagai algoritma scheduler.

  7. Proses: Pengalihan(2/3) • Pengalihan(switching) prosesdptdisebabkan: • jatah waktu eksekusinya sudah habis. • suatu proses meminta operasi I/O (misalnya membaca berkas) • menunggu suatu event (misalnya menggunakan inputan keyboard ataupun pergerakan mouse dari pengguna komputer) • Interrupt • Mis: Clock, I/O, Memory fault interrupt. Menyebabkanpengalihanke interrupt handler(interrupt routine ) ygbersangkutan. • Trap • Interupsikhusus yang terjadikarenakondisiperkecualian (exception condition) yang dihasilkanproses yang running • Supervisor Call • Pemanggilanlayanansistemoperasiolehproses. Efeknyaadalahprosester-blocked karenaaktifnyaproses kernel (OS).

  8. Proses: Pengalihan(3/3) • Tahappengalihanprosesmeliputi: • Penyimpanancontextprosesygrunning. • Update PCBproses (termasukubah status proses) • PindahkanPCBke list yang sesuai (ready, blocked) • Dispacthproses lain untukdieksekusi • Update PCB proses yang terpilih • Updatestruktur data manajemenmemori • Updatecontextprosesorsesuaidengan context PCB terpilih

  9. Pengalihan Context(1/2) • Pengalihan context vspengalihanproses: • Context switchingdptterjaditanpapengalihan status prosesygrunning. Misalkanpengalihansementara (singkat) pd eksekusiinterupt handler • Process switchingpastimelibatkan pula pengalihancontext. Misalkanprosesygrunning beralihke status readyataublocked.

  10. Pengalihan Context(2/2) • Tahap context switching pd penanganan interrupt: • Prosesormenyimpancontextprosessaatitukestack • Prosesormengeset register PC dgnalamatawalinterrupt handler. • Prosesormengeksekusi program interrupt handler (belumtentupengalihanproses). • Contextpadastackdikembalikansehinggaprosestersebutdapatrunningkembali.

  11. PenjadwalanProses • Sistemoperasi modern mendukung multitasking • Sistemoperasibertanggungjawabmengenaipenjadwalanproses • Sistemoperasimeningkatkankinerjanyadenganmemberikanprioritaspadaproses I/O-bound dibanding compute-bound • Proses I/O-bound, yang banyakmengaksespiranti I/O, umumnyamemilikidurasikomputasi (penggunaanprosesor) yang singkat • Proses compute-bound sebagianbesarsiklushidupnyauntukkomputasi(sedikitmengakses I/O)

  12. DefinisidanKomponenPenjadwalan • PenjadwalanProsesmerupakankumpulankebijakandanmekanismeOS yang berkaitandenganpemilihandanurutaneksekusiproses-proses. • Komponenpenjadwalanmeliputi: • Antrianpenjadwalan(Scheduling Queue) Antara lain antrianygberisiproses-prosesygsiapdieksekusi, antrianuntukproses-prosesygmenunggulayananoperasidarisuatupiranti I/O. • Penjadwal (Scheduler) Beruparutin program denganalgoritmatertentu yang menyeleksiprosesygakandibawakememoriutamaatauygsiapuntukdieksekusi CPU. • Dispatcher Adalahsuaturutin program yang berfungsiuntukmelakukanswitchingeksekusidariproses yang runningkeproses yang terseleksiolehCPU Scheduler. Waktuygdibutuhkanuntukswitchingataupengalihaninidisebut dispatch latency.

  13. AntriandanPenjadwal • Macam-macam Scheduling Queue: • Job(Long-term) Queue: berisi semua proses dlm sistem • Ready(Short-Term) Queue: berisi proses proses di memori utama yang siap untuk dieksekusi. Berfungsi untuk penjadwalan pemakaian CPU. • Device Queue: berisi proses yg menunggu operasi pd piranti I/O. Ada 1 satu antrian untuk tiap device. Berfungsi untuk penjadwalan pemakain device. • Macam-macam Scheduler: • The Longterm-Scheduler(Job scheduler) Berfungsimenyeleksi proses yg akan dibawa ke ready queue di memori utama sehingga siap di jadwal untuk CPU. • The Short-term Scheduler(CPU Scheduler) Berfungsi menyeleksi proses di ready queue yg akan dieksekusi berikutnya oleh CPU.

  14. Antrian

  15. KriteriaPenjadwalan • Kriteriaygmenjadipertimbangandlmmenyusunataumenilaialgoritmapenjadwalan CPU (CPU scheduler) antara lain: • Fairness: semuaprosesdiperlakukanadil agar tidakterjadi starvation • CPU utilization(max): CPU terpakaiterus • Throughput(max): Prosesygselesai per unit waktu. • Turnaround time (min): Waktu total ygdibutuhkanuntukmenyelesaikansuatuproses. • Waiting time(min): Waktutunggusuatuprosesdiready queue • Response time(min):Rentangwaktuantarapermintaan CPU olehprosesdantanggapan.

  16. StrategiPenjadwalan • Strategi penjadwalanprosesuntuk CPU (CPU scheduler) secara dasar dpt dibedakan: • Non-preemptive Penjadwalan akan dilakukan setelah proses yang running melepaskan kendali CPU (terminated ataupun waiting) • Preemptive Penjadwalan bisa dilakukan dengan menyela proses yang running. Proses yang running akan diubah statusnya menjadi ready. Kerugian strategi preemptive adalah adanya overhead pengalihan proses (process switching).

  17. PemicuPenjadwalan • Pemicuataukeadaan yang mengaktifkanfungsipenjadwalanprosesantara lain: • Prosesberubahdari status runningkewaiting • Prosesberubahdari status runningkeready • ProsesBerubahdari status waitingkeready • Prosesberhenti (Terminates) • Padapenjadwalannon-preemptive, fungsipenjadwalanproseshanyadipicuolehkeadaan no 1 dan 4.

  18. Kemungkinan Transisi Proses

  19. AlgoritmaPenjadwalan(1/6) • Tugasutamaalgoritmapenjadwalanadalah: • Memilihprosesygharusberjalan • Kapandanberapa lama prosesituberjalan • Macamalgoritmapenjadwalan: • AlgoritmaNon-preemptive • FIFO( First in Firs Out) • SJF(Shortest Job First) • HRRN(Highest Response Ratio Next)* • Algoritma Preemptive • RR(Round Robin) • PS(Priority Scheduling)* • SRT(Shortest-Remaining Time)* • GS(Guaranteed Scheduling)* • MFQ(Multiple Feedback Queues)* NB: * menandakanalgoritmamemakaisistemprioritas.

  20. AlgoritmaPenjadwalan(2/6) • FIFO/FCFS (First Come First Serve) Penjadwalan non-preemptive tidak berprioritas. Proses dijadwal sesuai waktu kedatangan. Proses yg terpilih akan dijalankan sampai selesai. Kerugiannya adalah job yg pendek ataupun penting hrs menunggu proses yg panjang ataupun yg tidak penting. Oleh sebab itu FIFO jarang digunakan secara mandiri. FIFO cocok untuk sistem batch, tetapi jelek untu sistem interaktif ataupun real-time(response time nya jelek). • SJF(Shortest Job First) Penjadwalan non-preemptive tidak berprioritas dgn asumsi waktu running proses diketahui. Proses dgn waktu running terpendek akan dijadwalkan lebih dulu dan dieksekusi sampai selesai

  21. HRRN(Highest Response Ratio Next) Penjadwalan nonpreemptive berprioritas dinamis. Prioritas proses berdasarkan waktu running dan waktu tunggu (waiting) dari proses. Jadi proses yg terpendek atau yg telah menunggu lama cenderung memiliki prioritas yang tinggi. AlgoritmaPenjadwalan(3/6)

  22. AlgoritmaPenjadwalan(4/6) • RR(Round Robin) Penjadwalan preemptive tanpaprioritas. Prosesdi-preempolehpenjadwalberdasarkan lama waktuberjalannyaproses. Semuaprosesdiberijatahwaktupemakaianprosesordalam unit yang disebut time sliceatau quantum. Ketentuanalgoritmaini: • Jikaquantumhabisdanprosesbelumselesai, prosesakandialihkanke status ready danprosesordialihkankeproses lain. • Jika quantum belumhabisdanprosesmenunggusuatuevent, prosesakandialihkanke status waiting danprosesordialihkankeproses lain. • Jikaquantumbelumhabistetapiprosestelahselesai, makaprosesdiakhiri, danprosesordialihkanproseslainnya.

  23. AlgoritmaPenjadwalan(5/6) • PS(Priority Scheduling) Setiap proses diberi prioritas yg dapat bersifat: • Statis (prioritas tetap) • Dinamis (priortias berubah-buah). Proses dgn prioritas tertinggi akan dijadwal lebih dulu. • SRT(Shortest-Remaining Time) Penjadwalan preemptive dengan prioritas dinamis. SRT terutama cocok untuk sistem timesharing. Pada SRT, proses dengan estimasi sisa waktu running terpendek akan dijalankan terlebih dulu, termasuk proses-proses baru. Proses yg sedang running dapat diambil alih oleh proses baru dengan sisa waktu running yang diestimasi lebih rendah.

  24. AlgoritmaPenjadwalan(6/6) • GS(Guaranteed Scheduling) Penjadwalan preemptive berprioritas dinamis. Jika terdapat N pemakai, tiap pemakai mendapat 1/N daya prosesor, lalau dihitung rasio waktu proses untuk tiap pemakai (sejak login) dan waktu prosesor sesungguhnya. Penjadwal akan menjalankan proses dengan rasio terendah. • MFQ(Multiple Feedback Queues) Penjadwalan preemptive by time berprioritas dinamis berdasarkan jumlah quantum proses. Penjadwalan ini mencegah swapping yg berulang-ulang pada proses yg membutuhkan banyak waktu prosesor dengan memberikan jatah waktu CPU yang lebih banyak dalam sekali alokasi waktu. Proses dengan prioritas tertinggi berjalan selama satu quantum, kelas berikutnya berjalan 2 quantum, 4 quatum dan seterusnya. Efek lainnya adalah proses interaktif yg singkat tidak harus menunggu lama, karena cenderung mendapat prioritas yang tinggi.

  25. Proses: Komunikasi • Outline Bahasan: • Model Komunikasi antar proses • Shared-Memory • Message-Passing • Bentuk Komunikasi • Ciri-ciri Komunikasi • Mailbox policy • Message Buffering

  26. Proses: Komunikasi(1/5) • Ada 2 macam model komunikasi antar proses yg saling bekerja sama: • Model Message-passing. Informasi dipertukarkan melalui fasilitas OS. • Model Shared-memory. Informasi dipertukarkan lewat variabel di memori yang dishare bersama oleh proses-proses yg berkomunikasi. Dlm model ini, programmer yg bertanggung jawab atas mekanisme komunikasi. Model ini punya kelemahan karena variabel dpt dimodifikasi suatu proses tanpa sepengetahuan proses lain, sehingga muncul masalah sinkronisasi proses

  27. Proses: Komunikasi(2/5) • Model Komunikasi Message-Passing bisa dikategorikan atas 2 bentuk: • Komunikasi langsung Bentuk komunikasi ini mengacu ke nama proses secara langsung. Bentuk: send(P, pesan): mengirim pesan ke proses P receive(Q,pesan): menerima pesan dari proses Q • Komunikasi tak langsung Bentuk komunikasi melakukan pengiriman dan penerimaan pesan melalui mailbox(port). Bentuk: send(A,pesan) : mengirim pesan ke mailbox A receive(A,pesan): menerima pesan dari mailbox A

  28. Proses: Komunikasi(3/5) • Ciri-ciri dari komunikasi message-passing: • Komunikasi langsung • Ada sambungan yang dapat bekerja secara otomatis antara proses proses yg ingin berkomunikasi • Tiap sambungan menghubungkan tepat 2 proses. • Antar tiap pasangan proses ada tepat 1 jalur sambungan. • Sambungan yg ada mungkin unidirectional, namun biasanya bidirectional • Komunikasi tak langsung • Sambungan antara 2 proses diberikan jika dua-duanya saling menggunakan suatu mailbox secara bersama • Tiap mailbox bisa menghubungkan lebih dari 2 proses. • Antar tiap pasangan proses bisa ada sejumlah sambungan, masing-masing berhubungan dengan satu mailbox. • Sambungan yg ada mungkin bersifat unidirectional, namun biasanya bidirectional.

  29. Proses: Komunikasi(4/5) • Pada komunikasi tidak langsung dengan mailbox, kepemilikan mailboxbisa dikuasai oleh: • Proses Dalam kasus ini, pemilik mailbox adalah proses yg membuatnya. Hanya pemilik yg menerima pesan dari mailbox. Proses lain bisa mengirim pesan ke mailbox tsb. OS dlm hal ini harus memiliki mekanisme yg memungkinkan proses untuk membuat, mengirim dan menerima pesan serta menghapusmailbox. • OS (atau shared-mailbox) Dalam kasus ini, policy OS yg akan menentukan bagaiamana pengiriman dan penerimaan berlangsung melalui mailbox. Mis: mengijinkan satu mailbox cuman berhubungan dengan 2 proses, dll.

  30. Proses: Komunikasi(5/5) • Message-bufferingadalah mekanisme penyimpanan sementara (buffering) pesan-pesan yang dikirim. Buffer biasanya berbentuk antrian(queue) yang berisi link ke pesan-pesan bersangkutan. • Implementasi Buffer dapat berupa: • Zero capacity Queue: Tidak ada antrian. Pengirim hrs menunggu penerima (rendezvous), komunikasi berjalan synchronous. • Bounded Capacity Queue : Antrian memiliki panjang maksimum n. Pengirim harus menungggu jika antrian penuh. • Unbounded Capacity Queue : Antrian memiliki panjang tak terbatas. Pengirim tidak perlu menunggu. Komunikasi berjalan asynchronous.

  31. Mind Mapping Session

  32. QA

More Related