728x90
반응형

파이프 2

UNIX - [PIPE - 2]

FIFO pipe는 동일 ancestor를 갖는 프로세스들만 연결 가능. fifo는 모든 프로세스들을 연결 가능. UNIX의 file 이름을 부여 받는다. 소유자, 크기, 연관된 접근 허가를 가진다. 일반 file처럼, open, close, read, write, remove가 가능하다. fifo는 pipe와 다르게 UNIX의 파일 이름을 부여 받는다. 따라서 파일처럼 여러 권한 설정과 파일 크기를 가지고, open, close, read, write, remove 등의 시스템 콜을 사용 가능하다. 사용법 fifo 만들기 #include #include int mkfifo(const char *pathname, mode_t mode); // mode는 보통 0666으로 그냥 줌 → fifo open (..

UNIX - [PIPE]

유닉스의 프로세스 간 통신 방법 즉 IPC 통신에는 PIPE가 있다. PIPE란 이름처럼 두 프로세스 간에 데이터가 오고 가는 관. 즉 영어로 파이프를 생성해서 두 프로세스가 데이터를 주고받는 방법이다. 이 파이프는 fifo의 성질을 띄고있으며 단방향 통신이라는 특징이 있다. 파이프는 read와 write 시스템 콜을 이용해서 데이터를 주고받으며, 기본적으로 blocking read/ blocking write를 사용한다. 파이프를 이용해서 프로세스간 동기화 작업을 수행할 수 있으며, 프로세스 간 서버와 클라이언트의 동작을 구현할 수 있다. pipe 만들기 #include int pipe(int filedes[2]); → filedes[0] : 읽기용 → filedes[1] : 쓰기용 → 성공시 0, 실..

728x90
반응형