데이터를 교환할 때, 파이프로 교환하는거랑 /dev/xxxx 로 교환하는거랑 어떤 차이가 있는지요?
글쓴이: cococo / 작성시간: 수, 2007/03/28 - 5:51오후
제목 그대로입니다.
전에는 프로세스간에 데이터를 보낼 때 주로 파이프로 데이터를 교환했는데요.
가만 생각해보니깐... mknod 해서 /dev/에 적당한 디바이스 만들고, 그걸 매개체로 교환해도 되지 않을까...하는 생각이 갑자기 들어서요. 예를 들면
#mknod /dev/pipedev c 1 2
하고나서 소스에
fd = open("/dev/pipedev" );
write(fd, buf, 10);
뭐 이렇게요.
저걸, 파이프로 하는거랑 mknod로 하는거랑 어떤 차이가 있는지요? 속도 면이라던가, 메모리 면이라던가.. mknod가 아닌 pipe가 책에 많이, 자주 나오는 게 무슨 까닭이 있을 것 같긴 한데요. -_-;
차이가 있는지 없는지도 잘 모르겠구요. 있다면 어떤 차이가 있는지..
아시는 분은 답변 주시면 대단히 감사하겠습니다.
그럼, 좋은 하루 되세요. -_-;
Forums:
속도나 메모리
속도나 메모리 면에서는 잘 모르겠습니다만....
named pipe 라고 말씀하신 방법과 비슷하게 사용하는 pipe도 존재합니다.
named pipe와 anonymous pipe의 차이점이라면...
정적이고 동적인것의 차이겠지요.
정적인 named pipe는 만약 동일한 프로세스가 여럿 생길 경우.....
하나의 파이프를 여러 프로그램이 공유하게 되지만....
동적인 anonymous pipe는 부모 자식 프로세스 간에만
서로 공유하게 되는 점이 다릅니다.
------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!
------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!
댓글 달기