3. KOMUNIKASI ANTAR PROSES
Komunikasi antar proses atau Inter-Process
Communication (IPC) adalah cara atau
mekanisme pertukaran data antara satu
proses dengan proses lainnya, baik itu proses
yang berada di dalam komputer yang sama,
atau komputer jarak jauh yang terhubung
melalui jaringan.
IPC terdiri atas protokol yang menjamin
sebuah respons dari sebuah permintaan.
4. Proses-Proses yang Membutuhkan
Komunikasi
• Proses-proses yang ingin dikomunikasikan
harus memiliki sebuah cara untuk memilih
satu dengan yang lain. Proses-proses yang
ingin dikomunikasikan dapat menggunakan
komunikasi langsung/ tidak langsung.
5. Komunikasi Langsung
Bentuk komunikasi langsung adalah proses
melakukan komunikasi langsung ke proses
lain. Pada komunikasi langsung, harus
disebutkan nama proses secara eksplisit.
send(P,pesan);mengirim pesan ke
proses P.
receive(Q,pesan);menerima pesan dari
proses Q.
Komunikasi
Langsung
Komunikasi Tak
Langsung
Sinkronisasi
Buffering
Proses-Proses yang Membutuhkan Komunikasi
6. Komunikasi Tak Langsung
Pada komunikasi tak langsung pengiriman atau
penerimaan pesan dilakukan melalui kotak
surat/mailbox(port).
Mailbox adalah suatu objek yang mana pesan-pesan
ditempatkan oleh proses atau dapat dihapus.
Tiap-tiap mailbox memiliki identitas unik. Dua buah
proses dapat saling berkomunikasi hanya jika mereka
saling menggunakan mailbox secara bersama-sama.
• Send (A, message) – mengirim pesan ke mailbox A.
• Receive (A, message) – menerima pesan dari
mailbox A.
Komunikasi
Langsung
Komunikasi Tak
Langsung
Sinkronisasi
Buffering
Proses-Proses yang Membutuhkan Komunikasi
7. Sinkronisasi
Komunikasi antara proses membutuhkan
place by calls untuk mengirim dan
menerima data primitive. Terdapat
rancangan yang berbeda-beda dalam
implementasi setiap primitive. Pengiriman
pesan mungkin dapat diblok (blocking)
atau tidak dapat dibloking (nonblocking) –
juga dikenal dengan nama sinkron atau
asinkron.
Komunikasi
Langsung
Komunikasi Tak
Langsung
Sinkronisasi
Buffering
Proses-Proses yang Membutuhkan Komunikasi
8. Buffering
Baik komunikasi itu langsung atau tak
langsung, penukaran pesan oleh proses
memerlukan antrian sementara. Pada
dasarnya, terdapat tiga jalan dimana
antrian tersebut diimplementasikan:
Zero Capacity (Kapasitas Nol)
Bounded Capacity (Kapasitas Terbatas)
Unbounded Capacity (Kapasitas Tidak
Terbatas)
Komunikasi
Langsung
Komunikasi Tak
Langsung
Sinkronisasi
Buffering
Proses-Proses yang Membutuhkan Komunikasi
9. Manajemen Proses
Proses adalah program yang sedang di
eksekusi. Sebuah proses memerlukan sumber
daya (resource) tertentu seperti waktu
CPU,memori,file dan perangkat I/O untuk
menyelesaikan tugasnya.
Untuk mengatur proses yang ada, sistem
operasi bertanggung jawab pada aktifitas-aktifitas
yang berhubungan denagn manajemen proses
berikut :
Pembuatan dan penghapusan proses yang dibuat
oleh user atau sistem.
Menghentikan proses sementara dan melanjutkan
proses.
Menyediakan kelengkapan mekanisme untuk
sinkronisasi proses dan komunikasi proses.
Manajemen Proses
Manajemen
Memori Utama
Manajemen File
Manajemen Sistem
I/O
Penggunaan Sumber Daya Secara Bersamaan
Manajemen
Penyimpan
Sekunder
10. Manajemen Memori Utama
Memori utama atau biasanya disebut dengan
memori adalah sebuah array besar berukuran word
atau byte,dimana setiap array tersebut mempunyai
alamat tertentu. Memori adalah penyimpan yang
dapat mengakses data dengan cepat yang
digunakan oleh CPU dan perangkat I/O.
Untuk mengatur memori, sistem operasi
bertanggung jawab pada aktifitas - aktifitas
manajemen memori sebagai berikut :
• Menjaga dan memelihara bagian-bagian
memori yang sedang digunakan dan dari yang
menggunakan.
• Memutuskan proses-proses mana saja yang
harus dipanggil ke memori jika tersedia ruang di
memori.
• Mengalokasikan dan mendealokasikan ruang
memori jika diperlukan.
Manajemen Proses
Manajemen
Memori Utama
Manajemen File
Manajemen Sistem
I/O
Penggunaan Sumber Daya Secara Bersamaan
Manajemen
Penyimpan
Sekunder
11. Manajemen File
File adalah kumpulan informasi yang saling
berhubungan yang sudah didefinisikan oleh
pembuatnya. Biasanya, file berupa program dan
data. Untuk mengatur file, sistem operasi
bertanggung jawab pada aktifitas-aktifitas yang
berhubungan dengan manajemen file sebagai
berikut:
• Pembuatan dan penghapusan file.
• Pembuatan dan penghapusan direktori.
• Pemetaan file ke memori sekunder.
Manajemen Proses
Manajemen
Memori Utama
Manajemen File
Manajemen Sistem
I/O
Penggunaan Sumber Daya Secara Bersamaan
Manajemen
Penyimpan
Sekunder
12. Manajemen Sistem I/O
Sistem operasi bertanggung-jawab pada aktifitas-
aktifitas sistem I/O sebagai berikut:
• Sistem buffer-caching.
• Antarmuka device-driver secara umum.
• Driver untuk device hardware-hardware tertentu.
Manajemen Proses
Manajemen
Memori Utama
Manajemen File
Manajemen Sistem
I/O
Penggunaan Sumber Daya Secara Bersamaan
Manajemen
Penyimpan
Sekunder
13. Manajemen Penyimpan Sekunder
Karena memori utama bersifat volatile dan terlalu
kecil untuk mengakomodase semua data dan
program secara permanen, sistem komputer harus
menyediakan penyimpan sekunder untuk back up
memori utama. Beberapa sistem komputer
modern menggunakan disk untuk media
penyimpan, baik program maupun data.
Sistem operasi bertanggung jawab pada aktifitas-
aktifitas manajemen penyimpanan sekunder
sebagai berikut:
• Pengaturan ruang bebas.
• Alokasi penyimpanan.
• Penjadwalan disk.
Manajemen Proses
Manajemen
Memori Utama
Manajemen File
Manajemen Sistem
I/O
Penggunaan Sumber Daya Secara Bersamaan
Manajemen
Penyimpan
Sekunder
14. Race Condition
• Situasi di mana beberapa proses mengakses dan
memanipulasi data bersama pada saat
bersamaan. Nilai akhir dari data bersama
tersebut tergantung pada proses yang terakhir
selesai.
• Suatu kondisi dimana dua atau lebih proses
mengakses shared memory/data pada saat yang
bersamaan dan hasil akhirnya tidak sesuai
dengan yang dikehendaki.
16. Cara Mencegah Race Condition
• Untuk menghindari race condition maka
harus diatur agar dua proses yang
mempunyai critical section yang sama
tidak memasuki critical section pada saat
yang bersamaan.
• Critical Sections : bagian dari program
yang mengakses shared memory, yang
dapat menyebabkan terjadinya race
condition.
17. Cara Mencegah Race Condition
Kondisi untuk mencegah race condition:
1. Tidak ada dua proses yang memasuki critical
sectionnya secara simultan (bersamaan).
2. Tidak ada asumsi yang dibuat yang berhubungan
dengan kecepatan dan jumlah CPU.
3. Tidak ada proses yang berjalan diluar critical
sectionnya yang dapat memblokir proses-proses
lain.
4. Tidak ada proses yang menunggu selamanya
untuk masuk ke critical sectionnya.
18. Cara Mencegah Race Condition
• Dengan kata lain, untuk mencegah race
condition maupun situasi – situasi lain yang
meliputi share memory, share file, dan share
apapun adalah dengan menemukan cara untuk
mencegah lebih dari satu proses untuk
membaca dan menulis pada shared data pada
saat yang bersamaan. Dengan kata lain,
dibutuhkan pemakaian suatu exclusive (mutual
exclusion).
19. MUTUAL EXCLUSION
• Suatu cara untuk memastikan bila sebuah
proses sedang menggunakan sebuah shared
variable atau file sehingga proses – proses
yang lain harus tidak diikutsertakan (excluded)
untuk melakukan hal yang sama.
20. MUTUAL EXCLUSION
• Pada saat sebuah proses sedang sibuk
mengupdate shared memory pada critical
section, tidak diperkenankan ada proses lain
masuk ke critical section sehingga tidak terjadi
race conditions. Ini bisa diatasi dengan:
• Disalbling Interrupts
• Lock Variable