C & C++/C

[Linux] fcntl.h와 unistd.h

Razelo 2021. 9. 14. 21:48

매번 include하여 사용했는데 왜 쓰는지 몰랐던 헤더가 있다.

바로 fcntl.h와 unistd.h이다. 

 

두 파일 모두 C POSIX 라이브러리 헤더 파일이다. C POSIX 라이브러리는 C 표준 라이브러리 POSIX에 대한 시스템 사양이다. 

ANSI C 의 표준으로 동시에 개발되어다. 

 

두 헤더 모두 C POSIX 라이브러리 헤더 파일 중 하나이다. 

 

fcntl.h: 파일을 열고, 잠금 및 다른 작업을 할 수 있음

unistd.h: 다양한 필수 POSIX 함수와 상수

 

fcntl.h에 대해서 조금 더 살펴보면

파일 및 레코드 잠금을 구현하는 시스템 호출이라고 한다. 

읽기 잠금을 통해 여러 프로세스가 공유 가능한 읽기 잠금

쓰기 잠금을 통해 한 프로세스만이 가질 수 있는 쓰기 잠금이 가능하다고 한다. 

 

open시스템 호출과 close 시스템 호출을 쓰기 위해 사용한다고만 알고 있었는데 파일의 레코드 잠금을 구현할 수 있는 다른 기능이 더 있는 것으로 보인다.  https://junmung.tistory.com/8 이 블로그가 도움이 될 수 있겠다. 

 

unistd.h의 경우 read와 write를 쓰기 위해 include해주었다고 이해하면 편하다. 

https://wonillism.tistory.com/151 이 블로그가 도움이 될 수 있겠다. 

반응형