POSIX (Portable Operating System Interface) 는 이식 가능 운영 체제 인터페이스를 의미하는 표준입니다.
POSIX.1 (IEEE Std 1003.1): 시스템 API 표준
- 파일 및 디렉터리 조작 (예:
open
,read
,write
,close
,mkdir
,rmdir
등)- 프로세스 관리 (예:
fork
,exec
,wait
,exit
등)- 신호 처리 (예:
signal
,kill
등)- 파이프와 FIFO (예:
pipe
,mkfifo
등)POSIX.1b: 실시간 확장
- 실시간 신호
- 실시간 프로세스 우선순위 및 스케줄링
- 공유 메모리 및 메시지 큐
POSIX.1c: 스레드 확장 (pthread)
- 스레드 생성 및 관리 (예:
pthread_create
,pthread_join
등)- 동기화 기법 (예: 뮤텍스, 조건 변수 등)
- 스레드 로컬 저장소 (예:
pthread_key_create
,pthread_setspecific
등)POSIX.2 (IEEE Std 1003.2): 명령어 및 유틸리티 표준
- 셸 및 스크립트 언어 표준 (예:
sh
,awk
,sed
등)- 표준 유닉스 명령어 (예:
ls
,cp
,mv
,grep
등)
posix를 준수하는 시스템에서는 동일하게 컴파일되고 사용할 수 있다.
동일한 API를 제공하기 때문에 운영 체제에 의존하거나 종속되지 않고 개발을 할 수 있다
어떤 시스템에서든지 시스템 콜이나 라이브러리의 동작이 일관되기 때문에 코드의 동작이나 결과를 예상하면서 개발하고 유지 보수 할 수 있다