Ada 2 cara untuk menggunakan shared memory, yaitu :
- Menggunakan mmap()
- Menggunakan shmget() -> lebih populer
Langkah - langkah membuat shared memory :
- Membuat segment di memory dengan shmget()
Mendaftarkan (attach) segment ke data space dari proses dengan shmat()
Tulis/Baca dari memori
Detach segment dari data space dari proses dengan shmdt()
Penjelasan fungsi :
1. shmget();
System call untuk membuat suatu segmen shared memory
#include <sys/ipc.h>
#include <sys/shm.h>
int shmget(key_t key, size_t size, int shmflg);
2. shmat();
System call untuk mendaftarkan segment shared memory ke dalam data space dari suatu proses
#include <sys/types.h>
#include <sys/shm.h>
void *shmat(int shmid, const void *shmaddr, int shmflg);
System call untuk melepaskan shared memory segment dari data space dari proses.
#include <sys/types.h>
#include <sys/shm.h>
int shmdt(const void *shmaddr);
4. shmctl();
System call untuk mengetahui atau merubah informasi yang berkaitan dgn suatu shared memory
#include <sys/ipc.h>
#include <sys/shm.h>
int shmctl(int shmid, int cmd, struct shmid_ds *buf);
Argument cmd bisa berisi :
Program Tambahan untuk IPC
Ada 2 program tambahan yang berguna untuk melihat apa yang terjadi pada IPC yang dibuat :
- ipcs
Menyediakan informasi yang berkaitan dengan IPC yang sedang digunakan (message queue, shared memory, semaphore)
- ipcrm
Menghapus IPC tertentu (message queue, shared memory, semaphore)
0 komentar:
Posting Komentar