Selamat siang temen2, jadi kali ini kita akan bahas tentang IPC. Apa itu IPC, inter process communication, yang artinya tiap program yang kita buat dapat berkomunikasi dengan program lain. Sehingga antar satu program dan program lain dapat saling berhubungan dan mengirimkan hasilnya untuk diproses satu sama lain.
Nah, bagaimana caranya? Pertama kita akan mempelajari tentang PID, apa itu PID? PID dapat dianalogikan sebagai nomor yang unique dari setiap proses. Setiap prosess selalu memiliki pid, dan satu sama lain selalu memiliki pid yang berbeda. Lalu, setiap process juga memiliki parent process. Apa itu parent proses? parent proses adalah proses yang merupakan dari induk proses yang berjalan pada saat ini.
Ada 3 cara untuk membuat proses anak :
- Fungsi system() (tidak disarankan, sebab antar operating system memiliki fungsi system yang berbeda)
- fungsi fork() (return value dari fork ini akan memnentukan proses sedang berjalan dimana, >0 ada di parent proses, =0 di child proses, <0 berarti gagal dibuat)
- Fungsi exec() (Mengganti program yang sedang berjalan pada suatu proses)
nah apa hubungannya IPC denga Pid? untuk berkomunikasi antar program, maka dibutuhkan id dari tiap proses yang berjalan, dan Pid ini yang menjadi Id tersebut. Nah, salah satu komunikasi yang sering digunakan pada IPC adalah signal. Signual merupakan sebuah event yang dikirimkan ke suatu proses oleh proses itu sendiri atau proses lain. Signal digunakan untuk mengirimkan notifikasi kepada suatu proses bahwa ada suatu event. Berikut beberapa signal yang populer:
- SIGKILL : mengakhiri eksekusi program sekarang juga
- SIGTERM : mengakhiri eksekusi program
- SIGSEGV : diterima ketika program melakukan segmentation violation
- SIGSTOP : menghentikan sementara suatu proses sekarang juga
- SIGCONT : melanjutkan kembali program yang di-stop
- SIGINT : interrupt ke suatu proses
No comments:
Post a Comment