Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
SISTEM
OPERASIMINGGU #4
MANAJEMEN PROSES #1
OUTLINE
Pengelolaan Siklus Hidup Proses
Penjadualan 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 penggunamaupun sistem.
Mendukung komunikasi antar proses, sehinggamembantu dalam penyusunan aplikasi.
Menggilir atau menjadwal eksekusi dari sejumlah prosesuntuk memaksimalkan penggunaan prosesor, sekaligusmemberikan tanggapan waktu yang baik.
Mengatur alokasi sumber daya pada proses sesuaidengan kebijakan sehingga masing-masing prosesberjalan dengan benar serta mencegah terjadinyadeadlock.
Pe
ng
anta
r
Sis
tem
Op
era
si
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 antrianready
Pe
ng
anta
r
Sis
tem
Op
era
si
Penghentian Proses
Penghentian proses bisa disebabkankarena sudah selesai atau sebablainnya.
Tahap penghentian proses(penghentian secara normal) meliputi:
Mengembalikan data output ke prosesparent.
Menghapus rekaman proses dari antriandan tabel proses
Menghapus PCB dan juga image proses.
Pe
ng
anta
r
Sis
tem
Op
era
si
Proses: Pengalihan(1/3)
Sistem operasi bertanggung jawab untuk pengalihan eksekusiproses.
Proses pengganti akan diseleksi menggunakan rutinscheduler, sedangkan pengalihan eksekusinya dilakukanmenggunakan rutin yang disebut dengan dispatcher.
Ada berbagai algoritma scheduler.
Pe
ng
anta
r
Sis
tem
Op
era
si
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 keyboardataupun pergerakan mouse dari pengguna komputer)
Interrupt
Mis: Clock, I/O, Memory fault interrupt. Menyebabkanpengalihan ke interrupt handler(interrupt routine ) ygbersangkutan.
Trap
Interupsi khusus yang terjadi karena kondisi perkecualian(exception condition) yang dihasilkan proses yang running
Supervisor Call
Pemanggilan layanan sistem operasi oleh proses. Efeknyaadalah proses ter-blocked karena aktifnya proses kernel (OS).
Pe
ng
anta
r
Sis
tem
Op
era
si
Proses: Pengalihan(3/3)
Tahap pengalihan proses meliputi:
Penyimpanan context proses yg running.
Update PCB proses (termasuk ubah statusproses)
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 contextPCB terpilih
Pe
ng
anta
r
Sis
tem
Op
era
si
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 melibatkanpula pengalihan context. Misalkan
proses yg running beralih ke status
ready atau blocked.
Pe
ng
anta
r
Sis
tem
Op
era
si
Pengalihan Context(2/2)
Tahap context switching pd penangananinterrupt:
Prosesor menyimpan context proses saat itu kestack
Prosesor mengeset register PC dgn alamat awalinterrupt handler.
Prosesor mengeksekusi program interrupt handler(belum tentu pengalihan proses).
Context pada stack dikembalikan sehinggaproses tersebut dapat running kembali.
Pe
ng
anta
r
Sis
tem
Op
era
si
Penjadualan ProsesV
2008
-
KA Sistem operasi modern mendukung multitasking
Sistem operasi bertanggung jawab mengenai
penjadualan 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
Penjadualan Penjadualan 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 darisuatu piranti I/O.
Penjadwal (Scheduler)
Berupa rutin program dengan algoritma tertentu yangmenyeleksi proses yg akan dibawa ke memori utama atau ygsiap untuk dieksekusi CPU.
Dispatcher
Adalah suatu rutin program yang berfungsi untuk melakukanswitching eksekusi dari proses yang running ke proses yangterseleksi oleh CPU Scheduler. Waktu yg dibutuhkan untukswitching atau pengalihan ini disebut dispatch latency.
Pe
ng
anta
r
Sis
tem
Op
era
si
Antrian dan Penjadual
Macam-macam Scheduling Queue:
Job(Long-term) Queue: berisi semua proses dlm sistem
Ready(Short-Term) Queue: berisi proses proses di memori utamayang 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 dimemori utama sehingga siap di jadwal untuk CPU.
The Short-term Scheduler(CPU Scheduler)
Berfungsi menyeleksi proses di ready queue yg akan dieksekusiberikutnya oleh CPU.
Pe
ng
anta
r
Sis
tem
Op
era
si
AntrianP
eng
anta
r
Sis
tem
Op
era
si
Kriteria Penjadualan
Kriteria yg menjadi pertimbangan dlm menyusunatau menilai algoritma penjadwalan CPU (CPUscheduler) antara lain:
Fairness: semua proses diperlakukan adil agar tidakterjadi starvation
CPU utilization(max): CPU terpakai terus
Throughput(max): Proses yg selesai per unit waktu.
Turnaround time (min): Waktu total yg dibutuhkan untukmenyelesaikan suatu proses.
Waiting time(min): Waktu tunggu suatu proses di readyqueue
Response time(min):Rentang waktu antara permintaanCPU oleh proses dan tanggapan.
Pe
ng
anta
r
Sis
tem
Op
era
si
Strategi Penjadualan
Strategi penjadwalan proses untuk CPU (CPUscheduler) secara dasar dpt dibedakan:
Non-preemptive
Penjadwalan akan dilakukan setelah proses yangrunning melepaskan kendali CPU (terminatedataupun waiting)
Preemptive
Penjadwalan bisa dilakukan dengan menyela prosesyang running. Proses yang running akan diubahstatusnya menjadi ready. Kerugian strategipreemptive adalah adanya overhead pengalihanproses (process switching).
Pe
ng
anta
r
Sis
tem
Op
era
si
Pemicu Penjadualan
Pemicu atau keadaan yang mengaktifkan fungsi
penjadualan proses antara lain:
1. Proses berubah dari status running ke waiting
2. Proses berubah dari status running ke ready
3. Proses Berubah dari status waiting ke ready
4. Proses berhenti (Terminates)
Pada penjadualan non-preemptive, fungsi
penjadwalan proses hanya dipicu oleh keadaan
no 1 dan 4.
Pe
ng
anta
r
Sis
tem
Op
era
si
Kemungkinan Transisi
Proses Pe
ng
anta
r
Sis
tem
Op
era
si
Algoritma Penjadualan
(1/6) Tugas utama algoritma penjadualan adalah:
Memilih proses yg harus berjalan
Kapan dan berapa lama proses itu berjalan
Macam algoritma penjadualan : 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.
Pe
ng
anta
r
Sis
tem
Op
era
si
Algoritma Penjadualan
(2/6) FIFO/FCFS (First Come First Serve)
Penjadwalan non-preemptive tidak berprioritas. Prosesdijadwal sesuai waktu kedatangan. Proses yg terpilih akandijalankan sampai selesai. Kerugiannya adalah job ygpendek ataupun penting hrs menunggu proses yg panjangataupun yg tidak penting. Oleh sebab itu FIFO jarangdigunakan secara mandiri. FIFO cocok untuk sistem batch,tetapi jelek untu sistem interaktif ataupun real-time(responsetime nya jelek).
SJF(Shortest Job First)
Penjadwalan non-preemptive tidak berprioritas dgn asumsiwaktu running proses diketahui. Proses dgn waktu runningterpendek akan dijadwalkan lebih dulu dan dieksekusisampai selesai
Pe
ng
anta
r
Sis
tem
Op
era
si
Algoritma Penjadualan (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.
timeRunning
timewaitingtimeRunningiority
Pr
Algoritma Penjadualan
(4/6) RR(Round Robin)
Penjadwalan preemptive tanpa prioritas. Proses di-preemp oleh penjadwal berdasarkan lama waktuberjalannya proses. Semua proses diberi jatah waktupemakaian prosesor dalam unit yang disebut time sliceatau quantum. Ketentuan algoritma ini:
Jika quantum habis dan proses belum selesai, proses akandialihkan ke status ready dan prosesor dialihkan ke proseslain.
Jika quantum belum habis dan proses menunggu suatuevent, proses akan dialihkan ke status waiting dan prosesordialihkan ke proses lain.
Jika quantum belum habis tetapi proses telah selesai, makaproses diakhiri, dan prosesor dialihkan proses lainnya.
Pe
ng
anta
r
Sis
tem
Op
era
si
Algoritma Penjadualan
(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. PadaSRT, proses dengan estimasi sisa waktu runningterpendek akan dijalankan terlebih dulu, termasukproses-proses baru. Proses yg sedang running dapatdiambil alih oleh proses baru dengan sisa wakturunning yang diestimasi lebih rendah.
Pe
ng
anta
r
Sis
tem
Op
era
si
Algoritma Penjadualan
(6/6) GS(Guaranteed Scheduling)
Penjadwalan preemptive berprioritas dinamis. Jikaterdapat N pemakai, tiap pemakai mendapat 1/Ndaya prosesor, lalau dihitung rasio waktu prosesuntuk tiap pemakai (sejak login) dan waktu prosesorsesungguhnya. Penjadwal akan menjalankan prosesdengan rasio terendah.
MFQ(Multiple Feedback Queues)
Penjadwalan preemptive by time berprioritasdinamis berdasarkan jumlah quantum proses.Penjadwalan ini mencegah swapping yg berulang-ulang pada proses yg membutuhkan banyak waktuprosesor dengan memberikan jatah waktu CPUyang lebih banyak dalam sekali alokasi waktu.Proses dengan prioritas tertinggi berjalan selamasatu quantum, kelas berikutnya berjalan 2 quantum,4 quatum dan seterusnya. Efek lainnya adalahproses interaktif yg singkat tidak harus menunggulama, karena cenderung mendapat prioritas yangtinggi.
Pe
ng
anta
r
Sis
tem
Op
era
si
Proses: Komunikasi
Outline Bahasan:
Model Komunikasi antar proses
Shared-Memory
Message-Passing
Bentuk Komunikasi
Ciri-ciri Komunikasi
Mailbox policy
Message Buffering
Pe
ng
anta
r
Sis
tem
Op
era
si
Proses: Komunikasi(1/5)
Ada 2 macam model komunikasi antar proses ygsaling bekerja sama:
Model Message-passing.
Informasi dipertukarkan melalui fasilitas OS.
Model Shared-memory.
Informasi dipertukarkan lewat variabel di memori yangdishare bersama oleh proses-proses yg berkomunikasi.Dlm model ini, programmer yg bertanggung jawabatas mekanisme komunikasi. Model ini punyakelemahan karena variabel dpt dimodifikasi suatuproses tanpa sepengetahuan proses lain, sehinggamuncul masalah sinkronisasi proses
Pe
ng
anta
r
Sis
tem
Op
era
si
Proses: Komunikasi(2/5)
Model Komunikasi Message-Passing bisadikategorikan atas 2 bentuk:
Komunikasi langsung
Bentuk komunikasi ini mengacu ke nama proses secaralangsung. 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 penerimaanpesan melalui mailbox(port). Bentuk:
send(A,pesan) : mengirim pesan ke mailbox A
receive(A,pesan): menerima pesan dari mailbox A
Pe
ng
anta
r
Sis
tem
Op
era
si
Pe
ng
anta
r
Sis
tem
Op
era
si
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.
Pe
ng
anta
r
Sis
tem
Op
era
si
Proses: Komunikasi(4/5)
Pada komunikasi tidak langsung dengan mailbox,kepemilikan mailbox bisa dikuasai oleh:
Proses
Dalam kasus ini, pemilik mailbox adalah proses ygmembuatnya. Hanya pemilik yg menerima pesan darimailbox. Proses lain bisa mengirim pesan ke mailbox tsb.OS dlm hal ini harus memiliki mekanisme yg memungkinkanproses untuk membuat, mengirim dan menerima pesanserta menghapus mailbox.
OS (atau shared-mailbox)
Dalam kasus ini, policy OS yg akan menentukanbagaiamana pengiriman dan penerimaan berlangsungmelalui mailbox. Mis: mengijinkan satu mailbox cumanberhubungan dengan 2 proses, dll.
Pe
ng
anta
r
Sis
tem
Op
era
si
Pe
ng
anta
r
Sis
tem
Op
era
si
Proses: Komunikasi(5/5)
Message-buffering adalah mekanisme penyimpanansementara (buffering) pesan-pesan yang dikirim. Bufferbiasanya berbentuk antrian(queue) yang berisi link ke pesan-pesan bersangkutan.
Implementasi Buffer dapat berupa:
Zero capacity Queue: Tidak ada antrian. Pengirim hrsmenunggu penerima (rendezvous), komunikasi berjalansynchronous.
Bounded Capacity Queue : Antrian memiliki panjangmaksimum n. Pengirim harus menungggu jika antrianpenuh.
Unbounded Capacity Queue : Antrian memiliki panjangtak terbatas. Pengirim tidak perlu menunggu. Komunikasiberjalan asynchronous.
Pe
ng
anta
r
Sis
tem
Op
era
si
Pe
ng
anta
r
Sis
tem
Op
era
si
Mind Mapping Session
Tugas eLearning pertemuan 4Untuk kelas 21 dan 22
Tugas INDIVIDU:
Carilah informasi 3 macam SO, berikan penjelasan
a. SO ybs mempunyai struktur apa?
b. Gambar struktur SO ybs.
c. Penjelasan mengenai struktur SO ybs.
d. Gambarkan proses dan manajemen proses SO ybs dan berikan penjelasannya
e. link/ url referensi
Dikumpulkan 1 minggu setelah perkuliahan ELEARNING (Waktu pengerjaan 1 mnggu) dikumpulkan di email [email protected]
Subject : TUG1_SO(KELAS 21 ATO 22)_NIM
Misal : TUG1_SO21_123497890
DILARANG COPY PASTE