익명 파이프

Anonymous pipe

컴퓨터 과학에서 익명 파이프는 단방향 프로세스 간 통신(IPC)에 사용할 수 있는 단순한 FIFO 통신 채널입니다.구현은 종종 운영 체제의 파일 IO 하위 시스템에 통합됩니다.일반적으로 상위 프로그램은 익명 파이프를 열고 파이프의 다른 끝을 상속하는 새 프로세스를 생성하거나 여러 새 프로세스를 생성하여 파이프라인에 정렬합니다.

전이중(양방향) 통신에는 통상 2개의 어나니머스 파이프가 필요합니다.

파이프라인은 Unix 및 DOS 이후 가장 일반적인 운영 체제에서 지원되며 ""를 사용하여 생성됩니다. 여러 개의 껍질 속에 있는 문자.

유닉스

파이프라인은 많은 기존 Unix 응용 프로그램의 중요한 부분이며 대부분의 Unix 유사 운영 체제에 잘 통합되어 있습니다.파이프는 다음 명령을 사용하여 생성됩니다.pipe system call: 새 파이프를 생성하여 파이프의 읽기 및 쓰기 끝을 참조하는 파일 기술자 쌍을 반환합니다.기존의 많은 Unix 프로그램은 파이프에 대한 필터로 설계되어 있습니다.

Microsoft Windows

Windows API의 다른 많은 디바이스 IO 및 IPC 퍼실리티와 마찬가지로 익명 파이프는 IO 퍼실리티 고유의 API 기능으로 생성 및 구성됩니다.이 경우CreatePipe는 파이프의 읽기 및 쓰기 끝에 별도의 핸들이 있는 익명 파이프를 작성하는 데 사용됩니다.파이프의 읽기 및 쓰기 IO 작업은 표준 IO facility API 기능을 사용하여 수행합니다.ReadFile그리고.WriteFile.

Microsoft Windows 에서는, 익명 파이프에의 읽기 및 쓰기는 항상 [1]차단됩니다.즉, 빈 파이프에서 읽으면 적어도1바이트를 사용할 수 있게 되거나 파이프의 쓰기 핸들이 닫힌 결과로서 파일 종료를 수신할 때까지 호출 스레드가 대기합니다.마찬가지로 전체 파이프에 쓰기를 하면 쓰기 중인 데이터를 저장하기 위한 공간이 확보될 때까지 호출 스레드가 대기합니다.읽기는 요청된 바이트 수보다 적은 값으로 반환될 수 있습니다(짧은 읽기라고도 함).

새 프로세스는 생성 프로세스에서 익명 파이프에 핸들을 상속할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  • 하트, 존슨 M.Windows System Programming, Third Edition.애디슨 웨슬리, 2005년 ISBN0-321-25619-0
  • "pipe(7) - Linux man page". Archived from the original on 23 March 2010. Retrieved 2010-02-27.

메모들

  1. ^ "Anonymous Pipe Operations". MSDN. Retrieved 2010-02-27. Asynchronous (overlapped) read and write operations are not supported by anonymous pipes.