ROADMAP
Principals of Concurrency
Mutual Exclusion: Hardware Support
Semaphores
Monitors
Message Passing
Readers/Writers Problem
CONCURRENCY
Concurrency merupakan
landasan umum perancangan
sistem operasi. Proses-proses
disebut concurrensy jika prosesproses (lebih dari satu proses)
berada pada saat yang sama.
Istilah Penting
Critical section
bagian kode dalam proses yang membutuhkan akses
menuju sumberdaya dan
tidak boleh dijalankan ketika
proses lain berada pada bagian kode yang
terhubung
Deadlock
suatu keadaan dimana sistem seperti terhenti dikarenakan
setiap proses memiliki sumber daya yang tidak bisa dibagi dan
menunggu untuk mendapatkan sumber
daya yang sedang
dimiliki oleh proses lain.
Livelock
situasi dimana dua atau lebih proses secara kontinu
merubah state sebagai respon tanpa melakukan suatu
pekerjaan.
Mutial Exclusion
Sebuah ketentuan dimana ketika hanya ada satu proses pada
critical section yang boleh memakai sumber daya, dan proses lain
yang ingin memakai sumber daya tersebut harus menunggu
hingga sumber daya tadi dilepaskan atau tidak ada proses yang
memakai sumber daya tersebut
Race condition
Situasi dimana beberapa proses mengakses dan memanipulasi
sebuah pada saat besamaan dan nilai akhir dari data tersebut
tergantung pada proses yang terakhir selesai
Starvation
Situasi dimana sebuah proses yang runnable diabaikan oleh
scheduler;meskipun mampu melanjutkan, tetapi tidak pernah
dipilih
Principals of
Concurrency
Kesulitan
Concurrency
1.
Contoh Sederhana
void echo()
{
chin = getchar();
chout = chin;
putchar(chout);
}
Contoh pada
Multiprocessor
Process P2
Process P1
chin = getchar();
chout = chin;
putchar(chout);
chin = getchar();
chout = chin;
putchar(chout);
Kondisi Race
Race condition terjadi ketika:
Banyak proses atau thread
membaca & menulis item data
Hasil akhir dari aktifitas baca &
tulis tersebut tergantung pada
urutan eksekusi dari proses
yang terlibat.
Output tergantung pada siapa
Interaksi Proses
Tingkat
Kesadaran
Hubungan
Proses secara
langsung peduli
terhadap proses
lain
Kerjasama dg
komunikasi
Masalah
Pengendalian yang
Perlu Dilakukan
Mutual exclusion
Deadlock
Starvation
Mutual exclusion
Deadlock
Starvation
Koherensi Data
Deadlock
Starvation
Mutual Exclusion:
Hardware Support
1. (Disabling Interrupts)
Uniprocessor hanya membolehkan
interleaving
Interrupt Disabling
Proses berjalan sampai ia
memanggil suatu layanan SO atau
sampai ia diinterupsi
Disabling interrupts menjamin
terwujudnya mutual exclusion
Tidak akan bekerja pada
arsitektur multiprocessor
Intruksi exchange
EXCHANGE INSTRUCTION
EXCHANGE INSTRUCTION
(FIG 5.2)
TERIMAKASIH