1. 공유메모리(shared memory) 기법
- 커널 영역에 메모리 공간을 만들고, 해당 공간을 변수처럼 쓰는 방식
- message queue처럼 FIFO 방식이 아니라, 해당 메모리 주소를 마치 변수처럼 접근하는 방식
- 공유 메모리의 key를 가지고, 여러 프로세스가 접근 가능
2. 공유메모리 예제 코드
a) 공유메모리 생성 및 주소 얻기
shmid = shmget((key_t)1234, SIZE, IPC_CREAT|0666))
// shmid = shared memory id
shmaddr = shmat(shmid, (void *)0, 0)
// shmaddr = shared memory address
b) 공유 메모리에 쓰기
strcpy((char *)shmaddr, "Linux Programming")
c) 공유 메모리에서 읽기
printf("%s\n", (char *)shmaddr)
'컴퓨터공학기초 개념 > 운영체제' 카테고리의 다른 글
23. 코드를 통한 프로세스 실행과정의 이해 (0) | 2021.04.28 |
---|---|
22. 프로세스 - IPC 기법(signal, socket) (0) | 2021.04.27 |
20. 프로세스 - IPC 기법(메세지 큐) (0) | 2021.04.23 |
19. 프로세스 - IPC 기법(파일, 파이프) (0) | 2021.04.22 |
18. 프로세스 - IPC의 개념 (0) | 2021.04.21 |
댓글