본문 바로가기
computer

ipcs / 공유 메모리

by 유순이 2021. 7. 7.

ipcs

: 커널 공간에 어떤 IFC가 생성되어 있는 지 확인하는 명령어

 


shared memory

: kernel에 메모리 공간을 만들고, 해당 공간을 변수처럼 쓰는 방식

 

해당 메모리 주소를 변수처럼 사용한다.

공유 메모리의 key를 가지고 여러 프로세스가 접근 가능하다.

 

공유 메모리 키 생성

int shmget(key_t key, size_t size, int shmflg);

(이걸 shmid에 넣으면 된다.)

 

공유 메모리 연결

int *shmat (int shmid, const void *shmaddr, int shmflg)

//shmid : shmget으로 생성한 식별자

//shmaddr : 연결 주소 (char *(NULL) 로 생성하면 알아서 찾아간다.)

//shmflg

//리턴값 : 성공 시 연결된 공유 메모리의 시작 주소를 리턴한다.

 

공유 메모리 해제

int shmdt(char *shmaddr);

 

공유 메모리 읽기

printf("%s\n", (char *)shmaddr);

 

공유 메모리 쓰기

strcpy((char *)shmaddr, "Linux Programming");

 

공유 메모리 삭제

int shmctl(int shmid, int cmd, struct shmid_ds *buf);

 

 

'computer' 카테고리의 다른 글

쉘 스크립트  (0) 2021.07.07
시그널  (0) 2021.07.07
IPC 기법  (0) 2021.07.06
프로세스 스케쥴링  (0) 2021.07.06
프로세스 종료: exit  (0) 2021.07.06

댓글