Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

SISTEM OPERASI Pertemuan 4 : Penjadwalan

Presentasi serupa


Presentasi berjudul: "SISTEM OPERASI Pertemuan 4 : Penjadwalan"— Transcript presentasi:

1 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

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

3 Manajemen Proses Tugas OS dlm kaitan manajemen proses:
Mengendalikan siklus proses seperti penciptaan, penundaan dan penghentian proses oleh pengguna maupun sistem. Mendukung komunikasi antar proses, sehingga membantu dalam penyusunan aplikasi. Menggilir atau menjadwal eksekusi dari sejumlah proses untuk memaksimalkan penggunaan prosesor, sekaligus memberikan tanggapan waktu yang baik. Mengatur alokasi sumber daya pada proses sesuai dengan kebijakan sehingga masing-masing proses berjalan dengan benar serta mencegah terjadinya deadlock.

4 Penciptaan Proses Penciptaan(creation) proses dpt disebabkan:
Eksekusi job batch baru User logon pada lingkungan interaktif Tanggapan OS atas permintaan layanan Proses menciptakan proses lain (child process) Tahap pembuatan proses meliputi: Memberi identitas (ID) pada proses Menyisipkan entry baru ke Process Table. Alokasi memori untuk proses (Process image) Inisialisasi PCB, mis mengeset status proses, prioritas awal, dll Mengubah status dan menyisipkan entry proses ke antrian ready

5 Penghentian Proses Penghentian proses bisa disebabkan karena sudah selesai atau sebab lainnya. Tahap penghentian proses (penghentian secara normal) meliputi: Mengembalikan data output ke proses parent. Menghapus rekaman proses dari antrian dan tabel proses Menghapus PCB dan juga image proses.

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) proses dpt disebabkan: 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. Menyebabkan pengalihan ke interrupt handler(interrupt routine ) yg bersangkutan. Trap Interupsi khusus yang terjadi karena kondisi perkecualian (exception condition) yang dihasilkan proses yang running Supervisor Call Pemanggilan layanan sistem operasi oleh proses. Efeknya adalah proses ter-blocked karena aktifnya proses kernel (OS).

8 Proses: Pengalihan(3/3)
Tahap pengalihan proses meliputi: Penyimpanan context proses yg running. Update PCB proses (termasuk ubah status proses) Pindahkan PCB ke list yang sesuai (ready, blocked) Dispacth proses lain untuk dieksekusi Update PCB proses yang terpilih Update struktur data manajemen memori Update context prosesor sesuai dengan context PCB terpilih

9

10 Pengalihan Context(1/2)
Pengalihan context vs pengalihan proses: Context switching dpt terjadi tanpa pengalihan status proses yg running. Misalkan pengalihan sementara (singkat) pd eksekusi interupt handler Process switching pasti melibatkan pula pengalihan context. Misalkan proses yg running beralih ke status ready atau blocked.

11 Pengalihan Context(2/2)
Tahap context switching pd penanganan interrupt: Prosesor menyimpan context proses saat itu ke stack Prosesor mengeset register PC dgn alamat awal interrupt handler. Prosesor mengeksekusi program interrupt handler (belum tentu pengalihan proses). Context pada stack dikembalikan sehingga proses tersebut dapat running kembali.

12 Penjadwalan Proses Sistem operasi modern mendukung multitasking
Sistem operasi bertanggung jawab mengenai penjadwalan proses Sistem operasi meningkatkan kinerjanya dengan memberikan prioritas pada proses I/O-bound dibanding compute-bound Proses I/O-bound, yang banyak mengakses piranti I/O, umumnya memiliki durasi komputasi (penggunaan prosesor) yang singkat Proses compute-bound sebagian besar siklus hidupnya untuk komputasi (sedikit mengakses I/O)

13 Definisi dan Komponen Penjadwalan
Penjadwalan Proses merupakan kumpulan kebijakan dan mekanisme OS yang berkaitan dengan pemilihan dan urutan eksekusi proses-proses. Komponen penjadwalan meliputi: Antrian penjadwalan(Scheduling Queue) Antara lain antrian yg berisi proses-proses yg siap dieksekusi, antrian untuk proses-proses yg menunggu layanan operasi dari suatu piranti I/O. Penjadwal (Scheduler) Berupa rutin program dengan algoritma tertentu yang menyeleksi proses yg akan dibawa ke memori utama atau yg siap untuk dieksekusi CPU. Dispatcher Adalah suatu rutin program yang berfungsi untuk melakukan switching eksekusi dari proses yang running ke proses yang terseleksi oleh CPU Scheduler. Waktu yg dibutuhkan untuk switching atau pengalihan ini disebut dispatch latency.

14 Antrian dan Penjadwal 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) Berfungsi menyeleksi 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.

15 Antrian

16 Kriteria Penjadwalan Kriteria yg menjadi pertimbangan dlm menyusun atau menilai algoritma penjadwalan CPU (CPU scheduler) antara lain: Fairness: semua proses diperlakukan adil agar tidak terjadi starvation CPU utilization(max): CPU terpakai terus Throughput(max): Proses yg selesai per unit waktu. Turnaround time (min): Waktu total yg dibutuhkan untuk menyelesaikan suatu proses. Waiting time(min): Waktu tunggu suatu proses di ready queue Response time(min):Rentang waktu antara permintaan CPU oleh proses dan tanggapan.

17 Strategi Penjadwalan Strategi penjadwalan proses untuk 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).

18 Pemicu Penjadwalan Pemicu atau keadaan yang mengaktifkan fungsi penjadwalan proses antara lain: Proses berubah dari status running ke waiting Proses berubah dari status running ke ready Proses Berubah dari status waiting ke ready Proses berhenti (Terminates) Pada penjadwalan non-preemptive, fungsi penjadwalan proses hanya dipicu oleh keadaan no 1 dan 4.

19 Kemungkinan Transisi Proses

20 Algoritma Penjadwalan (1/6)
Tugas utama algoritma penjadwalan adalah: Memilih proses yg harus berjalan Kapan dan berapa lama proses itu berjalan Macam algoritma penjadwalan : Algoritma Non-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: * menandakan algoritma memakai sistem prioritas.

21 Algoritma Penjadwalan (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

22 Algoritma Penjadwalan (3/6)
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.

23 Algoritma Penjadwalan (4/6)
RR(Round Robin) Penjadwalan preemptive tanpa prioritas. Proses di-preemp oleh penjadwal berdasarkan lama waktu berjalannya proses. Semua proses diberi jatah waktu pemakaian prosesor dalam unit yang disebut time slice atau quantum. Ketentuan algoritma ini: Jika quantum habis dan proses belum selesai, proses akan dialihkan ke status ready dan prosesor dialihkan ke proses lain. Jika quantum belum habis dan proses menunggu suatu event, proses akan dialihkan ke status waiting dan prosesor dialihkan ke proses lain. Jika quantum belum habis tetapi proses telah selesai, maka proses diakhiri, dan prosesor dialihkan proses lainnya.

24 Algoritma Penjadwalan (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.

25 Algoritma Penjadwalan (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.

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

27 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

28

29 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

30

31 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.

32 Proses: Komunikasi(4/5)
Pada komunikasi tidak langsung dengan mailbox, kepemilikan mailbox bisa 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 menghapus mailbox. 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.

33

34 Proses: Komunikasi(5/5)
Message-buffering adalah 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.

35

36 Mind Mapping Session

37 QA


Download ppt "SISTEM OPERASI Pertemuan 4 : Penjadwalan"

Presentasi serupa


Iklan oleh Google