SISTEM OPERASI

37
SISTEM OPERASI Disusun oleh : Silvester Dian Handy Permana, S.T., Fakultas Telematika, Universitas Pertemuan 4 : Penjadwalan Pengenalan konsep penjadwalan serta berbagai algoritma penjadwalan

description

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 - PowerPoint PPT Presentation

Transcript of SISTEM OPERASI

SISTEM OPERASI

Disusun oleh : Silvester Dian Handy Permana, S.T., M.T.I.Fakultas Telematika, Universitas Trilogi

Pertemuan 4 :

PenjadwalanPengenalan konsep penjadwalan serta berbagai algoritma penjadwalan

Outline

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

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.

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

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.

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.

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

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

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.

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.

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)

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.

– DispatcherAdalah 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.

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.

Antrian

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.

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)

– PreemptivePenjadwalan 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).

Pemicu Penjadwalan

• Pemicu atau keadaan yang mengaktifkan fungsi penjadwalan proses antara lain:

1. Proses berubah dari status running ke waiting 2. Proses berubah dari status running ke ready3. Proses Berubah dari status waiting ke ready4. Proses berhenti (Terminates)

• Pada penjadwalan non-preemptive, fungsi penjadwalan proses hanya dipicu oleh keadaan no 1 dan 4.

Kemungkinan Transisi Proses

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.

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

Algoritma Penjadwalan (3/6)

timeRunning

timewaitingtimeRunningiority

Pr

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

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.

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.

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.

Proses: Komunikasi

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

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

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 langsungBentuk 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

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.

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.

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.

Mind Mapping Session

QA