이 름
fifo − 명 명 된 파 이 프 로 서 , First-In, First-Out 특 수 파 일 임 .
설 명
FIFO 특 수 파 일 은 , 파 일 시 스 템 의 일 부 로 서 액 세 스 된 다 는 점 을 제 외 하 고 는 파 이 프 와 유 사 하 다 . FIFO는 읽 기 혹 은 쓰 기 위 한 다 중 프 로 세 스 들 에 의 해 열 려 진 다 . 프 로 세 스 들 이 데 이 터 를 FIFO를 통 해 교 환 할 때 , 커 널 은 모 든 데 이 터 를 파 일 시 스 템 에 작 성 하 지 않 고 , 내 부 로 전 달 한 다 . 따 라 서 FIFO 특 수 파 일 은 파 일 시 스 템 에 아 무 런 내 용 도 갖 고 있 지 않 고 , 프 로 세 스 들 이 파 일 시 스 템 에 서 이 름 을 사 용 하 여 파 이 프 를 액 세 스 할 수 있 도 록 파 일 시 스 템 기 재 사 항 은 단 지 참 조 포 인 트 로 서 서 비 스 한 다 .
커 널 은 최 소 하 나 의 프 로 세 스 에 의 해 열 리 는 개 별 FIFO 특 수 파 일 에 대 한 하 나 의 파 이 프 객 체 를 관 리 한 다 . FIFO는 데 이 터 가 패 스 되 기 전 에 , 읽 기 와 쓰 기 의 두 가 지 목 적 으 로 열 려 야 한 다 . 보 통 다 른 FIFO 블 록 을 연 다 .
프 로 세 스 는 FIFO를 블 록 킹 이 아 닌 모 드 에 서 열 수 있 다 . 이 경 우 , 비 록 어 느 누 구 도 쓰 기 측 면 에 서 열 지 는 않 았 지 만 , 오 직 읽 기 를 위 해 여 는 것 은 성 공 할 것 이 다 . 이 미 다 른 쪽 이 이 미 열 렸 다 면 , 오 직 쓰 기 만 을 위 해 여 는 것 은 ENXIO(그 러 한 장 치 나 주 소 없 음 )과 함 께 실 패 할 것 이 다 .
리 눅 스 에 서 읽 기 와 쓰 기 를 위 해 FIFO를 여 는 것 은 블 록 킹 모 드 나 , 블 록 킹 이 아 닌 모 두 에 서 가 능 하 다 . POSIX는 이 를 정 의 되 지 않 은 형 태 로 남 겨 두 었 다 .
아 무 도 읽 지 못 하 는 동 안 , 이 는 쓰 기 를 위 해 FIFO를 여 는 데 사 용 될 수 있 다 . 자 체 커 뮤 니 케 이 션 을 위 해 연 결 에 두 끝 을 사 용 하 는 프 로 세 스 는 DEADLOCK을 피 하 는 데 매 우 주 의 해 야 한 다 .
주 의
프 로 세 스 가 다 른 측 면 에 서 읽 기 를 위 해 열 리 지 않 는 FIFO를 작 성 하 려 고 할 때 , 프 로 세 스 는 SIGPIPE 시 그 널 이 보 내 진 다 .
FIFO 특
수 파 일 들 은 .BR mkfifo
(3)에 의 해 만 들 어
질 수 있 고 , 특 히 .IR
"ls -l"에 서 보 인
다 .
.
관 련 항 목
mkfifo(3), mkfifo(1), pipe(2), socketpair(2), open(2), signal(2), sigaction(2)