SlideShare a Scribd company logo
1 of 4
2.3. Komunikasi Antar Proses (Interprocess Communication)
Interprocess Communication (IPC) atau Komunikasi antar proses adalah komunikasi
antar proses untuk mengirim data dari satu proses ke proses yang lain, baik antar proses
dalam satu komputer maupun proses dalam komputer yang berbeda.
Ada 3 isu utama pada komunikasi antar proses, isu tersebut adalah
1. Bagaimana satu proses dapat menyampaikan informasi ke satu yang lain
2. Memastikan kedua atau lebih proses tidak salah dalam memasuki jalan proses yang
sudah dibuat ketika sedang terlaksana proses pengiriman informasi tersebut
3. Pengurutan data secara tepat (sequencing) ketika suatu keadaan dependensi
(keadaan bergantung pada yang lain) hadir: Jika proses A adalah menghasilkan,
dan B adalah mencetaknya, maka B harus menungggu sampai A selesai dalam
memproduksi suatu informasi data sebelum B memulai untuk menyetaknya.
2.3.1. Race Condition
Race condition adalah suatu kondisi dimana dua atau lebih proses
mengakses shared storage/sumber daya pada saat yang bersamaan dimana salah
satu diantaranya dapat membaca dan menulis/membuat suatu data.
Shared Storage mungkin akan berada pada memori utama (mungkin juga
pada kernel struktur data) atau juga menjadi sebuah shared file dimana lokasi file
yang akan dibagikan tidak berubah sehingga menjadi masalah baru yang akan
muncul.
Sebagai contoh dari Race Condition adalah proses cetak dokumen
menggunakan printer. Ketika ingin melakukan proses cetak dokumen, maka
printer membaca sebuah nama dokumen yang akan dicetak. Nama tersebut akan
disimpan printer, proses yang lain adalah, printer secara berkala melakukan cek
file mana yang akan di print, jika ada nama dokumen yang sudah terbaca oleh
printer, maka printer kan mencetak file tersebut. Proses tersebut berjalan secara
berurutan sehingga terjadi proses read and write data. Dibawah ini adalah
gambaran skema proses dari contoh printer.
Dalam Murphy’s Law kasus tesebut dapat terjadi. Proses A membaca in dan
menyimpan nilai "7" di sebuah variabel lokal yang disebut next_free_slot. Sebuah
clock interrupt terjadi dan CPU memutuskan bahwa proses A berjalan cukup
lama, sehingga digantika oleh proses B. Proses B juga membaca in, dan juga
mengambil nilai 7, sehingga menyimpan nama berkas di slot nomor 7 dan
memperbaharui nilai in menjadi 8. Maka proses mati dan melakukan hal lain.
Akhirnya proses A berjalan lagi, dimulai dari tempat di mana proses tersebut
mati. Hal ini terlihat dalam next_free_slot, ditemukan nilai 7 di sana, dan menulis
nama berkas di slot nomor 7, menghapus nama berkas yang bau saja diletakkan
oleh proses B. Kemudian proses A menghitung next_free_slot + 1, yang nilainya
8 dan memperbaharui nilai in menjadi 8. Direktori spooler sekarang secara
internal konsisten, sehingga printer daemon tidak akan memberitahukan apa pun
yang terjadi, tetapi poses B tidak akan mengambil output apa pun. Situasi seperti
ini, dimana dua atau lebih proses melakukan proses reading atau writing beberapa
shared data dan hasilnya bergantung pada ketepatan berjalan disebut race
condition.
2.3.2.Critical Regions
Bagaimana menghindari race conditions? Kunci untuk mencegah masalah
ini dan di situasi yang lain yang melibatkan shared memori, shared berkas, and
shared sumber daya yang lain adalah menemukan beberapa jalan untuk mencegah
lebih dari satu proses untuk melakukan proses writing dan reading kepada shared
data pada saat yang sama. Dengan kata lain kita memutuhkan mutual exclusion,
sebuah jalan yang menjamin jika sebuah proses sedang menggunakan shared
berkas, proses lain dikeluarkan dari pekerjaan yang sama. Kesulitan yang terjadi
karena proses 2 mulai menggunakan variabel bersama sebelum proses 1
menyelesaikan tugasnya.
Masalah menghindari race conditions dapat juga diformulasikan secara
abstrak. Bagian dari waktu, sebuah proses sedang sibuk melakukan perhitungan
internal dan hal lain yang tidak menggiring ke kondisi race conditions. Bagaimana
pun setiap kali sebuah proses mengakses shared memory atau shared berkas atau
melakukan sesuatu yang kitis akan menggiring kepada race conditions. Bagian dari
program dimana shaed memory diakses disebut Critical Section atau Critical
Region.
Walau pun dapat mencegah race conditions, tapi tidak cukup untuk
melakukan kerjasama antar proses secara pararel dengan baik dan efisien dalam
menggunakan shared data. Kita butuh 4 kondisi agar menghasilkan solusi yang
baik:
1. Tidak ada dua proses secara bersamaan masuk ke dalam citical section.
2. Tidak ada asumsi mengenai kecepatan atau jumlah cpu.
3. Tidak ada proses yang berjalan di luar critical secion yang dapat
mengeblok proses lain.
4. Tidak ada proses yang menunggu selamamya untuk masuk critical
section.
Berikut adalah gambar dari proses dari Critical Regions
Dari gambar di atas, dijelaskna bahwa, ada 2 proses yang terjadi dalam
pengiriman informasi tersebut, ketika proses A sedang berlangsung, pada waktu
T1, proses A akan memasuki critical regions, pada proses yang lain, yaitu proses
B, pada waktu T1, proses B belum memasuki critical regions, tetapi saat waktu T2,
proses B seharusnya memasuki critical regions, tetapi karena proses A masih
berlangsung pada wilayah terseut, maka proses B di blokir pada wilayah ini. Ketika
waktu T3 proses A sudah keluar dari critical regions, maka, proses B akan masuk
ke dalam critical regions tersebut.
Ketika proses B keluar dari critical regions tersebut pada T4, maka proses
akan kembali seperti semula ketika tidak ada proses yang terjadi di critical regions.

More Related Content

What's hot

Perintah internal dan perintah eksternal dos
Perintah internal dan perintah eksternal dosPerintah internal dan perintah eksternal dos
Perintah internal dan perintah eksternal dosReski Rahayu
 
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik KompilasiP 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik Kompilasiahmad haidaroh
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi PengetahuanSherly Uda
 
Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)Joel Marobo
 
Heuristic search-best-first-search
Heuristic search-best-first-searchHeuristic search-best-first-search
Heuristic search-best-first-searchAMIK AL MA'SOEM
 
Pertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanPertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanwillyhayon
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automataahmad haidaroh
 
Hirarki memori
Hirarki memoriHirarki memori
Hirarki memorimmrifai
 
Pemodelan sistem (DFD)
Pemodelan sistem (DFD)Pemodelan sistem (DFD)
Pemodelan sistem (DFD)Fahmi Hakam
 
Slide6 Arsitektur Hardware
Slide6 Arsitektur HardwareSlide6 Arsitektur Hardware
Slide6 Arsitektur HardwareHz Tena
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linierIzhan Nassuha
 
4 ip address dan subnetting
4 ip address dan subnetting4 ip address dan subnetting
4 ip address dan subnettingBilly Andreas
 
Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Topan Helmi Nicholas
 
Analisis perancangan sistem informasi
Analisis perancangan sistem informasiAnalisis perancangan sistem informasi
Analisis perancangan sistem informasiAinur Rofiq
 

What's hot (20)

Perintah internal dan perintah eksternal dos
Perintah internal dan perintah eksternal dosPerintah internal dan perintah eksternal dos
Perintah internal dan perintah eksternal dos
 
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik KompilasiP 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
 
Sistem File
Sistem FileSistem File
Sistem File
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 
Sistem bus komputer
Sistem bus komputerSistem bus komputer
Sistem bus komputer
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)Perancangan (diagram softekz, dfd level 0,1,2)
Perancangan (diagram softekz, dfd level 0,1,2)
 
Heuristic search-best-first-search
Heuristic search-best-first-searchHeuristic search-best-first-search
Heuristic search-best-first-search
 
Pertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanPertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakan
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
Hirarki memori
Hirarki memoriHirarki memori
Hirarki memori
 
Contoh knn
Contoh knnContoh knn
Contoh knn
 
Pemodelan sistem (DFD)
Pemodelan sistem (DFD)Pemodelan sistem (DFD)
Pemodelan sistem (DFD)
 
3. linear programming kompleks
3. linear programming kompleks3. linear programming kompleks
3. linear programming kompleks
 
Slide6 Arsitektur Hardware
Slide6 Arsitektur HardwareSlide6 Arsitektur Hardware
Slide6 Arsitektur Hardware
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linier
 
4 ip address dan subnetting
4 ip address dan subnetting4 ip address dan subnetting
4 ip address dan subnetting
 
Interupsi
InterupsiInterupsi
Interupsi
 
Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan
 
Analisis perancangan sistem informasi
Analisis perancangan sistem informasiAnalisis perancangan sistem informasi
Analisis perancangan sistem informasi
 

Viewers also liked

Sistem Kendali Quadrotor Berbasis Kinect
Sistem Kendali Quadrotor Berbasis KinectSistem Kendali Quadrotor Berbasis Kinect
Sistem Kendali Quadrotor Berbasis KinectDimy Ferdiana
 
Setelah rasulullah wafat
Setelah rasulullah wafatSetelah rasulullah wafat
Setelah rasulullah wafatZahra Syuhadah
 
Presentasi Aplikasi Hijaukudotcom
Presentasi Aplikasi HijaukudotcomPresentasi Aplikasi Hijaukudotcom
Presentasi Aplikasi HijaukudotcomHizbullah Arief
 
Hijauku.com Company Profile Presentation
Hijauku.com Company Profile PresentationHijauku.com Company Profile Presentation
Hijauku.com Company Profile PresentationHizbullah Arief
 
Pengantar aplikasi komputer
Pengantar aplikasi komputerPengantar aplikasi komputer
Pengantar aplikasi komputerIvon Vintoyo
 
C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)Saifur Rahman
 
Variable sampling untuk pengujian substantif stain salatiga
Variable sampling untuk pengujian substantif stain salatigaVariable sampling untuk pengujian substantif stain salatiga
Variable sampling untuk pengujian substantif stain salatigaahmadpermadi
 
Kertas kerja auditing STAIN Salatiga
Kertas kerja auditing STAIN SalatigaKertas kerja auditing STAIN Salatiga
Kertas kerja auditing STAIN Salatigaahmadpermadi
 
Final project nawazish
Final project nawazishFinal project nawazish
Final project nawazishnawazish ali
 
Imran Khan as a Prime Minister of Pakistan, What could be the consequences
Imran Khan as a Prime Minister of Pakistan, What could be the consequencesImran Khan as a Prime Minister of Pakistan, What could be the consequences
Imran Khan as a Prime Minister of Pakistan, What could be the consequencesnawazish ali
 

Viewers also liked (16)

Sistem Kendali Quadrotor Berbasis Kinect
Sistem Kendali Quadrotor Berbasis KinectSistem Kendali Quadrotor Berbasis Kinect
Sistem Kendali Quadrotor Berbasis Kinect
 
Setelah rasulullah wafat
Setelah rasulullah wafatSetelah rasulullah wafat
Setelah rasulullah wafat
 
Home cise
Home ciseHome cise
Home cise
 
Presentasi Aplikasi Hijaukudotcom
Presentasi Aplikasi HijaukudotcomPresentasi Aplikasi Hijaukudotcom
Presentasi Aplikasi Hijaukudotcom
 
Resume_Linkin
Resume_LinkinResume_Linkin
Resume_Linkin
 
Hijauku.com Company Profile Presentation
Hijauku.com Company Profile PresentationHijauku.com Company Profile Presentation
Hijauku.com Company Profile Presentation
 
Aplikasi komputer
Aplikasi komputerAplikasi komputer
Aplikasi komputer
 
Pengantar aplikasi komputer
Pengantar aplikasi komputerPengantar aplikasi komputer
Pengantar aplikasi komputer
 
BAB I
BAB IBAB I
BAB I
 
Syandes quiz 3
Syandes quiz 3 Syandes quiz 3
Syandes quiz 3
 
C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)
 
Java cheat sheet
Java cheat sheet Java cheat sheet
Java cheat sheet
 
Variable sampling untuk pengujian substantif stain salatiga
Variable sampling untuk pengujian substantif stain salatigaVariable sampling untuk pengujian substantif stain salatiga
Variable sampling untuk pengujian substantif stain salatiga
 
Kertas kerja auditing STAIN Salatiga
Kertas kerja auditing STAIN SalatigaKertas kerja auditing STAIN Salatiga
Kertas kerja auditing STAIN Salatiga
 
Final project nawazish
Final project nawazishFinal project nawazish
Final project nawazish
 
Imran Khan as a Prime Minister of Pakistan, What could be the consequences
Imran Khan as a Prime Minister of Pakistan, What could be the consequencesImran Khan as a Prime Minister of Pakistan, What could be the consequences
Imran Khan as a Prime Minister of Pakistan, What could be the consequences
 

Similar to 2.3 komunikasi antar proses

Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxPertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxYaya610291
 
Komunikasi Antar Proses
Komunikasi Antar ProsesKomunikasi Antar Proses
Komunikasi Antar ProsesSonny Grimaldi
 
Proses dan implementasinya
Proses dan implementasinyaProses dan implementasinya
Proses dan implementasinyaLyna Blue
 
42520042 - NURUL ILMI - BAB 6 SINKRONISASI.pptx
42520042 - NURUL ILMI - BAB 6 SINKRONISASI.pptx42520042 - NURUL ILMI - BAB 6 SINKRONISASI.pptx
42520042 - NURUL ILMI - BAB 6 SINKRONISASI.pptxNurul36409
 
Muhammad Arifin - Proses pada Sistem Operasi
Muhammad Arifin - Proses pada Sistem OperasiMuhammad Arifin - Proses pada Sistem Operasi
Muhammad Arifin - Proses pada Sistem Operasibelajarkomputer
 
Nurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi ProsesNurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi Prosesbelajarkomputer
 
Novita Duri - Poses - proses Sistem Operasi
Novita Duri - Poses - proses Sistem OperasiNovita Duri - Poses - proses Sistem Operasi
Novita Duri - Poses - proses Sistem Operasibelajarkomputer
 
Helen Alida Abilio - Sinkronisasi
Helen Alida Abilio - SinkronisasiHelen Alida Abilio - Sinkronisasi
Helen Alida Abilio - Sinkronisasibelajarkomputer
 
Slide3 manajemen proses
Slide3 manajemen prosesSlide3 manajemen proses
Slide3 manajemen prosesHz Tena
 
Sinkronisasi dan deadlock
Sinkronisasi dan deadlockSinkronisasi dan deadlock
Sinkronisasi dan deadlockAlvin Setiawan
 
Modul pertemuan 2
Modul pertemuan 2Modul pertemuan 2
Modul pertemuan 2Al Cahyadi
 
Jamaludin - Proses pada Sistem Operasi
Jamaludin - Proses pada Sistem OperasiJamaludin - Proses pada Sistem Operasi
Jamaludin - Proses pada Sistem Operasibelajarkomputer
 
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdfDeadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdfARYAPUTRAABSHARI
 
Analisis permasalahan salinan data berganda
Analisis permasalahan salinan data bergandaAnalisis permasalahan salinan data berganda
Analisis permasalahan salinan data bergandaImmank Go
 

Similar to 2.3 komunikasi antar proses (20)

Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxPertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
 
Komunikasi Antar Proses
Komunikasi Antar ProsesKomunikasi Antar Proses
Komunikasi Antar Proses
 
Os ppt.6
Os ppt.6Os ppt.6
Os ppt.6
 
Pert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlockPert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlock
 
Proses dan implementasinya
Proses dan implementasinyaProses dan implementasinya
Proses dan implementasinya
 
42520042 - NURUL ILMI - BAB 6 SINKRONISASI.pptx
42520042 - NURUL ILMI - BAB 6 SINKRONISASI.pptx42520042 - NURUL ILMI - BAB 6 SINKRONISASI.pptx
42520042 - NURUL ILMI - BAB 6 SINKRONISASI.pptx
 
Muhammad Arifin - Proses pada Sistem Operasi
Muhammad Arifin - Proses pada Sistem OperasiMuhammad Arifin - Proses pada Sistem Operasi
Muhammad Arifin - Proses pada Sistem Operasi
 
Pengelolaan Proses.pptx
Pengelolaan Proses.pptxPengelolaan Proses.pptx
Pengelolaan Proses.pptx
 
Nurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi ProsesNurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi Proses
 
Novita Duri - Poses - proses Sistem Operasi
Novita Duri - Poses - proses Sistem OperasiNovita Duri - Poses - proses Sistem Operasi
Novita Duri - Poses - proses Sistem Operasi
 
Helen Alida Abilio - Sinkronisasi
Helen Alida Abilio - SinkronisasiHelen Alida Abilio - Sinkronisasi
Helen Alida Abilio - Sinkronisasi
 
Slide3 manajemen proses
Slide3 manajemen prosesSlide3 manajemen proses
Slide3 manajemen proses
 
Pertemuan ke 3
Pertemuan ke 3Pertemuan ke 3
Pertemuan ke 3
 
Sinkronisasi dan deadlock
Sinkronisasi dan deadlockSinkronisasi dan deadlock
Sinkronisasi dan deadlock
 
Modul pertemuan 2
Modul pertemuan 2Modul pertemuan 2
Modul pertemuan 2
 
So1
So1So1
So1
 
Pertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_okPertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_ok
 
Jamaludin - Proses pada Sistem Operasi
Jamaludin - Proses pada Sistem OperasiJamaludin - Proses pada Sistem Operasi
Jamaludin - Proses pada Sistem Operasi
 
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdfDeadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
 
Analisis permasalahan salinan data berganda
Analisis permasalahan salinan data bergandaAnalisis permasalahan salinan data berganda
Analisis permasalahan salinan data berganda
 

Recently uploaded

Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfssuser40d8e3
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptxAnnisaNurHasanah27
 

Recently uploaded (9)

Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdf
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
 

2.3 komunikasi antar proses

  • 1. 2.3. Komunikasi Antar Proses (Interprocess Communication) Interprocess Communication (IPC) atau Komunikasi antar proses adalah komunikasi antar proses untuk mengirim data dari satu proses ke proses yang lain, baik antar proses dalam satu komputer maupun proses dalam komputer yang berbeda. Ada 3 isu utama pada komunikasi antar proses, isu tersebut adalah 1. Bagaimana satu proses dapat menyampaikan informasi ke satu yang lain 2. Memastikan kedua atau lebih proses tidak salah dalam memasuki jalan proses yang sudah dibuat ketika sedang terlaksana proses pengiriman informasi tersebut 3. Pengurutan data secara tepat (sequencing) ketika suatu keadaan dependensi (keadaan bergantung pada yang lain) hadir: Jika proses A adalah menghasilkan, dan B adalah mencetaknya, maka B harus menungggu sampai A selesai dalam memproduksi suatu informasi data sebelum B memulai untuk menyetaknya. 2.3.1. Race Condition Race condition adalah suatu kondisi dimana dua atau lebih proses mengakses shared storage/sumber daya pada saat yang bersamaan dimana salah satu diantaranya dapat membaca dan menulis/membuat suatu data. Shared Storage mungkin akan berada pada memori utama (mungkin juga pada kernel struktur data) atau juga menjadi sebuah shared file dimana lokasi file yang akan dibagikan tidak berubah sehingga menjadi masalah baru yang akan muncul. Sebagai contoh dari Race Condition adalah proses cetak dokumen menggunakan printer. Ketika ingin melakukan proses cetak dokumen, maka printer membaca sebuah nama dokumen yang akan dicetak. Nama tersebut akan disimpan printer, proses yang lain adalah, printer secara berkala melakukan cek file mana yang akan di print, jika ada nama dokumen yang sudah terbaca oleh printer, maka printer kan mencetak file tersebut. Proses tersebut berjalan secara
  • 2. berurutan sehingga terjadi proses read and write data. Dibawah ini adalah gambaran skema proses dari contoh printer. Dalam Murphy’s Law kasus tesebut dapat terjadi. Proses A membaca in dan menyimpan nilai "7" di sebuah variabel lokal yang disebut next_free_slot. Sebuah clock interrupt terjadi dan CPU memutuskan bahwa proses A berjalan cukup lama, sehingga digantika oleh proses B. Proses B juga membaca in, dan juga mengambil nilai 7, sehingga menyimpan nama berkas di slot nomor 7 dan memperbaharui nilai in menjadi 8. Maka proses mati dan melakukan hal lain. Akhirnya proses A berjalan lagi, dimulai dari tempat di mana proses tersebut mati. Hal ini terlihat dalam next_free_slot, ditemukan nilai 7 di sana, dan menulis nama berkas di slot nomor 7, menghapus nama berkas yang bau saja diletakkan oleh proses B. Kemudian proses A menghitung next_free_slot + 1, yang nilainya 8 dan memperbaharui nilai in menjadi 8. Direktori spooler sekarang secara internal konsisten, sehingga printer daemon tidak akan memberitahukan apa pun yang terjadi, tetapi poses B tidak akan mengambil output apa pun. Situasi seperti ini, dimana dua atau lebih proses melakukan proses reading atau writing beberapa shared data dan hasilnya bergantung pada ketepatan berjalan disebut race condition.
  • 3. 2.3.2.Critical Regions Bagaimana menghindari race conditions? Kunci untuk mencegah masalah ini dan di situasi yang lain yang melibatkan shared memori, shared berkas, and shared sumber daya yang lain adalah menemukan beberapa jalan untuk mencegah lebih dari satu proses untuk melakukan proses writing dan reading kepada shared data pada saat yang sama. Dengan kata lain kita memutuhkan mutual exclusion, sebuah jalan yang menjamin jika sebuah proses sedang menggunakan shared berkas, proses lain dikeluarkan dari pekerjaan yang sama. Kesulitan yang terjadi karena proses 2 mulai menggunakan variabel bersama sebelum proses 1 menyelesaikan tugasnya. Masalah menghindari race conditions dapat juga diformulasikan secara abstrak. Bagian dari waktu, sebuah proses sedang sibuk melakukan perhitungan internal dan hal lain yang tidak menggiring ke kondisi race conditions. Bagaimana pun setiap kali sebuah proses mengakses shared memory atau shared berkas atau melakukan sesuatu yang kitis akan menggiring kepada race conditions. Bagian dari program dimana shaed memory diakses disebut Critical Section atau Critical Region. Walau pun dapat mencegah race conditions, tapi tidak cukup untuk melakukan kerjasama antar proses secara pararel dengan baik dan efisien dalam menggunakan shared data. Kita butuh 4 kondisi agar menghasilkan solusi yang baik: 1. Tidak ada dua proses secara bersamaan masuk ke dalam citical section. 2. Tidak ada asumsi mengenai kecepatan atau jumlah cpu. 3. Tidak ada proses yang berjalan di luar critical secion yang dapat mengeblok proses lain. 4. Tidak ada proses yang menunggu selamamya untuk masuk critical section.
  • 4. Berikut adalah gambar dari proses dari Critical Regions Dari gambar di atas, dijelaskna bahwa, ada 2 proses yang terjadi dalam pengiriman informasi tersebut, ketika proses A sedang berlangsung, pada waktu T1, proses A akan memasuki critical regions, pada proses yang lain, yaitu proses B, pada waktu T1, proses B belum memasuki critical regions, tetapi saat waktu T2, proses B seharusnya memasuki critical regions, tetapi karena proses A masih berlangsung pada wilayah terseut, maka proses B di blokir pada wilayah ini. Ketika waktu T3 proses A sudah keluar dari critical regions, maka, proses B akan masuk ke dalam critical regions tersebut. Ketika proses B keluar dari critical regions tersebut pada T4, maka proses akan kembali seperti semula ketika tidak ada proses yang terjadi di critical regions.