반응형

IPC 2

System V 공유메모리 시스템 콜

/* * http://sosal.tistory.com/ * made by so_Sal */ System V IPC 시스템콜은 프로세스간의 통신을 말한다. 우선 여기서 다룰 shm* 계열 함수들은 Shared memory 를 이용한 communication models 계열로 정의된다. (pipe , socket 등은 Message passing model 이다.) 그림 : (a) : Message passing. 그림 : (b) : Shared memory. (a)는 커널이 Responsible하게 관리하므로 좀더 안전하다고 볼 수 있다. (b)는 커널은 전혀 관여하지 않고 오로지 프로그래머에게 전적으로 책임이 있게 되는데 보안에 취약하며 굉장히 strict 하게 구현되는것을 요구한다. shmget : ..

IPC - 03. pipe() 를 통한 프로세스 통신

/* * http://sosal.tistory.com/ * made by so_Sal */ 각각의 프로세스는 독립적인 메모리 영역을 가지고 있다. fork() 함수를 쓰더라도, 그 이전의 변수들이 복사되는 것일 뿐, 부모 프로세스와 자식 프로세스가 그 변수를 공유한다던가, 정보를 주고받는 행동은 방법이 없었다. 동시에 2개의 프로그램을 실행시키는데, 변수를 공유하려면 어떻게 해야할까? 공유메모리 기법을 쓰는 방법이 있고, pipe를 통해 변수를 공유한다기 보다 정보를 주고 받는 방법이 있다. 여기 포스팅되는 글은 단순히 buffer를 주고받을 수 있는 pipe에 대해서 설명하려 합니다. 부모프로세스에서 buffer 문자열을 자식프로세스에게 줄 수 있고, 자식 프로세스 역시 답장 가능입니다. ㅋ (아참, ..

반응형